sim/netdev: eliminated RX data stream congestion in case of high TX network traffic.

In case of high TX network traffic, netdriver_loop() that reads data from netdev
was invoked via up_idle() only after high TX network traffic had stopped.
That resulted in massive delay and drop of TCP ACK packets and
any other packets from netdev (tun/tap device).
This commit is contained in:
Alexander Lunev 2022-01-14 11:22:58 +03:00 committed by Xiang Xiao
parent 09bf8a5f89
commit 019fc0ad78

View File

@ -315,6 +315,12 @@ static int netdriver_txavail(FAR struct net_driver_s *dev)
work_queue(LPWORK, &g_avail_work, netdriver_txavail_work, dev, 0);
}
/* Check RX data availability and read the data from the network device now
* to prevent RX data stream congestion in case of high TX network traffic.
*/
netdriver_loop();
return OK;
}