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 2023/01/13 06:06:40 UTC
[GitHub] [nuttx] anchao commented on pull request #8102: net/tcp: debug feature to drop the tx/rx packet
anchao commented on PR #8102:
URL: https://github.com/apache/nuttx/pull/8102#issuecomment-1381355411
The detailed test results as below: (config esp32c3-devkit/wapi)
TCP server:
Original:
```
$ iperf -c 192.168.31.197 -i 1
------------------------------------------------------------
Client connecting to 192.168.31.197, TCP port 5001
TCP window size: 102 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.31.180 port 52172 connected with 192.168.31.197 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 1.75 MBytes 14.7 Mbits/sec
[ 3] 1.0- 2.0 sec 1.38 MBytes 11.5 Mbits/sec
[ 3] 2.0- 3.0 sec 1.38 MBytes 11.5 Mbits/sec
[ 3] 3.0- 4.0 sec 1.38 MBytes 11.5 Mbits/sec
[ 3] 4.0- 5.0 sec 1.62 MBytes 13.6 Mbits/sec
[ 3] 5.0- 6.0 sec 1.38 MBytes 11.5 Mbits/sec
[ 3] 6.0- 7.0 sec 1.50 MBytes 12.6 Mbits/sec
[ 3] 7.0- 8.0 sec 1.38 MBytes 11.5 Mbits/sec
[ 3] 8.0- 9.0 sec 1.50 MBytes 12.6 Mbits/sec
[ 3] 9.0-10.0 sec 1.38 MBytes 11.5 Mbits/sec
[ 3] 0.0-10.0 sec 14.6 MBytes 12.3 Mbits/sec
```
Drop(1/50):
```
CONFIG_NET_TCP_DEBUG_DROP_RECV=y
CONFIG_NET_TCP_DEBUG_DROP_RECV_PROBABILITY=50 // Drop probability: 1/50
```
```
$ iperf -c 192.168.31.197 -i 1
------------------------------------------------------------
Client connecting to 192.168.31.197, TCP port 5001
TCP window size: 102 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.31.180 port 47072 connected with 192.168.31.197 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 442 KBytes 3.62 Mbits/sec
[ 3] 1.0- 2.0 sec 128 KBytes 1.05 Mbits/sec
[ 3] 2.0- 3.0 sec 17.1 KBytes 140 Kbits/sec
[ 3] 3.0- 4.0 sec 0.00 Bytes 0.00 bits/sec
[ 3] 4.0- 5.0 sec 59.9 KBytes 491 Kbits/sec
[ 3] 5.0- 6.0 sec 85.5 KBytes 701 Kbits/sec
[ 3] 6.0- 7.0 sec 0.00 Bytes 0.00 bits/sec
[ 3] 7.0- 8.0 sec 77.0 KBytes 631 Kbits/sec
[ 3] 8.0- 9.0 sec 68.4 KBytes 561 Kbits/sec
[ 3] 9.0-10.0 sec 103 KBytes 841 Kbits/sec
[ 3] 0.0-10.0 sec 981 KBytes 802 Kbits/sec
```
Drop(1/50) + OFO/SACK:
```
CONFIG_NET_TCP_DEBUG_DROP_RECV=y
CONFIG_NET_TCP_DEBUG_DROP_RECV_PROBABILITY=50 // Drop probability: 1/50
CONFIG_NET_TCP_OUT_OF_ORDER=y
CONFIG_NET_TCP_SELECTIVE_ACK=y
```
```
$ iperf -c 192.168.31.197 -i 1
------------------------------------------------------------
Client connecting to 192.168.31.197, TCP port 5001
TCP window size: 102 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.31.180 port 59374 connected with 192.168.31.197 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 1.0- 2.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 2.0- 3.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 3.0- 4.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 4.0- 5.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 5.0- 6.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 6.0- 7.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 7.0- 8.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 8.0- 9.0 sec 1.00 MBytes 8.39 Mbits/sec
[ 3] 9.0-10.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 0.0-10.2 sec 8.62 MBytes 7.11 Mbits/sec
```
TCP client:
Original:
```
$ iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 128 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.31.180 port 5001 connected with 192.168.31.197 port 5974
[ ID] Interval Transfer Bandwidth
[ 4] 0.0- 1.0 sec 1.14 MBytes 9.60 Mbits/sec
[ 4] 1.0- 2.0 sec 981 KBytes 8.04 Mbits/sec
[ 4] 2.0- 3.0 sec 930 KBytes 7.62 Mbits/sec
[ 4] 3.0- 4.0 sec 1.20 MBytes 10.0 Mbits/sec
[ 4] 4.0- 5.0 sec 1.05 MBytes 8.79 Mbits/sec
[ 4] 5.0- 6.0 sec 1.04 MBytes 8.71 Mbits/sec
[ 4] 6.0- 7.0 sec 1.07 MBytes 8.96 Mbits/sec
[ 4] 7.0- 8.0 sec 1.04 MBytes 8.75 Mbits/sec
[ 4] 8.0- 9.0 sec 1.10 MBytes 9.20 Mbits/sec
[ 4] 9.0-10.0 sec 992 KBytes 8.13 Mbits/sec
```
Drop(1/50):
```
CONFIG_NET_TCP_DEBUG_DROP_SEND=y
CONFIG_NET_TCP_DEBUG_DROP_SEND_PROBABILITY=50 // Drop probability: 1/50
```
```
$ iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 128 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.31.180 port 5001 connected with 192.168.31.197 port 13006
[ ID] Interval Transfer Bandwidth
[ 4] 0.0- 1.0 sec 50.9 KBytes 417 Kbits/sec
[ 4] 1.0- 2.0 sec 31.8 KBytes 260 Kbits/sec
[ 4] 2.0- 3.0 sec 0.00 Bytes 0.00 bits/sec
[ 4] 3.0- 4.0 sec 36.0 KBytes 295 Kbits/sec
[ 4] 4.0- 5.0 sec 34.7 KBytes 285 Kbits/sec
[ 4] 5.0- 6.0 sec 23.1 KBytes 189 Kbits/sec
[ 4] 6.0- 7.0 sec 4.47 KBytes 36.6 Kbits/sec
[ 4] 7.0- 8.0 sec 36.0 KBytes 295 Kbits/sec
[ 4] 8.0- 9.0 sec 26.2 KBytes 214 Kbits/sec
[ 4] 9.0-10.0 sec 4.28 KBytes 35.0 Kbits/sec
[ 4] 10.0-11.0 sec 84.1 KBytes 689 Kbits/sec
```
Drop(1/50) + OFO/SACK:
```
CONFIG_NET_TCP_DEBUG_DROP_SEND=y
CONFIG_NET_TCP_DEBUG_DROP_SEND_PROBABILITY=50 // Drop probability: 1/50
CONFIG_NET_TCP_OUT_OF_ORDER=y
CONFIG_NET_TCP_SELECTIVE_ACK=y
```
```
$ iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 128 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.31.180 port 5001 connected with 192.168.31.197 port 5446
[ ID] Interval Transfer Bandwidth
[ 4] 0.0- 1.0 sec 1.02 MBytes 8.57 Mbits/sec
[ 4] 1.0- 2.0 sec 916 KBytes 7.51 Mbits/sec
[ 4] 2.0- 3.0 sec 770 KBytes 6.31 Mbits/sec
[ 4] 3.0- 4.0 sec 979 KBytes 8.02 Mbits/sec
[ 4] 4.0- 5.0 sec 929 KBytes 7.61 Mbits/sec
[ 4] 5.0- 6.0 sec 1.02 MBytes 8.58 Mbits/sec
[ 4] 6.0- 7.0 sec 989 KBytes 8.10 Mbits/sec
[ 4] 7.0- 8.0 sec 1006 KBytes 8.24 Mbits/sec
[ 4] 8.0- 9.0 sec 919 KBytes 7.53 Mbits/sec
[ 4] 9.0-10.0 sec 1022 KBytes 8.37 Mbits/sec
[ 4] 10.0-11.0 sec 998 KBytes 8.18 Mbits/sec
```
--
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