You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2022/01/25 17:55:14 UTC

[GitHub] [incubator-nuttx] a-lunev opened a new pull request #5341: net/tcp: transformed NET_TCP_FAST_RETRANSMIT_WATERMARK option to boolean.

a-lunev opened a new pull request #5341:
URL: https://github.com/apache/incubator-nuttx/pull/5341


   ## Summary
   
   Transformed NET_TCP_FAST_RETRANSMIT_WATERMARK option from integer to boolean (to enable / disable the TCP Fast Retransmit algorithm).
   According to RFC 5681 (3.2) the TCP Fast Retransmit algorithm should start if the threshold of 3 duplicate ACKs is reached. Thus the threshold should be a constant, not an integer option.
   
   ## Impact
   
   TCP
   
   ## Testing
   
   Activate emulating packet loss on Linux host:
   `$ sudo iptables -A INPUT -p tcp --dport 31337 -m statistic --mode random --probability 0.01 -j DROP`
   
   Build NuttX:
   ```
   $ ./tools/configure.sh -l sim:tcpblaster
   $ make menuconfig (enable/disable CONFIG_NETUTILS_NETCAT_SENDFILE, enable/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 netcat server on Linux host:
   `$ netcat -l -p 31337`
   
   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
   ```
   Start Wireshark (or tcpdump) and capture appeared tap0 interface.
   
   Run in NuttX:
   ```
   nsh> dd if=/dev/zero of=/tmp/test.bin count=1000
   nsh> netcat LINUX_HOST_IP_ADDRESS 31337 /tmp/test.bin
   ```
   
   Observe packet loss -> duplicate ACKs -> Fast Retransmit in TCP dump.
   
   Shutdown NuttX:
   `nsh> poweroff`
   
   Disable TUN/TAP on Linux host:
   `$ sudo ./tools/simhostroute.sh wlan0 off`
   
   Deactivate emulating packet loss on Linux host:
   `$ sudo iptables -D INPUT -p tcp --dport 31337 -m statistic --mode random --probability 0.01 -j DROP`


-- 
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: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx] anchao merged pull request #5341: net/tcp: transformed NET_TCP_FAST_RETRANSMIT_WATERMARK option to boolean.

Posted by GitBox <gi...@apache.org>.
anchao merged pull request #5341:
URL: https://github.com/apache/incubator-nuttx/pull/5341


   


-- 
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: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx] anchao commented on pull request #5341: net/tcp: transformed NET_TCP_FAST_RETRANSMIT_WATERMARK option to boolean.

Posted by GitBox <gi...@apache.org>.
anchao commented on pull request #5341:
URL: https://github.com/apache/incubator-nuttx/pull/5341#issuecomment-1021835915


   LGTM


-- 
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: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org