UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Participant santosh_ts
Participant
161 Views
Registered: ‎01-02-2019

"pack dropped, no space" after transmitting for 7.35 hrs every 10ms

Hello all,

I am transmitting UDP packets every 10ms on all 8 ports using FMC connector . I have used FIFO in vivado design.

The starnge issue is after 7.35 hrs of duration i am getting Pack dropped no space error in the function 

static err_t low_level_output(struct netif *netif, struct pbuf *p)

{
SYS_ARCH_DECL_PROTECT(lev);
err_t err;
struct xemac_s *xemac = (struct xemac_s *)(netif->state);
xaxiemacif_s *xaxiemacif = (xaxiemacif_s *)(xemac->state);

#ifdef XLWIP_CONFIG_INCLUDE_AXI_ETHERNET_DMA
/*
* With AXI Ethernet on Zynq, we observed unexplained delays for
* BD Status update. As a result, we are hitting a condition where
* there are no BDs free to transmit packets. So, we have added
* this logic where we look for the status update in a definite
* loop.
*/
XAxiDma_BdRing *txring = XAxiDma_GetTxRing(&xaxiemacif->axidma);
#endif
int count = 100;

SYS_ARCH_PROTECT(lev);

while (count)
{

/* check if space is available to send */
if (is_tx_space_available_axi(xaxiemacif))
{
_unbuffered_low_level_output_axi(xaxiemacif, p);
pbuf_free(p); // added
err = ERR_OK;
break;
}
else
{
#if LINK_STATS
lwip_stats.link.drop++;
#endif
#ifdef XLWIP_CONFIG_INCLUDE_AXI_ETHERNET_DMA
process_sent_bds_axi(txring);
#endif
count--;
}
}

if (count == 0)
{
print("pack dropped, no space low_level_output_axi\r\n");
err = ERR_MEM;
}

SYS_ARCH_UNPROTECT(lev);
return err;
}

Can anyone please help me out why i am getting this error ?

 

Thank you all in advance.

0 Kudos