1// Test false overflow detection with option used to rule out overflow 2 3`./defaults.sh 4sysctl -q net.ipv4.tcp_ecn=3 5` 6 7 0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 8 +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 9 +0 bind(3, ..., ...) = 0 10 +0 listen(3, 1) = 0 11 12 +0 < SEWA 0:0(0) win 32792 <mss 1460,nop,nop,sackOK,nop,wscale 8> 13+.002 > SW. 0:0(0) ack 1 <mss 1460,ECN e1b 1 ceb 0 e0b 1,nop,nop,nop,sackOK,nop,wscale 8> 14+0.05 < [ect0] W. 1:1(0) ack 1 win 264 <ECN e0b 1 ceb 0 e1b 1,nop> 15+.002 accept(3, ..., ...) = 4 16 17+0.01 %{ assert tcpi_delivered_ce == 0, tcpi_delivered_ce }% 18 19// Stop sending option to allow easier testing 20+0 `sysctl -q net.ipv4.tcp_ecn_option=0` 21 22+0.002 write(4, ..., 14600) = 14600 23+.002 > [ect0] P.5 1:14601(14600) ack 1 24 25+0.05 < [ect0] .5 1:1(0) ack 1460 win 264 <ECN e0b 1461 ceb 0 e1b 1,nop> 26+0.05 < [ect0] .5 1:1(0) ack 14601 win 264 <ECN e0b 14601 ceb 0 e1b 1,nop> 27 28+0.01 %{ 29assert tcpi_delivered_ce == 0, tcpi_delivered_ce 30assert tcpi_delivered_e0_bytes == 14600, tcpi_delivered_e0_bytes 31}% 32