[dts] [PATCH V2] fix RX TX different

xu,gang gangx.xu at intel.com
Mon Feb 5 10:59:12 CET 2018


add vlan_strip option, when vlan_strip is off,
RX-bytes and TX-bytes equal.
rx_vlan add|rm <vlan_id> <port_id> need open vlan filter

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

diff --git a/tests/TestSuite_shutdown_api.py b/tests/TestSuite_shutdown_api.py
index f81c3d5..eb13c31 100644
--- a/tests/TestSuite_shutdown_api.py
+++ b/tests/TestSuite_shutdown_api.py
@@ -83,14 +83,14 @@ class TestShutdownApi(TestCase):
         stats = output.get_pmd_stats(portid)
         return stats
 
-    def check_forwarding(self, ports=None, pktSize=68, received=True, vlan=False, promisc=False):
+    def check_forwarding(self, vlan_strip=False, ports=None, pktSize=68, received=True,vlan=False, promisc=False):
         if ports is None:
             ports = self.ports
         if len(ports) == 1:
-            self.send_packet(ports[0], ports[0], pktSize, received, vlan, promisc)
+            self.send_packet(ports[0], ports[0], pktSize, received, vlan, vlan_strip, promisc)
             return
 
-    def send_packet(self, txPort, rxPort, pktSize=68, received=True, vlan=False, promisc=False):
+    def send_packet(self, txPort, rxPort, pktSize=68, received=True, vlan=False, vlan_strip = False, promisc=False):
         """
         Send packages according to parameters.
         """
@@ -138,7 +138,7 @@ class TestShutdownApi(TestCase):
             # RRC will always strip rx/tx crc
             rx_bytes_exp -= 4
             tx_bytes_exp -= 4
-            if vlan is True:
+            if vlan_strip is True:
                 # RRC will always strip rx/tx vlan
                 rx_bytes_exp -= 4
                 tx_bytes_exp -= 4
@@ -146,8 +146,8 @@ class TestShutdownApi(TestCase):
             # some NIC will always include tx crc
             rx_bytes_exp -= 4
             tx_bytes_exp -= 4
-            if vlan is True:
-                # vlan strip default is on
+            if vlan_strip is True:
+                # vlan strip default is off
                 tx_bytes_exp -= 4
          
         # fortville nic enable send lldp packet function when port setup
@@ -337,6 +337,7 @@ class TestShutdownApi(TestCase):
         out = self.dut.send_expect("vlan set strip off all", "testpmd> ")
         if "fail" not in out:
             for port in self.ports:
+                self.dut.send_expect("vlan set filter on %d" % port, "testpmd> ")
                 self.dut.send_expect("rx_vlan add 1 %d" % port, "testpmd> ")
             self.dut.send_expect("set fwd mac", "testpmd>")
             self.dut.send_expect("port start all", "testpmd> ", 100)
@@ -347,10 +348,15 @@ class TestShutdownApi(TestCase):
                 vlan_jumbo_size = jumbo_size + 4
             else:
                 vlan_jumbo_size = jumbo_size
-
-            self.check_forwarding(pktSize=vlan_jumbo_size - 1, vlan=True)
-            self.check_forwarding(pktSize=vlan_jumbo_size, vlan=True)
-            self.check_forwarding(pktSize=vlan_jumbo_size + 1, received=False, vlan=True)
+            out = self.dut.send_expect("show port cap %d" % port, "testpmd> ")
+            state = re.findall("VLAN stripped:\s*([a-z]*)", out)
+            if state[0] == 'on':
+                vlan_strip = True
+            else:
+                vlan_strip = False
+            self.check_forwarding(vlan_strip, pktSize=vlan_jumbo_size - 1, vlan=True)
+            self.check_forwarding(vlan_strip, pktSize=vlan_jumbo_size, vlan=True)
+            self.check_forwarding(vlan_strip, pktSize=vlan_jumbo_size + 1, received=False, vlan=True)
 
             self.dut.send_expect("stop", "testpmd> ")
 
-- 
1.9.3



More information about the dts mailing list