From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E5712A04EF; Tue, 2 Jun 2020 04:59:57 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CC4711BFCE; Tue, 2 Jun 2020 04:59:57 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 00DEB1BFB5 for ; Tue, 2 Jun 2020 04:59:55 +0200 (CEST) IronPort-SDR: DO8XB5qd4L+cfj279IsbmBARLqS/5Djc7BL2xK2ffLK0LxzuJ7G0s9swImvOw7Vl4Yz3XLhyQf K/Xy1ix20eOA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Jun 2020 19:59:55 -0700 IronPort-SDR: JSuTpmFKQGo8FQ4c/UlqRxuEdZoQgM5GXu7MM38EM9CKl5oO07e97fxZ8BoHNy/SntyQocb1BN SH546f7BpqQg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,462,1583222400"; d="scan'208";a="347251223" Received: from unknown (HELO dpdk-zhushuai-tetser.icx.intel.com) ([10.240.183.103]) by orsmga001.jf.intel.com with ESMTP; 01 Jun 2020 19:59:53 -0700 From: Zeng Xiaoxiao To: dts@dpdk.org Cc: Zeng Xiaoxiao Date: Tue, 2 Jun 2020 11:42:04 +0000 Message-Id: <20200602114204.6110-1-xiaoxiaox.zeng@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [dts] [PATCH V1 2/2] tests/rte_flow_common: add function for cvl_advanced_iavf_rss 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: , Errors-To: dts-bounces@dpdk.org Sender: "dts" Signed-off-by: Zeng Xiaoxiao --- tests/rte_flow_common.py | 66 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/tests/rte_flow_common.py b/tests/rte_flow_common.py index be0e434..0c4a13a 100644 --- a/tests/rte_flow_common.py +++ b/tests/rte_flow_common.py @@ -473,3 +473,69 @@ def find_queueid_rxpackets_list(id, q_rx_list): if (int(item[0]) == id): return int(item[1]) return 0 + +def check_iavf_packets_rss_queue(out, count, rss_match=True): + """ + check each queue has receive packets + """ + out = out.split("Forward statistics for port 0")[0] + lines = out.split("\r\n") + queue_flag = 0 + packet_sumnum = 0 + + for line in lines: + line = line.strip() + if "Forward Stats" in line.strip(): + result_scanner = r"RX Port= \d+/Queue=\s?([0-9]+)" + scanner = re.compile(result_scanner, re.DOTALL) + m = scanner.search(line) + queue_num = m.group(1) + if queue_num is not None: + queue_flag = queue_flag + 1 + + elif line.strip().startswith("RX-packets"): + result_scanner = r"RX-packets:\s?([0-9]+)" + scanner = re.compile(result_scanner, re.DOTALL) + m = scanner.search(line) + packet_num = m.group(1) + if len(packet_num) != 0: + packet_sumnum = packet_sumnum + int(packet_num) + + if rss_match: + if queue_flag >= 10 and packet_sumnum == count: + log_msg = "Packets has send to %s queues" % queue_flag + return True, log_msg + else: + log_msg = "Packets not send to different queues" + return False, log_msg + else: + if queue_flag == 1 and packet_sumnum == count: + log_msg = "Packets not match rule" + return True, log_msg + else: + log_msg = "Packets send to different queues" + return False, log_msg + + +def check_pf_rss_queue(out, count): + """ + check each queue has receive packets + """ + lines = out.split("\r\n") + queue_num = [] + packet_sumnum = 0 + + for line in lines: + line = line.strip() + if "_packets" in line.strip(): + result_scanner = r"rx_queue_\d+_packets:\s?(\d+)" + scanner = re.compile(result_scanner, re.DOTALL) + m = scanner.search(line) + queue_pkg = m.group(1) + queue_num.append(queue_pkg) + packet_sumnum = packet_sumnum + int(queue_pkg) + + if packet_sumnum == count and len(queue_num) == 10: + return True + else: + return False \ No newline at end of file -- 2.17.1