lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] "pack dropped, no space" after 7 hrs and 35 min


From: santosh_ts
Subject: Re: [lwip-users] "pack dropped, no space" after 7 hrs and 35 min
Date: Tue, 30 Jul 2019 22:33:10 -0700 (MST)

How many packets have you sent in that time?
> It sent almost 21910101 packets.
  
How many packet buffers have you allocated?  
>I have allocated 30 bytes.
> st_psnd_UDP1 = pbuf_alloc(PBUF_TRANSPORT, 30, PBUF_RAM);// Tried with
> 30,8,9
<http://lwip.100.n7.nabble.com/file/t2266/Capture.png> 
#define MEM_ALIGNMENT 64
#define MEM_SIZE 524288
#define MEMP_NUM_PBUF 1024 //16 // 32 // 64 // 512
#define MEMP_NUM_UDP_PCB 20 //4 // 10
#define MEMP_NUM_TCP_PCB 32
#define MEMP_NUM_TCP_PCB_LISTEN 8
#define MEMP_NUM_TCP_SEG 256
#define MEMP_NUM_SYS_TIMEOUT 8
#define MEMP_NUM_NETBUF 8
#define MEMP_NUM_NETCONN 16
#define MEMP_NUM_TCPIP_MSG_API 16
#define MEMP_NUM_TCPIP_MSG_INPKT 64

#define MEMP_NUM_SYS_TIMEOUT 8
#define PBUF_POOL_SIZE 16384
#define PBUF_POOL_BUFSIZE 1700
#define PBUF_LINK_HLEN 16
#define ARP_TABLE_SIZE 10
#define ARP_QUEUEING 1

At what rate are you attempting to send these UDP packets?  
>I tried to send packets with 10 ms duration and 100ms duration, in both
cases it stopped transmitting after 7 hrs 35 min.

Is there anything else that happens at 7 hours and 35 minutes?
>I have configured 8 ports(AXI Ethernet) and PS Ethernet in Zynq evaluation
board.I am sending packets on all 8 AXI Ethernet ports periodically .

> I am getting error in below function as i am AXI Ethernet.
static err_t low_level_output_axi(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)
        {
                b_Reset = TRUE;

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

        SYS_ARCH_UNPROTECT(lev);
        return err;
}

i tried to reset the FIFO after i get  pack dropped, no space
low_level_output error, but still i am not able to see transmission. 

What other network activity or protocols are active at the same time?
> Once packets are stopped transmitting from board , i can see
> ICMPv6,IGMPv3,MDNS, SSDP in the trace.
  
Can you provide a packet trace file? 
>I have attached the snapshot

I took the reference from git hub to build this project belowo is the link
https://github.com/fpgadeveloper/ethernet-fmc-axi-eth



--
Sent from: http://lwip.100.n7.nabble.com/lwip-users-f3.html



reply via email to

[Prev in Thread] Current Thread [Next in Thread]