Message ID | 20200616163806.2994090-1-matthieu.baerts@tessares.net |
---|---|
State | Accepted, archived |
Delegated to: | Matthieu Baerts |
Headers | show |
Series | [mptcp-next] selftests/mptcp: Capture pcap on both sender and receiver | expand |
On Tue, 16 Jun 2020, Matthieu Baerts wrote: > When investigating performance issues that involve > latency/loss/reordering it is useful to have the pcap from the > sender-side as it allows to easier infer the state of the sender's > congestion-control, loss-recovery,... > > Allow the selftests to capture a pcap on both sides so that this > information is not lost when reproducing. > > This patch also improves the file names. Instead of: > > ns4-5ee79a56-X4O6gS-ns3-5ee79a56-X4O6gS-MPTCP-MPTCP-10.0.3.1.pcap > > We now have something like: > > 5ee79a56-X4O6gS-ns3-ns4-MPTCP-MPTCP-10.0.3.1-10030-connector.pcap > 5ee79a56-X4O6gS-ns3-ns4-MPTCP-MPTCP-10.0.3.1-10030-listener.pcap > > It was a connection from ns3 to ns4, better to start with ns3 then. The > port is also added, easier to find the trace we want. > > Co-developed-by: Christoph Paasch <cpaasch@apple.com> > Signed-off-by: Christoph Paasch <cpaasch@apple.com> > Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net> > --- > > Notes: > As discussed on IRC, here is the patch I made this morning. > > tools/testing/selftests/net/mptcp/mptcp_connect.sh | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh > index 8f7145c413b9..c0589e071f20 100755 > --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh > +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh > @@ -395,10 +395,14 @@ do_transfer() > capuser="-Z $SUDO_USER" > fi > > - local capfile="${listener_ns}-${connector_ns}-${cl_proto}-${srv_proto}-${connect_addr}.pcap" > + local capfile="${rndh}-${connector_ns:0:3}-${listener_ns:0:3}-${cl_proto}-${srv_proto}-${connect_addr}-${port}" > + local capopt="-i any -s 65535 -B 32768 ${capuser}" > > - ip netns exec ${listener_ns} tcpdump -i any -s 65535 -B 32768 $capuser -w $capfile > "$capout" 2>&1 & > - local cappid=$! > + ip netns exec ${listener_ns} tcpdump ${capopt} -w "${capfile}-listener.pcap" >> "${capout}" 2>&1 & > + local cappid_listener=$! > + > + ip netns exec ${connector_ns} tcpdump ${capopt} -w "${capfile}-connector.pcap" >> "${capout}" 2>&1 & > + local cappid_connector=$! > > sleep 1 > fi > @@ -423,7 +427,8 @@ do_transfer() > > if $capture; then > sleep 1 > - kill $cappid > + kill ${cappid_listener} > + kill ${cappid_connector} > fi > > local duration > -- > 2.27.0.rc0 Nice improvement for the capture feature - looks ready to merge! Thanks, -- Mat Martineau Intel
Hi Mat, Christoph, On 19/06/2020 05:52, Mat Martineau wrote: > > On Tue, 16 Jun 2020, Matthieu Baerts wrote: > >> When investigating performance issues that involve >> latency/loss/reordering it is useful to have the pcap from the >> sender-side as it allows to easier infer the state of the sender's >> congestion-control, loss-recovery,... >> >> Allow the selftests to capture a pcap on both sides so that this >> information is not lost when reproducing. >> >> This patch also improves the file names. Instead of: >> >> ns4-5ee79a56-X4O6gS-ns3-5ee79a56-X4O6gS-MPTCP-MPTCP-10.0.3.1.pcap >> >> We now have something like: >> >> 5ee79a56-X4O6gS-ns3-ns4-MPTCP-MPTCP-10.0.3.1-10030-connector.pcap >> 5ee79a56-X4O6gS-ns3-ns4-MPTCP-MPTCP-10.0.3.1-10030-listener.pcap >> >> It was a connection from ns3 to ns4, better to start with ns3 then. The >> port is also added, easier to find the trace we want. (...) > > Nice improvement for the capture feature - looks ready to merge! Thank you for the review and the patch! Just added at the end of the series (before the two DO-NOT-MERGE patches) - a4c3a82f66d9: selftests/mptcp: Capture pcap on both sender and receiver Tests will be launched soon. Cheers, Matt
diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/testing/selftests/net/mptcp/mptcp_connect.sh index 8f7145c413b9..c0589e071f20 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -395,10 +395,14 @@ do_transfer() capuser="-Z $SUDO_USER" fi - local capfile="${listener_ns}-${connector_ns}-${cl_proto}-${srv_proto}-${connect_addr}.pcap" + local capfile="${rndh}-${connector_ns:0:3}-${listener_ns:0:3}-${cl_proto}-${srv_proto}-${connect_addr}-${port}" + local capopt="-i any -s 65535 -B 32768 ${capuser}" - ip netns exec ${listener_ns} tcpdump -i any -s 65535 -B 32768 $capuser -w $capfile > "$capout" 2>&1 & - local cappid=$! + ip netns exec ${listener_ns} tcpdump ${capopt} -w "${capfile}-listener.pcap" >> "${capout}" 2>&1 & + local cappid_listener=$! + + ip netns exec ${connector_ns} tcpdump ${capopt} -w "${capfile}-connector.pcap" >> "${capout}" 2>&1 & + local cappid_connector=$! sleep 1 fi @@ -423,7 +427,8 @@ do_transfer() if $capture; then sleep 1 - kill $cappid + kill ${cappid_listener} + kill ${cappid_connector} fi local duration