%description: Test connection setup: A performs active open, and its ACK of SYN always gets lost. Test that: - initial RTO is 3s - it doubles with each retransmission - B it retries SYN+ACK a number of times, then CONN-ESTAB timer goes off - for A, connection setup seems successful at first, but will fail when it starts to send data %inifile: {}.ini [General] #preload-ned-files = *.ned ../../*.ned @../../../../nedfiles.lst ned-path = .;../../../../src;../../lib #omnetpp 5.0 - 5.1 compatibility: eventlog-file = "${resultdir}/${configname}-${runnumber}.elog" output-scalar-file = "${resultdir}/${configname}-${runnumber}.sca" output-vector-file = "${resultdir}/${configname}-${runnumber}.vec" snapshot-file = "${resultdir}/${configname}-${runnumber}.sna" #[Cmdenv] #cmdenv-event-banners=false cmdenv-express-mode=false #[Parameters] *.testing=true cmdenv-log-prefix="[%c]: " *.cli_app.tOpen=0s *.srv_app.tOpen=0s *.cli_app.tSend=100s *.cli_app.sendBytes=100B # delete ACK of SYN multiple times *.tcptester.script="a2 delete;a3 delete;a4 delete;a5 delete;a6 delete" include ../../lib/defaults.ini %#-------------------------------------------------------------------------------------------------------------- %file: postrun.pl open FILE, ') { if ($sor =~ /^\[testing\]: (.*)$/) { print "$1\n"; } } %#-------------------------------------------------------------------------------------------------------------- %postrun-command: perl ./postrun.pl %#-------------------------------------------------------------------------------------------------------------- %contains: postrun-command(1).out cli_tcp: INIT --> SYN_SENT (on OPEN_ACTIVE) srv_tcp: INIT --> LISTEN (on OPEN_PASSIVE) [0.001 A001] A.1000 > B.2000: S 0:0(0) win 16384 srv_tcp: LISTEN --> SYN_RCVD (on RCV_SYN) [0.003 B001] A.1000 < B.2000: A S 500:500(0) ack 1 win 16384 cli_tcp: SYN_SENT --> ESTABLISHED (on RCV_SYN_ACK) [0.005 A002] A.1000 > B.2000: A ack 501 win 16384 # deleting [3.003 B002] A.1000 < B.2000: A S 500:500(0) ack 1 win 16384 [3.005 A003] A.1000 > B.2000: A ack 501 win 16384 # deleting [9.003 B003] A.1000 < B.2000: A S 500:500(0) ack 1 win 16384 [9.005 A004] A.1000 > B.2000: A ack 501 win 16384 # deleting [21.003 B004] A.1000 < B.2000: A S 500:500(0) ack 1 win 16384 [21.005 A005] A.1000 > B.2000: A ack 501 win 16384 # deleting [45.003 B005] A.1000 < B.2000: A S 500:500(0) ack 1 win 16384 [45.005 A006] A.1000 > B.2000: A ack 501 win 16384 # deleting srv_tcp: SYN_RCVD --> LISTEN (on TIMEOUT_CONN_ESTAB) [100.001 A007] A.1000 > B.2000: A 1:101(100) ack 501 win 16384 [100.003 B006] A.1000 < B.2000: R win 0 cli_tcp: ESTABLISHED --> CLOSED (on RCV_RST) %#-------------------------------------------------------------------------------------------------------------- %contains: stdout Calling finish() at end of Run #0... []: TcpTestNet1.cli_app: received 0 bytes in 0 packets []: TcpTestNet1.cli_tcp: finishing with 0 connections open. []: TcpTestNet1.srv_tcp: finishing with 1 connections open. []: TcpTestNet1.srv_app: received 0 bytes in 0 packets [testing]: [100.004] tcpdump finished, A:7 B:6 segments End. %#-------------------------------------------------------------------------------------------------------------- %not-contains: stdout undisposed object: %#-------------------------------------------------------------------------------------------------------------- %not-contains: stdout -- check module destructor %#--------------------------------------------------------------------------------------------------------------