Skip to content

Instantly share code, notes, and snippets.

View roman-shuhov's full-sized avatar
🎯
Focusing

T3[rm]1T roman-shuhov

🎯
Focusing
  • Seattle
View GitHub Profile
for i in {1..2}; do
ip netns del ns$i 2>/dev/null || true
done
# 1. Create namespaces
for i in {1..2}; do
ip netns add ns$i
ip netns exec ns$i sysctl -w net.ipv6.conf.all.forwarding=1
done
# 2. Create veth pair
for i in {1..2}; do
# mptcp no flows monitor
[ CREATED] token=3586bbbf remid=0 locid=0 saddr6=aaa1::2 daddr6=bbb1::1 sport=5201 dport=41958
[ ESTABLISHED] token=3586bbbf remid=0 locid=0 saddr6=aaa1::2 daddr6=bbb1::1 sport=5201 dport=41958
[ CLOSED] token=3586bbbf
# 1 subflow
[ CREATED] token=dc8345db remid=0 locid=0 saddr6=aaa1::2 daddr6=bbb1::1 sport=5201 dport=38920
[ ESTABLISHED] token=dc8345db remid=0 locid=0 saddr6=aaa1::2 daddr6=bbb1::1 sport=5201 dport=38920
## TCP
### `ss -temion | grep 5201` on Server
```
tcp ESTAB 0 0 [<server-ip>]:5201 [<client-ip>]:55882 ino:5719014 sk:2d001 cgroup:/user.slice/user-0.slice/session-c2.scope <->
skmem:(r0,rb26994181,t0,tb125000,f0,w0,o717,bl0,d0) ts sack ecn ecnseen ned_tcp_d2tcp01 wscale:11,11 rto:201 rtt:0.115/0.057 ato:40 mss:1428 pmtu:1500 rcvmss:1428 advmss:1428 cwnd:10 bytes_received:81987730097 segs_out:422971 segs_in:57414394 data_segs_in:57414392 send 993391304bps lastsnd:15387 pacing_rate 1986782608bps delivered:1 app_limited reordering:12 rcv_rtt:1 rcv_space:8267120 rcv_ssthresh:19505941 minrtt:0.115 snd_wnd:32768 rcv_wnd:19273728
...
tcp ESTAB 0 0 [<server-ip]:5201 [<client-ip>]:55872 ino:5719013 sk:292c3 cgroup:/user.slice/user-0.slice/session-c2.scope <->
skmem:(r0,rb125000,t0,tb125000,f0,w0,o717,bl0,d0) ts sack ecn ecnseen ned_tcp_d2tcp01 wscale:11,11 rto:206 rtt:5.32/10.393 ato:40 mss:1428 pmtu:1500 rcvmss:536 advmss:1428 cwnd:10 bytes_sent:4 byt
## TCP case
### Server view
> nstat | grep Tcp
```
TcpActiveOpens 598 0.0
TcpPassiveOpens 567 0.0
TcpAttemptFails 20 0.0
TcpEstabResets 508 0.0
@roman-shuhov
roman-shuhov / gist:5ddcd85379009bc0a282e4bd47fdbd89
Created October 18, 2025 09:17
iperf3 run with TCP over 100Gb/s NIC
[server] > nstat > /dev/null; perf record <iperf-command>; nstat Tcp*
#kernel
TcpActiveOpens 159 0.0
TcpPassiveOpens 156 0.0
TcpAttemptFails 1 0.0
TcpEstabResets 134 0.0
TcpInSegs 327540 0.0
TcpOutSegs 38586627 0.0
TcpRetransSegs 2787 0.0
TcpOutRsts 137 0.0
@roman-shuhov
roman-shuhov / gist:9f7102d8690e1195feefdb05a0631cb5
Created October 18, 2025 09:17
iperf3 run with MPTCP (no subflows) over 100Gb/s NIC
[server] > nstat > /dev/null; perf record <iperf-command>; nstat Tcp* MpTcp*
#kernel
TcpActiveOpens 149 0.0
TcpPassiveOpens 149 0.0
TcpEstabResets 116 0.0
TcpInSegs 405086 0.0
TcpOutSegs 22410228 0.0
TcpRetransSegs 29 0.0
TcpOutRsts 116 0.0
TcpExtTW 35 0.0
@roman-shuhov
roman-shuhov / gist:b92576c5eaa035b845194ff100f57f1d
Created October 30, 2025 09:20
TCP iperf3 run with "fixed" window
==== WINDOW 128K
[ 5] 0.00-30.00 sec 51.5 GBytes 14.7 Gbits/sec 0 sender
[ 5] 0.00-30.00 sec 54.1 GBytes 15.5 Gbits/sec 0 sender
[ 5] 0.00-30.00 sec 54.3 GBytes 15.5 Gbits/sec 0 sender
[ 5] 0.00-30.00 sec 54.5 GBytes 15.6 Gbits/sec 0 sender
[ 5] 0.00-30.00 sec 53.8 GBytes 15.4 Gbits/sec 0 sender
==== WINDOW 256K
[ 5] 0.00-30.00 sec 84.7 GBytes 24.3 Gbits/sec 0 sender
[ 5] 0.00-30.00 sec 86.4 GBytes 24.7 Gbits/sec 0 sender
[ 5] 0.00-30.00 sec 86.0 GBytes 24.6 Gbits/sec 0 sender
@roman-shuhov
roman-shuhov / gist:d168bcffddcd37f24197093af2323587
Created October 30, 2025 09:20
MPTCP (no subflows) iperf3 run with "fixed" window
==== WINDOW 128K
[ 5] 0.00-30.00 sec 38.5 GBytes 11.0 Gbits/sec 7 sender
[ 5] 0.00-30.00 sec 38.5 GBytes 11.0 Gbits/sec 19 sender
[ 5] 0.00-30.00 sec 37.9 GBytes 10.8 Gbits/sec 11 sender
[ 5] 0.00-30.00 sec 38.2 GBytes 10.9 Gbits/sec 9 sender
[ 5] 0.00-30.00 sec 39.0 GBytes 11.2 Gbits/sec 5 sender
==== WINDOW 256K
[ 5] 0.00-30.00 sec 76.9 GBytes 22.0 Gbits/sec 0 sender
[ 5] 0.00-30.00 sec 71.7 GBytes 20.5 Gbits/sec 0 sender
[ 5] 0.00-30.00 sec 70.2 GBytes 20.1 Gbits/sec 20 sender
@roman-shuhov
roman-shuhov / gist:049325ba76d4fbcc019d1b5083f411f1
Created October 30, 2025 09:21
MPTCP (1 subflow) iperf3 run with "fixed" window
==== WINDOW 512K
[ 5] 0.00-10.00 sec 37.0 GBytes 31.8 Gbits/sec 23 sender
[ 5] 0.00-10.00 sec 37.2 GBytes 32.0 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 37.4 GBytes 32.1 Gbits/sec 47 sender
==== WINDOW 1M
[ 5] 0.00-10.00 sec 47.7 GBytes 41.0 Gbits/sec 2 sender
[ 5] 0.00-10.00 sec 46.0 GBytes 39.5 Gbits/sec 164 sender
[ 5] 0.00-10.00 sec 46.5 GBytes 40.0 Gbits/sec 67 sender
==== WINDOW 2M
[ 5] 0.00-10.00 sec 49.3 GBytes 42.3 Gbits/sec 0 sender
@roman-shuhov
roman-shuhov / gist:87b469099b43560021692aebfb018828
Created October 30, 2025 09:23
TCP + MTU 9000 iperf3 run with "fixed" window
==== WINDOW 512K
[ 5] 0.00-10.00 sec 42.1 GBytes 36.2 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 40.9 GBytes 35.1 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 41.9 GBytes 36.0 Gbits/sec 0 sender
==== WINDOW 1M
[ 5] 0.00-10.00 sec 59.1 GBytes 50.7 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 61.0 GBytes 52.4 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 55.1 GBytes 47.3 Gbits/sec 0 sender
==== WINDOW 2M
[ 5] 0.00-10.00 sec 56.9 GBytes 48.9 Gbits/sec 0 sender