From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 56DEF11D4 for ; Mon, 15 May 2017 07:23:52 +0200 (CEST) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP; 14 May 2017 22:23:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,343,1491289200"; d="scan'208";a="101534536" Received: from stv-crb-56.sh.intel.com (HELO [10.239.128.116]) ([10.239.128.116]) by fmsmga005.fm.intel.com with ESMTP; 14 May 2017 22:23:50 -0700 Message-ID: <59193872.8050403@intel.com> Date: Mon, 15 May 2017 13:11:14 +0800 From: "Liu, Yong" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: "xu,huilong" , dts@dpdk.org References: <1494820647-48137-1-git-send-email-huilongx.xu@intel.com> <1494820647-48137-3-git-send-email-huilongx.xu@intel.com> In-Reply-To: <1494820647-48137-3-git-send-email-huilongx.xu@intel.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dts] [PATCH V3 2/2] add link bond slave dynamic config test 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: Mon, 15 May 2017 05:23:53 -0000 Huilong, Please check with pep8 rule. On 05/15/2017 11:57 AM, xu,huilong wrote: > update list: > 1 add link bond slave dynamic config test case > 2 use two port for this suite > > different V2 patch: > update code style and add some comments in test case > > Signed-off-by: xu,huilong > --- > tests/TestSuite_pmdrss_hash.py | 41 ++++++++++++++++++++++++++++++++++++++--- > 1 file changed, 38 insertions(+), 3 deletions(-) > > diff --git a/tests/TestSuite_pmdrss_hash.py b/tests/TestSuite_pmdrss_hash.py > index 78ae34d..dcff1c0 100644 > --- a/tests/TestSuite_pmdrss_hash.py > +++ b/tests/TestSuite_pmdrss_hash.py > @@ -417,10 +417,11 @@ class TestPmdrssHash(TestCase): > """ > > self.verify(self.nic in ["fortville_eagle", "fortville_spirit", > - "fortville_spirit_single", "redrockcanyou", "atwood", "boulderrapid", "fortpark_TLV"], > + "fortville_spirit_single", "redrockcanyou", "atwood", > + "boulderrapid", "fortpark_TLV","fortville_25g"], > "NIC Unsupported: " + str(self.nic)) > global reta_num > - if self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortpark_TLV"]: > + if self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortpark_TLV","fortville_25g"]: Please add space between two elements. > reta_num = 512 > elif self.nic in ["niantic"]: > reta_num = 128 > @@ -429,7 +430,7 @@ class TestPmdrssHash(TestCase): > else: > self.verify(False, "NIC Unsupported:%s" % str(self.nic)) > ports = self.dut.get_ports(self.nic) > - self.verify(len(ports) >= 1, "Not enough ports available") > + self.verify(len(ports) >= 2, "Not enough ports available") > > def set_up(self): > """ > @@ -651,6 +652,40 @@ class TestPmdrssHash(TestCase): > > self.dut.send_expect("quit", "# ", 30) > > + def test_dynamic_rss_bond_config(self): > + > + # setup testpmd and finish bond config > + self.dut.send_expect("./%s/app/testpmd -c f -n 4 -- -i --txqflags=0" % self.target, "testpmd> ", 120) > + out = self.dut.send_expect("create bonded device 3 0", "testpmd> ", 30) > + bond_device_id = int(re.search("port \d+", out).group().split(" ")[-1].strip()) > + > + self.dut.send_expect("add bonding slave 0 %d" % bond_device_id, "testpmd>", 30) > + self.dut.send_expect("add bonding slave 1 %d" % bond_device_id, "testpmd>", 30) > + > + # get slave device default rss hash algorithm > + out = self.dut.send_expect("get_hash_global_config 0", "testpmd>") > + slave0_hash_function = re.search("Hash function is .+", out).group().split(" ")[-1].strip() > + out = self.dut.send_expect("get_hash_global_config 1", "testpmd>") > + slave1_hash_function = re.search("Hash function is .+", out).group().split(" ")[-1].strip() > + self.verify(slave0_hash_function == slave1_hash_function, "default hash function not match") > + > + new_hash_function = "" > + for hash_function in ["toeplitz", "simple_xor"]: > + if slave0_hash_function[-3:].lower() != hash_function[-3:]: > + new_hash_function = hash_function > + # update slave 0 rss hash algorithm and get slave 0 and slave 1 rss new hash algorithm > + self.dut.send_expect("set_hash_global_config 0 %s ipv4-other enable" % new_hash_function, "testpmd>") > + out = self.dut.send_expect("get_hash_global_config 0", "testpmd>") > + slave0_new_hash_function = re.search("Hash function is .+", out).group().split(" ")[-1].strip() > + out = self.dut.send_expect("get_hash_global_config 1", "testpmd>") > + slave1_new_hash_function = re.search("Hash function is .+", out).group().split(" ")[-1].strip() > + > + self.verify(slave0_new_hash_function == slave1_new_hash_function, "bond slave auto sync hash function failed") > + self.verify(slave0_new_hash_function[-3:].lower() == new_hash_function[-3:], "changed slave hash function failed") > + > + self.dut.send_expect("remove bonding slave 0 %d" % bond_device_id, "testpmd>", 30) > + self.dut.send_expect("remove bonding slave 1 %d" % bond_device_id, "testpmd>", 30) > + self.dut.send_expect("quit","# ", 30) Please add space line between functions. > def tear_down(self): > """ > Run after each test case.