[dts] [PATCH V2] Use tcpdump_sniff_packets instead of sniff method

lihong lihongx.ma at intel.com
Mon Dec 10 19:24:19 CET 2018


The sniff method may not work well when add filter ether arguments,
so use tcpdump_sniff_packets instead of it.

Signed-off-by: lihong <lihongx.ma at intel.com>
---
 tests/TestSuite_short_live.py | 9 ++++-----
 tests/TestSuite_vxlan.py      | 8 +++-----
 2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/tests/TestSuite_short_live.py b/tests/TestSuite_short_live.py
index ca3643f..b3ec131 100644
--- a/tests/TestSuite_short_live.py
+++ b/tests/TestSuite_short_live.py
@@ -102,10 +102,7 @@ class TestShortLiveApp(TestCase):
         if (txPort == rxPort):
             count = 2
 
-        self.tester.scapy_append('p=sniff(iface="%s", filter="ether[12:2]!=0x88cc", count=%d, timeout=5)' % (rxitf, count))
-        self.tester.scapy_append('RESULT=str(p[%d].show)' % (count-1))
-
-        self.tester.scapy_foreground()
+        inst = self.tester.tcpdump_sniff_packets(rxitf, count=count, timeout=5)
 
         pktlen = pktSize - 14
         padding = pktlen - 20
@@ -114,7 +111,9 @@ class TestShortLiveApp(TestCase):
         self.tester.scapy_execute()
         time.sleep(3)
 
-        out = self.tester.scapy_get_result()
+        pkts = self.tester.load_tcpdump_sniff_packets(inst)
+        out = str(pkts[0].pktgen.pkt.show)
+        self.logger.info('SCAPY Result:\n' + out + '\n\n\n')
         if received:
             self.verify(('PPP' in out) and 'src=%s'% Dut_tx_mac in out, "Receive test failed")
         else:
diff --git a/tests/TestSuite_vxlan.py b/tests/TestSuite_vxlan.py
index d5a9d77..8de8384 100644
--- a/tests/TestSuite_vxlan.py
+++ b/tests/TestSuite_vxlan.py
@@ -447,16 +447,14 @@ class TestVxlan(TestCase, IxiaPacketGenerator):
         config.create_pcap()
 
         # remove tempory files
+        config.capture_file = "/tmp/sniff_%s.pcap" % self.recv_iface
         self.tester.send_expect("rm -rf %s" % config.capture_file, "# ")
         # save the capture packet into pcap format
         self.tester.scapy_background()
-        self.tester.scapy_append(
-            'p=sniff(iface="%s",filter="ether[12:2]!=0x88cc",count=1,timeout=5)' % self.recv_iface)
-        self.tester.scapy_append(
-            'wrpcap(\"%s\", p)' % config.capture_file)
-        self.tester.scapy_foreground()
 
+        inst = self.tester.tcpdump_sniff_packets(self.recv_iface, timeout=5)
         config.send_pcap(self.tester_iface)
+        self.tester.load_tcpdump_sniff_packets(inst)
         time.sleep(5)
 
         # extract the checksum offload from saved pcap file
-- 
2.7.4



More information about the dts mailing list