[dts] [PATCH V1] fix ieee1588 Ether type is not PTP

xu,gang gangx.xu at intel.com
Wed Aug 23 09:36:05 CEST 2017


use tcpdump replace sniff caught package

Signed-off-by: xu,gang <gangx.xu at intel.com>
---
 tests/TestSuite_ieee1588.py | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/tests/TestSuite_ieee1588.py b/tests/TestSuite_ieee1588.py
index 58d9a10..e06b29d 100644
--- a/tests/TestSuite_ieee1588.py
+++ b/tests/TestSuite_ieee1588.py
@@ -80,21 +80,23 @@ class TestIeee1588(TestCase):
         port = self.tester.get_local_port(dutPorts[0])
         itf = self.tester.get_interface(port)
 
-        self.tester.scapy_background()
-        self.tester.scapy_append('p = sniff(iface="%s", count=2)' % itf)
-        self.tester.scapy_append('RESULT = p[1].summary()')
+        #create new session for send packet
+        session_secondary = self.tester.create_session(name = 'send_packet')
 
-        # this is the output of sniff
-        # [<Ether  dst=01:1b:19:00:00:00 src=00:00:00:00:00:00 type=0x88f7 |<Raw  load='\x00\x02' |>>]
-        self.tester.scapy_foreground()
-        self.tester.scapy_append('nutmac="%s"' % mac)
-        self.tester.scapy_append('sendp([Ether(dst=nutmac,type=0x88f7)/"\\x00\\x02"], iface="%s")' % itf)
-        self.tester.scapy_append('time.sleep(1)')
+        self.tester.send_expect("tcpdump -i %s -e ether src %s" % (itf,mac), "tcpdump", 20)
 
-        self.tester.scapy_execute()
-        out = self.tester.scapy_get_result()
+        session_secondary.send_expect("scapy", "Welcome", 20)
+        session_secondary.send_expect('nutmac="%s"' % mac, ">>> ", 20)
+        session_secondary.send_expect('sendp([Ether(dst=nutmac,type=0x88f7)/"\\x00\\x02"], iface="%s")' % itf, ">>> ", 20)
+
+        out = self.tester.get_session_output(timeout=20)
+
+        session_secondary.send_expect('exit()', "# ", 20)
+
+        self.tester.send_expect("^C", "# ", 20)
+        self.tester.destroy_session(session_secondary)
+      
         self.verify("0x88f7" in out, "Ether type is not PTP")
-        # self.verify("\\x00\\x02" in out, "Payload wrong in PTP")
 
         time.sleep(1)
         out = self.dut.get_session_output()
-- 
1.9.3



More information about the dts mailing list