iperf3 traffic existing session dropped during interface shutdown
- Dominant language
- C
- Stars
- 8.8k
- Forks
- 1.5k
- PR merge metrics
- No merged PRs in 30d
Description
iperf3 version
```
root@e49dacd7b4b3:/go/src/app# iperf3 -v
iperf 3.7 (cJSON 1.5.2)
Linux e49dacd7b4b3 5.4.0-167-generic #184-Ubuntu SMP Tue Oct 31 09:21:49 UTC 2023 x86_64
Optional features available: CPU affinity setting, IPv6 flow label, SCTP, TCP congestion algorithm setting, sendfile / zerocopy, socket pacing, authentication
root@e49dacd7b4b3:/go/src/app#
```
Topology
```
R1========R2
| |
| |
| |
R4========R3
```
I have two paths learned by bgp in R4 to each R1
one via R4-R3-R2-R1
another via R4-R1
assume R4-R3-R2-R1 is the best path
initially iperf3 traffic was taking R4-R3-R2-R1 path as it was the best path learned by bgp
now, shut down the interface in R3 which is connected to R4
bgp converged (in R4) within 3 seconds and changed the best path to R4-R1
ip route table (in R4) updated the path as R4-R1
problem is that, existing iperf3 traffic session is lost and not showing any byte transmission, shows 0 byes
```
[ 5] 154.00-155.00 sec 0.00 Bytes 0.00 bits/sec 0 296 KBytes
[ 5] 155.00-156.00 sec 0.00 Bytes 0.00 bits/sec 0 296 KBytes
[ 5] 156.00-157.00 sec 0.00 Bytes 0.00 bits/sec 0 296 KBytes
[ 5] 157.00-158.01 sec 0.00 Bytes 0.00 bits/sec 0 296 KBytes
[ 5] 158.01-159.00 sec 0.00 Bytes 0.00 bits/sec 0 296 KBytes
[ 5] 159.00-160.00 sec 0.00 Bytes 0.00 bits/sec 0 296 KBytes
[ 5] 160.00-161.00 sec 0.00 Bytes 0.00 bits/sec 0 296 KBytes
[ 5] 161.00-162.00 sec 0.00 Bytes 0.00 bits/sec 0 296 KBytes
[ 5] 162.00-163.03 sec 0.00 Bytes 0.00 bits/sec 0 296 KBytes
^C[ 5] 163.03-163.16 sec 0.00 Bytes 0.00 bits/sec 0 296 KBytes
```
If I start a new iperf3 session freshly, it is working fine
is this expected?
```
root@e49dacd7b4b3:/go/src/app# iperf3 -c 11.11.11.1 -p 5202 -t 300 -b 450M -V -l 512
iperf 3.7
Linux e49dacd7b4b3 5.4.0-167-generic #184-Ubuntu SMP Tue Oct 31 09:21:49 UTC 2023 x86_64
Control connection MSS 1448
Time: Tue, 28 Nov 2023 04:19:53 GMT
Connecting to host 11.11.11.1, port 5202
Cookie: elijwj6h6nbbzpp3jj7wlemox4xlszzpqpa6
TCP MSS: 1448 (default)
Target Bitrate: 450000000
[ 5] local 172.21.0.3 port 52630 connected to 11.11.11.1 port 5202
Starting Test: protocol: TCP, 1 streams, 512 byte blocks, omitting 0 seconds, 300 second test, tos 0
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 53.5 MBytes 449 Mbits/sec 8 146 KBytes
[ 5] 1.00-2.00 sec 53.0 MBytes 445 Mbits/sec 4 146 KBytes
[ 5] 2.00-3.00 sec 53.3 MBytes 447 Mbits/sec 0 146 KBytes
[ 5] 3.00-4.00 sec 49.4 MBytes 414 Mbits/sec 6 146 KBytes
^C[ 5] 4.00-4.56 sec 34.6 MBytes 519 Mbits/sec 3 164 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-4.56 sec 244 MBytes 448 Mbits/sec 21 sender
[ 5] 0.00-4.56 sec 0.00 Bytes 0.00 bits/sec receiver
CPU Utilization: local/sender 86.3% (13.6%u/72.6%s), remote/receiver 0.0% (0.0%u/0.0%s)
snd_tcp_congestion cubic
iperf3: interrupt - the client has terminated
root@e49dacd7b4b3:/go/src/app#
```
iperf parameters
```
iperf3 -c 11.11.11.1 -p 5202 -t 300 -b 450M -V -l 512
```
Contributor guide
Assessment
This issue has not been assessed yet.