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 C0EBA288C for ; Fri, 25 Jan 2019 06:48:07 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Jan 2019 21:48:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,519,1539673200"; d="scan'208";a="141189263" Received: from unknown (HELO localhost.localdomain.sh.intel.com) ([10.240.176.135]) by fmsmga001.fm.intel.com with ESMTP; 24 Jan 2019 21:48:05 -0800 From: Wenjie Li To: dts@dpdk.org Cc: Wenjie Li Date: Fri, 25 Jan 2019 13:51:45 +0800 Message-Id: <1548395505-33406-1-git-send-email-wenjiex.a.li@intel.com> X-Mailer: git-send-email 1.9.3 Subject: [dts] [PATCH V2] tests/shutdown_api: update enable_disablerss 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: Fri, 25 Jan 2019 05:48:08 -0000 Align to the changes of test plan. Signed-off-by: Wenjie Li --- V1: 1. start testpmd with "--txq=16 --rxq=16". 2. change the command to enable rss. 3. check all forward packets are not in the same queue. 4. add parameter "enable_rss" in check_forwarding() and send_packet() to get the queue id of forward packet. V2: Get the queue id only when rss is enabled. tests/TestSuite_shutdown_api.py | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/tests/TestSuite_shutdown_api.py b/tests/TestSuite_shutdown_api.py index 9f3f03f..2569159 100644 --- a/tests/TestSuite_shutdown_api.py +++ b/tests/TestSuite_shutdown_api.py @@ -40,6 +40,7 @@ import utils import time import re import os +import random from test_case import TestCase from pmd_output import PmdOutput from settings import HEADER_SIZE, PROTOCOL_PACKET_SIZE @@ -83,14 +84,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, vlan_strip=False): + def check_forwarding(self, ports=None, pktSize=68, received=True, vlan=False, promisc=False, vlan_strip=False, enable_rss=False): if ports is None: ports = self.ports if len(ports) == 1: - self.send_packet(ports[0], ports[0], pktSize, received, vlan, promisc, vlan_strip) + self.send_packet(ports[0], ports[0], pktSize, received, vlan, promisc, vlan_strip, enable_rss) return - def send_packet(self, txPort, rxPort, pktSize=68, received=True, vlan=False, promisc=False, vlan_strip=False): + def send_packet(self, txPort, rxPort, pktSize=68, received=True, vlan=False, promisc=False, vlan_strip=False, enable_rss=False): """ Send packages according to parameters. """ @@ -113,11 +114,19 @@ class TestShutdownApi(TestCase): pkg = 'Ether(src="%s", dst="%s")/Dot1Q(vlan=1)/IP()/Raw(load="P" * %d)' % (smac, dmac, padding) else: padding = pktSize - HEADER_SIZE['eth'] - HEADER_SIZE['ip'] - pkg = 'Ether(src="%s", dst="%s")/IP()/Raw(load="P" * %d)' % (smac, dmac, padding) + if enable_rss: + sip = "192.168.0.1" + dip = "192.168.0.%s" % random.randint(2, 254) + pkg = 'Ether(src="%s", dst="%s")/IP(src="%s", dst="%s")/Raw(load="P" * %d)' % (smac, dmac, sip, dip, padding) + else: + pkg = 'Ether(src="%s", dst="%s")/IP()/Raw(load="P" * %d)' % (smac, dmac, padding) self.tester.scapy_foreground() self.tester.scapy_append('sendp(%s, iface="%s")' % (pkg, itf)) self.tester.scapy_execute() + if enable_rss: + out = self.dut.get_session_output() + self.acutal_queue_id = int(re.compile('Receive queue=(.*?)\s+?').findall(out, re.S)[0], 16) time.sleep(3) port0_stats = self.get_stats(txPort) @@ -397,14 +406,22 @@ class TestShutdownApi(TestCase): """ Enable/Disable RSS. """ - self.pmdout.start_testpmd("Default", "--portmask=%s --port-topology=loop" % utils.create_mask(self.ports), socket=self.ports_socket) + self.queue_num = 16 + self.pmdout.start_testpmd("Default", "--portmask=%s --port-topology=loop --txq=%s --rxq=%s" + % (utils.create_mask(self.ports), self.queue_num, self.queue_num), socket=self.ports_socket) self.dut.send_expect("port stop all", "testpmd> ", 100) - self.dut.send_expect("port config rss ip", "testpmd> ") + self.dut.send_expect("port config all rss ip", "testpmd> ") self.dut.send_expect("set fwd mac", "testpmd>") self.dut.send_expect("port start all", "testpmd> ", 100) self.dut.send_expect("start", "testpmd> ") - self.check_forwarding() + self.dut.send_expect("set verbose 1", "testpmd> ") + queue_list = [] + for i in range(0, self.queue_num): + self.check_forwarding(enable_rss=True) + queue_list.append(self.acutal_queue_id) + print("Forward packets to queues: %s" % queue_list) + self.verify(len(list(set(queue_list))) > 1, "All packets were send to the same queue %s" %self.acutal_queue_id) def test_change_numberrxdtxd(self): """ -- 2.17.2