a-lunev opened a new pull request #5226: URL: https://github.com/apache/incubator-nuttx/pull/5226
## Summary Fixed an issue with 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). As a result, TCP throughput on Linux host achieves 234 Mbits/sec. ## Impact arch/sim/netdev(tun/tap) ## Testing Build NuttX: ``` $ ./tools/configure.sh -l sim:tcpblaster $ make menuconfig (enable CONFIG_NETUTILS_NETCAT_SENDFILE, disable CONFIG_NET_TCP_WRITE_BUFFERS) $ make ``` Enable TUN/TAP on Linux host: ``` $ sudo setcap cap_net_admin+ep ./nuttx $ sudo ./tools/simhostroute.sh wlan0 on ``` Run iperf server on Linux host: `$ iperf -s -p 5471 -i 1 -w 416K` Run NuttX on Linux host: ``` $ ./nuttx NuttShell (NSH) NuttX-10.2.0 nsh> ifconfig eth0 10.0.1.2 nsh> ifup eth0 ifup eth0...OK nsh> dd if=/dev/zero of=/tmp/test.bin count=10000 nsh> netcat LINUX_HOST_IP_ADDRESS 5471 /tmp/test.bin nsh> poweroff ``` iperf on Linux host: ``` $ iperf -s -p 5471 -i 1 -w 416K ------------------------------------------------------------ Server listening on TCP port 5471 TCP window size: 416 KByte ------------------------------------------------------------ [ 4] local 192.168.1.68 port 5471 connected with 10.0.1.2 port 25367 [ ID] Interval Transfer Bandwidth [ 4] 0.0- 0.2 sec 4.88 MBytes 234 Mbits/sec ``` Disable TUN/TAP on Linux host: `$ sudo ./tools/simhostroute.sh wlan0 off` -- 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]
