raiden00pl opened a new pull request, #20614: URL: https://github.com/apache/nuttx/pull/20614
## Summary The RX path replaced the packet of a received frame with a new one from netpkt_alloc() and called PANIC() when that failed. netpkt_alloc() fails whenever the IOB pool is used up, e.g. when a node sending bulk TCP data holds the IOBs in its write buffers while ACKs come in, so the system crashed under load (seen with e1000 on qemu-intel64 with iperf). Drop the frame instead and give its packet back to the descriptor, together with the other received frames in the ring, so that the ring keeps receiving and the next interrupt starts a new RX poll. One pass over the ring at most, so that the stack can run and free packets. ## Impact dont crash the system when descriptors are exhausted ## Testing qemu-intel64 with high load on NIC -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
