test suite reviews and discussions
 help / color / mirror / Atom feed
* [dts] [PATCH] /tests/TestSuite_nvgre : add ipv6 detect and ipv6checksum for CVL25gand100g nic Add ipv6 detect case and ipv6 checksum offload case for the CVL 25g and 100g nic test Add CVL25G and 100g nic support default none vector
@ 2019-08-20  2:05 zhiwei.he
  2019-08-20  3:07 ` Lin, Xueqin
  0 siblings, 1 reply; 2+ messages in thread
From: zhiwei.he @ 2019-08-20  2:05 UTC (permalink / raw)
  To: dts; +Cc: zhiwei.he

From: "zhiwei.he" <zhiwei.he@intel.com>

Signed-off-by: zhiwei.he <zhiwei.he@intel.com>
---
 tests/TestSuite_nvgre.py | 57 +++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 52 insertions(+), 5 deletions(-)

diff --git a/tests/TestSuite_nvgre.py b/tests/TestSuite_nvgre.py
index 62aac3a..2fd304a 100644
--- a/tests/TestSuite_nvgre.py
+++ b/tests/TestSuite_nvgre.py
@@ -93,8 +93,8 @@ class NvgreTestConfig(object):
         self.outer_ip_dst = '192.168.1.2'
         self.outer_ip_invalid = 0
 
-        self.outer_ip6_src = 'N/A'
-        self.outer_ip6_dst = 'N/A'
+        self.outer_ip6_src = 'FE80:0:0:0:0:0:0:0'
+        self.outer_ip6_dst = 'FE80:0:0:0:0:0:0:1'
         self.outer_ip6_invalid = 0
         """
         gre info
@@ -150,8 +150,8 @@ class NvgreTestConfig(object):
         self.inner_ip_dst = '192.168.2.2'
         self.inner_ip_invalid = 0
 
-        self.inner_ip6_src = 'N/A'
-        self.inner_ip6_dst = 'N/A'
+        self.inner_ip6_src = 'FE80:0:0:0:0:0:0:0'
+        self.inner_ip6_dst = 'FE80:0:0:0:0:0:0:1'
         self.inner_ip6_invalid = 0
 
         self.inner_l4_type = 'UDP'
@@ -361,10 +361,12 @@ class TestNvgre(TestCase):
         nvgre Prerequisites
         """
         # this feature only enable in FVL now
-        if self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortville_25g", "fortpark_TLV", "cavium_a063", "cavium_a064"]:
+        if self.nic in [ "fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortville_25g", "fortpark_TLV", "cavium_a063", "cavium_a064"]:
             self.compile_switch = 'CONFIG_RTE_LIBRTE_I40E_INC_VECTOR'
         elif self.nic in ["sageville", "sagepond"]:
             self.compile_switch = 'CONFIG_RTE_IXGBE_INC_VECTOR'
+        elif self.nic in ["columbiaville_25g","columbiaville_100g"]:
+           print "CVL support default none VECTOR"
         else:
             self.verify(False, "%s not support NVGRE case" % self.nic)
         # Based on h/w type, choose how many ports to use
@@ -616,7 +618,52 @@ class TestNvgre(TestCase):
         # verify saved pcap checksum same to expected checksum
         for key in chksums_default:
             self.verify(chksums[key] == chksums_default[key], "%s not matched to %s" % (key, chksums_default[key]))
+    def test_nvgre_ipv6(self):
+        """
+        verify nvgre packet with ipv6
+        """
+        outer_l3_type = "IPv6"
+        inner_l3_type = "IPv6"
+        outer_ip6_src = 'FE80:0:0:0:0:0:0:0'
+        outer_ip6_dst = 'FE80:0:0:0:0:0:0:1'
+        inner_ip6_src = 'FE80:0:0:0:0:0:0:0'
+        inner_ip6_dst = 'FE80:0:0:0:0:0:0:1'
 
+        # check no nvgre packet
+        self.nvgre_detect(outer_l3_type = "IPv6", inner_l3_type="IPv6", outer_ip_proto=0xFF)
+        # check nvgre + IP inner packet
+        self.nvgre_detect(outer_l3_type = "IPv6", inner_l3_type="IPv6", inner_l4_type='None')
+        # check nvgre + udp inner packet
+        self.nvgre_detect(outer_l3_type = "IPv6", inner_l3_type="IPv6", inner_l4_type='TCP')
+        # check nvgre + SCTP inner packet
+        self.nvgre_detect(outer_l3_type = "IPv6", inner_l3_type="IPv6", inner_l4_type='SCTP')
+        # check nvgre + UDP inner packet
+        self.nvgre_detect(outer_l3_type = "IPv6", inner_l3_type="IPv6", inner_l4_type='UDP')
+        # check nvgre + vlan inner packet
+        self.nvgre_detect(outer_l3_type = "IPv6", inner_l3_type="IPv6", outer_vlan=1)
+        # check vlan nvgre + vlan inner packet
+        self.nvgre_detect(outer_l3_type = "IPv6", inner_l3_type="IPv6", outer_vlan=1, inner_vlan=1)
+
+    def test_nvgre_ipv6_checksum_offload(self):
+        outer_l3_type = "IPv6"
+        inner_l3_type = "IPv6"
+        outer_ip6_src = 'FE80:0:0:0:0:0:0:0'
+        outer_ip6_dst = 'FE80:0:0:0:0:0:0:1'
+        inner_ip6_src = 'FE80:0:0:0:0:0:0:0'
+        inner_ip6_dst = 'FE80:0:0:0:0:0:0:1'
+        # check nvgre packet + inner ip checksum invalid
+        self.nvgre_checksum(outer_l3_type = "IPv6", inner_l3_type="IPv6", inner_l4_invalid=1)
+        # check nvgre packet + inner tcp checksum invalid
+        self.nvgre_checksum(outer_l3_type = "IPv6", inner_l3_type="IPv6", inner_l4_invalid=1, inner_l4_type='TCP')
+        #check nvgre packet + inner sctp checksum invalid
+        self.nvgre_checksum(outer_l3_type = "IPv6", inner_l3_type="IPv6", inner_l4_invalid=1, inner_l4_type='SCTP')
+        # check vlan nvgre packet + inner vlan + inner udp checksum invalid
+        self.nvgre_checksum(outer_l3_type = "IPv6", inner_l3_type="IPv6", outer_vlan=1, inner_l4_invalid=1, inner_l4_type='UDP')
+        # check vlan nvgre packet + inner vlan + inner tcp checksum invalid
+        self.nvgre_checksum(outer_l3_type = "IPv6", inner_l3_type="IPv6", outer_vlan=1, inner_l4_invalid=1, inner_l4_type='TCP')
+        # check vlan nvgre packet + inner vlan + inner sctp checksum invalid
+        self.nvgre_checksum(outer_l3_type = "IPv6", inner_l3_type="IPv6", outer_vlan=1, inner_l4_invalid=1, inner_l4_type='SCTP')
+           
     def test_nvgre_ipv4(self):
         """
         verify nvgre packet with ipv4
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-08-20  3:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-20  2:05 [dts] [PATCH] /tests/TestSuite_nvgre : add ipv6 detect and ipv6checksum for CVL25gand100g nic Add ipv6 detect case and ipv6 checksum offload case for the CVL 25g and 100g nic test Add CVL25G and 100g nic support default none vector zhiwei.he
2019-08-20  3:07 ` Lin, Xueqin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).