From d46650d039a13821a1141edbbdcd7ffb885b7e4f Mon Sep 17 00:00:00 2001 From: Patryk Matuszak Date: Tue, 9 Jun 2026 18:34:04 +0200 Subject: [PATCH 1/4] Immediatelly write data to file --- test/resources/ipsec.resource | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/resources/ipsec.resource b/test/resources/ipsec.resource index 44a1dd55fb..42d5336066 100644 --- a/test/resources/ipsec.resource +++ b/test/resources/ipsec.resource @@ -71,7 +71,7 @@ Start Tcpdump For ESP On Cluster VAR ${pcap_file}= /tmp/esp-capture-${alias}.pcap Disruptive Command On Cluster ${alias} rm -f ${pcap_file} Command On Cluster ${alias} - ... nohup timeout ${timeout} tcpdump -i ${iface} -w ${pcap_file} esp &>/dev/null & + ... nohup timeout ${timeout} tcpdump -U -i ${iface} -w ${pcap_file} esp &>/dev/null & Sleep 2s reason=Wait for tcpdump to initialize packet capture RETURN ${pcap_file} From d3f0ba65666f9de2af1f8800ad71d9ebcc078046 Mon Sep 17 00:00:00 2001 From: Patryk Matuszak Date: Tue, 9 Jun 2026 19:38:24 +0200 Subject: [PATCH 2/4] Spawn new background SSH connection instead of nohup timeout --- test/resources/ipsec.resource | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/test/resources/ipsec.resource b/test/resources/ipsec.resource index 42d5336066..8c5a5986f8 100644 --- a/test/resources/ipsec.resource +++ b/test/resources/ipsec.resource @@ -66,19 +66,24 @@ Verify XFRM Counters Incremented Start Tcpdump For ESP On Cluster [Documentation] Start tcpdump in the background capturing ESP packets. - ... Returns the pcap file path. Uses timeout to auto-exit. - [Arguments] ${alias} ${iface}=enp1s0 ${timeout}=15 + ... Returns the pcap file path. + [Arguments] ${alias} ${iface}=enp1s0 VAR ${pcap_file}= /tmp/esp-capture-${alias}.pcap Disruptive Command On Cluster ${alias} rm -f ${pcap_file} - Command On Cluster ${alias} - ... nohup timeout ${timeout} tcpdump -U -i ${iface} -w ${pcap_file} esp &>/dev/null & + ${conn_id}= Get From Dictionary ${C2CC_SSH_IDS} ${alias} + SSHLibrary.Switch Connection ${conn_id} + SSHLibrary.Start Command tcpdump -U -i ${iface} -w ${pcap_file} esp 2>/dev/null sudo=True Sleep 2s reason=Wait for tcpdump to initialize packet capture RETURN ${pcap_file} Wait For Tcpdump And Verify ESP - [Documentation] Wait briefly for traffic to be captured, then verify ESP packets in pcap. + [Documentation] Stop tcpdump, then verify ESP packets in pcap. [Arguments] ${alias} ${pcap_file} - Sleep 5s reason=Wait for ESP packets to be captured + Sleep 3s reason=Wait for ESP packets to be captured + Disruptive Command On Cluster ${alias} pkill -INT tcpdump + ${conn_id}= Get From Dictionary ${C2CC_SSH_IDS} ${alias} + SSHLibrary.Switch Connection ${conn_id} + SSHLibrary.Read Command Output ${stdout}= Command On Cluster ${alias} ... tcpdump -r ${pcap_file} 2>/dev/null | head -5 Should Contain ${stdout} ESP From ca26921ac654ca34fcc191282afd262206fbdea3 Mon Sep 17 00:00:00 2001 From: Patryk Matuszak Date: Wed, 10 Jun 2026 10:49:35 +0200 Subject: [PATCH 3/4] Add tcpdump's output as debug log --- test/resources/ipsec.resource | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/resources/ipsec.resource b/test/resources/ipsec.resource index 8c5a5986f8..823b09b70c 100644 --- a/test/resources/ipsec.resource +++ b/test/resources/ipsec.resource @@ -72,7 +72,7 @@ Start Tcpdump For ESP On Cluster Disruptive Command On Cluster ${alias} rm -f ${pcap_file} ${conn_id}= Get From Dictionary ${C2CC_SSH_IDS} ${alias} SSHLibrary.Switch Connection ${conn_id} - SSHLibrary.Start Command tcpdump -U -i ${iface} -w ${pcap_file} esp 2>/dev/null sudo=True + SSHLibrary.Start Command tcpdump -U -i ${iface} -w ${pcap_file} esp sudo=True Sleep 2s reason=Wait for tcpdump to initialize packet capture RETURN ${pcap_file} @@ -83,7 +83,9 @@ Wait For Tcpdump And Verify ESP Disruptive Command On Cluster ${alias} pkill -INT tcpdump ${conn_id}= Get From Dictionary ${C2CC_SSH_IDS} ${alias} SSHLibrary.Switch Connection ${conn_id} - SSHLibrary.Read Command Output + ${stdout} ${stderr}= SSHLibrary.Read Command Output return_stderr=True + Log tcpdump stdout: ${stdout} level=DEBUG + Log tcpdump stderr: ${stderr} level=DEBUG ${stdout}= Command On Cluster ${alias} ... tcpdump -r ${pcap_file} 2>/dev/null | head -5 Should Contain ${stdout} ESP From 359c2d48b80c97a86dba7a5266d01b3356007557 Mon Sep 17 00:00:00 2001 From: Patryk Matuszak Date: Thu, 11 Jun 2026 17:15:53 +0200 Subject: [PATCH 4/4] Kill specific instance of tcpdump --- test/resources/ipsec.resource | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/resources/ipsec.resource b/test/resources/ipsec.resource index 823b09b70c..3ff6f66c22 100644 --- a/test/resources/ipsec.resource +++ b/test/resources/ipsec.resource @@ -80,7 +80,7 @@ Wait For Tcpdump And Verify ESP [Documentation] Stop tcpdump, then verify ESP packets in pcap. [Arguments] ${alias} ${pcap_file} Sleep 3s reason=Wait for ESP packets to be captured - Disruptive Command On Cluster ${alias} pkill -INT tcpdump + Disruptive Command On Cluster ${alias} pkill -INT -f "tcpdump.*${pcap_file}" ${conn_id}= Get From Dictionary ${C2CC_SSH_IDS} ${alias} SSHLibrary.Switch Connection ${conn_id} ${stdout} ${stderr}= SSHLibrary.Read Command Output return_stderr=True