From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 2E06E4CE4 for ; Wed, 24 Aug 2016 08:56:24 +0200 (CEST) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP; 23 Aug 2016 23:56:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,569,1464678000"; d="scan'208";a="1046331354" Received: from unknown (HELO dpdk-fedora20.icx.intel.com) ([10.239.254.239]) by fmsmga002.fm.intel.com with ESMTP; 23 Aug 2016 23:56:22 -0700 From: "xu,huilong" To: dts@dpdk.org Cc: "xu,huilong" Date: Wed, 24 Aug 2016 14:51:56 +0800 Message-Id: <1472021516-27491-1-git-send-email-huilongx.xu@intel.com> X-Mailer: git-send-email 1.9.3 Subject: [dts] [PATCH V1] fix vxlan failed case X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Aug 2016 06:56:24 -0000 update list: 1. packet type detect must use without VEC PMD 2. out ip bab checksum count should include Signed-off-by: xu,huilong --- tests/TestSuite_nvgre.py | 26 +++++++++++++++++++++++--- tests/TestSuite_vxlan.py | 44 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 63 insertions(+), 7 deletions(-) diff --git a/tests/TestSuite_nvgre.py b/tests/TestSuite_nvgre.py index 1da551b..bcbf41b 100644 --- a/tests/TestSuite_nvgre.py +++ b/tests/TestSuite_nvgre.py @@ -349,7 +349,12 @@ class TestNvgre(TestCase): nvgre Prerequisites """ # this feature only enable in FVL now - self.verify(self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortpark_TLV", "sageville", "sagepond"], "NVGRE Only supported by Fortville and Sageville") + if self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortpark_TLV"]: + self.compile_switch = 'CONFIG_RTE_LIBRTE_I40E_INC_VECTOR' + elif self.nic in ["sageville", "sagepond"]: + self.compile_switch = 'CONFIG_RTE_IXGBE_INC_VECTOR' + else: + self.verify(False, "%s not support NVGRE case" % self.nic) # Based on h/w type, choose how many ports to use ports = self.dut.get_ports(self.nic) self.portmask = dts.create_mask(self.dut.get_ports(self.nic)) @@ -457,7 +462,7 @@ class TestNvgre(TestCase): self.dut.send_expect("show port stats all", "testpmd>", 10) self.dut.send_expect("stop", "testpmd>", 10) self.dut.send_expect("quit", "#", 10) - + def nvgre_filter(self, filter_type="omac-imac-tenid", queue_id=3, vlan=False, remove=False): """ send nvgre packet and check whether receive packet in assigned queue @@ -602,6 +607,15 @@ class TestNvgre(TestCase): """ verify nvgre packet with ipv4 """ + # packet type detect must used without VECTOR pmd + out = self.dut.send_expect("cat config/common_base", "]# ", 10) + src_vec_model = re.findall("%s=." % self.compile_switch, out)[0][-1] + if src_vec_model == 'y': + self.dut.send_expect("sed -i -e 's/%s=.*$/" % self.compile_switch + + "%s=n/' config/common_base" % self.compile_switch, "# ", 30) + self.dut.skip_setup = False + self.dut.build_install_dpdk(self.target) + # check no nvgre packet self.nvgre_detect(outer_ip_proto=0xFF) # check nvgre + IP inner packet @@ -614,7 +628,13 @@ class TestNvgre(TestCase): self.nvgre_detect(outer_vlan=1) # check vlan nvgre + vlan inner packet self.nvgre_detect(outer_vlan=1, inner_vlan=1) - + out = self.dut.send_expect("cat config/common_base", "]# ", 10) + dst_vec_model = re.findall("%s=." % self.compile_switch, out)[0][-1] + if src_vec_model != dst_vec_model: + self.dut.send_expect("sed -i -e 's/%s=.*$/" % self.compile_switch + + "%s=%s/' config/common_base" % (self.compile_switch, src_vec_model), "# ", 30) + self.dut.skip_setup = False + self.dut.build_install_dpdk(self.target) def test_tunnel_filter(self): # verify tunnel filter feature diff --git a/tests/TestSuite_vxlan.py b/tests/TestSuite_vxlan.py index c1d0200..f94dc24 100644 --- a/tests/TestSuite_vxlan.py +++ b/tests/TestSuite_vxlan.py @@ -257,9 +257,12 @@ class TestVxlan(TestCase, IxiaPacketGenerator): vxlan Prerequisites """ # this feature only enable in FVL now - self.verify(self.nic in ["fortville_eagle", "fortville_spirit", - "fortville_spirit_single", "sagepond","fortpark_TLV"], - "Vxlan Only supported by Fortville and Sageville") + if self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortpark_TLV"]: + self.compile_switch = 'CONFIG_RTE_LIBRTE_I40E_INC_VECTOR' + elif self.nic in ["sageville", "sagepond"]: + self.compile_switch = 'CONFIG_RTE_IXGBE_INC_VECTOR' + else: + self.verify(False, "%s not support this vxlan" % self.nic) # Based on h/w type, choose how many ports to use ports = self.dut.get_ports() @@ -466,7 +469,7 @@ class TestVxlan(TestCase, IxiaPacketGenerator): self.l4err_num += 1 # verify detected l3 invalid checksum - if "inner_ip_invalid" in kwargs: + if "ip_invalid" in kwargs: self.verify(self.pmdout.get_pmd_value("Bad-ipcsum:", out) == self.iperr_num + 1, "Failed to count inner ip chksum error") self.iperr_num += 1 @@ -528,6 +531,15 @@ class TestVxlan(TestCase, IxiaPacketGenerator): """ verify vxlan packet detection """ + out = self.dut.send_expect("cat config/common_base", "]# ", 10) + src_vec_model = re.findall("%s=." % self.compile_switch, out)[0][-1] + if src_vec_model == 'y': + self.dut.send_expect("sed -i -e 's/%s=.*$/" % self.compile_switch + + "%s=n/' config/common_base" % self.compile_switch, "# ", 30) + self.dut.skip_setup = False + self.dut.build_install_dpdk(self.target) + + pmd_temp = "./%(TARGET)s/app/testpmd -c %(COREMASK)s -n " + \ "%(CHANNEL)d -- -i --disable-rss --rxq=4 --txq=4" + \ " --nb-cores=4 --portmask=%(PORT)s --txqflags=0x0" @@ -557,11 +569,27 @@ class TestVxlan(TestCase, IxiaPacketGenerator): out = self.dut.send_expect("stop", "testpmd>", 10) self.dut.send_expect("quit", "#", 10) + + out = self.dut.send_expect("cat config/common_base", "]# ", 10) + dst_vec_model = re.findall("%s=." % self.compile_switch, out)[0][-1] + if src_vec_model != dst_vec_model: + self.dut.send_expect("sed -i -e 's/%s=.*$/" % self.compile_switch + + "%s=%s/' config/common_base" % (self.compile_switch, src_vec_model), "# ", 30) + self.dut.skip_setup = False + self.dut.build_install_dpdk(self.target) def test_vxlan_ipv6_detect(self): """ verify vxlan packet detection with ipv6 header """ + out = self.dut.send_expect("cat config/common_base", "]# ", 10) + src_vec_model = re.findall("%s=." % self.compile_switch, out)[0][-1] + if src_vec_model == 'y': + self.dut.send_expect("sed -i -e 's/%s=.*$/" % self.compile_switch + + "%s=n/' config/common_base" % self.compile_switch, "# ", 30) + self.dut.skip_setup = False + self.dut.build_install_dpdk(self.target) + pmd_temp = "./%(TARGET)s/app/testpmd -c %(COREMASK)s -n " + \ "%(CHANNEL)d -- -i --disable-rss --rxq=4 --txq=4" + \ " --nb-cores=4 --portmask=%(PORT)s --txqflags=0x0" @@ -596,6 +624,14 @@ class TestVxlan(TestCase, IxiaPacketGenerator): out = self.dut.send_expect("stop", "testpmd>", 10) self.dut.send_expect("quit", "#", 10) + out = self.dut.send_expect("cat config/common_base", "]# ", 10) + dst_vec_model = re.findall("%s=." % self.compile_switch, out)[0][-1] + if src_vec_model != dst_vec_model: + self.dut.send_expect("sed -i -e 's/%s=.*$/" % self.compile_switch + + "%s=%s/' config/common_base" % (self.compile_switch, src_vec_model), "# ", 30) + self.dut.skip_setup = False + self.dut.build_install_dpdk(self.target) + def test_vxlan_ipv4_checksum_offload(self): """ verify vxlan packet checksum offload -- 1.9.3