From patchwork Mon Feb 7 16:00:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Owen Hilyard X-Patchwork-Id: 106982 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4F9F7A04A7; Mon, 7 Feb 2022 17:01:40 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1CF39410F3; Mon, 7 Feb 2022 17:01:40 +0100 (CET) Received: from mail-pf1-f225.google.com (mail-pf1-f225.google.com [209.85.210.225]) by mails.dpdk.org (Postfix) with ESMTP id D7699410EA for ; Mon, 7 Feb 2022 17:01:38 +0100 (CET) Received: by mail-pf1-f225.google.com with SMTP id e6so13691055pfc.7 for ; Mon, 07 Feb 2022 08:01:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=mkY1KKUN0ED8P9S4jJSzR/nY5SF6kX3k8nu4ZcqFLtQ=; b=dqHD2askFLT+rBDn05rRN3Dg41bT//QtgjW4TYpcmCSvknJ7L/yYEpE5YT8zBJ0WbW /QZc4yClZh1KLDGkx1lun+S50xd7DGEr5TVG8LbCT/oyAEsFnlZVrvbB7EWZDjDFmGEf iwyh+VZ40pp+P7V7JdK/AxIRo5mqTA/jaOd9E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=mkY1KKUN0ED8P9S4jJSzR/nY5SF6kX3k8nu4ZcqFLtQ=; b=tpS+1qLtaGrh1Po3c+Euz8B9SPiZKHVwqkINNj7vw39dZ1LtHYX7U/oYh4FLjPiIzG wGgVZqRbW91Pnpl8MlzpXUZbQv1dKP7U2rgOiQaHiyljbktkOizL/yoIxq3rK1Ip+iT+ UDBl/QB8Jf/t2XB85RXdhAVwGgbkI75nknAdvG9BT+q2UPMNMLGSJXkjH3RK5Hg0nU8f e6W3A+y9ZTqtRp5g3VBh40A0Oqfizz67K7L/3LkvsWABa4CxvL33Kz9KdcyiLE25xWhg Gfs5WGgT3LIl7BypyZwWOVbQKvVWUE/iFBjmSHgzdU4vEWhAnOtWCO7I/JOoB72e77tT LAEQ== X-Gm-Message-State: AOAM5303WWM2y168PuhU3f0mspaq4Vf3gGQdVMEPI0kyhRcD69wzkL6z 0GZI6NDYabPTai5w3zOg5g1PM/wZg8ir4gP4zZgo1LHSFZ1/NkpvHA1WmqdvncKn22dnu2XvNop Qp8cWO4nk56EJH6EM5/kfNXZ4LP/HJv7En57VoyOfV9Sgvn+0QHwfgU7QwohszzRQrZJd0j6xqA == X-Google-Smtp-Source: ABdhPJyBzjBUTy7JFjHKXfKsxT2kYWUhhOCoUFPGDz2dWgbds1EY4zkCgZ+2O6XNrbcoVJrDTzOJVnoP5sFJ X-Received: by 2002:a63:8842:: with SMTP id l63mr38571pgd.421.1644249697995; Mon, 07 Feb 2022 08:01:37 -0800 (PST) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [132.177.123.84]) by smtp-relay.gmail.com with ESMTPS id p22sm644196plb.124.2022.02.07.08.01.37 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 07 Feb 2022 08:01:37 -0800 (PST) X-Relaying-Domain: iol.unh.edu Received: from iol.unh.edu (unknown [IPv6:2606:4100:3880:1257::105d]) by postal.iol.unh.edu (Postfix) with ESMTP id D63ED605246B; Mon, 7 Feb 2022 11:01:36 -0500 (EST) From: ohilyard@iol.unh.edu To: dts@dpdk.org Cc: lijuan.tu@intel.com, Owen Hilyard Subject: [PATCH v1] framework/flow: Remove items not supported by testpmd Date: Mon, 7 Feb 2022 11:00:47 -0500 Message-Id: <20220207160046.23418-1-ohilyard@iol.unh.edu> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 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 From: Owen Hilyard Testpmd does not have full support for rte_flow at this point, and the rte_flow test suite has not been kept up to date with changes in rte_flow. As such, the logic for generating the flows had to be updated to disable some test suites to avoid false failures. Signed-off-by: Owen Hilyard --- framework/flow/flow_pattern_items.py | 500 ++++++++++++++------------- 1 file changed, 254 insertions(+), 246 deletions(-) diff --git a/framework/flow/flow_pattern_items.py b/framework/flow/flow_pattern_items.py index 3bdd25ce..0c46f2f3 100644 --- a/framework/flow/flow_pattern_items.py +++ b/framework/flow/flow_pattern_items.py @@ -136,54 +136,57 @@ class FlowItemArp_eth_ipv4(PatternFlowItem): - Default ``mask`` matches SHA, SPA, THA and TPA. """ possible_properties = { - 'hdr': - ('arp_eth_ipv4 hdr is 1', - frozenset({"Ether() / ARP(hwtype=1) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / ARP(hwtype=2) / Raw('\\x00' * 64)", - "Ether() / ARP(hwtype=3) / Raw('\\x00' * 64)", - "Ether() / ARP(hwtype=6) / Raw('\\x00' * 64)", - "Ether() / ARP(hwtype-15) / Raw('\\x00' * 64)" - })), - 'pro': - ('arp_eth_ipv4 pro is 0x0800', - frozenset({"Ether() / ARP(ptype=0x0800) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / ARP(ptype=0x0800) / Raw('\\x00' * 64)", - "Ether() / ARP(ptype=0x0842) / Raw('\\x00' * 64)", - "Ether() / ARP(ptype=0x6004) / Raw('\\x00' * 64)", - "Ether() / ARP(ptype=0x809b) / Raw('\\x00' * 64)" - })), - - 'hln': - ('arp_eth_ipv4 hln is 6', - frozenset({"Ether() / ARP(hwlen=6) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / ARP(hwlen=12) / Raw('\\x00' * 64)", - "Ether() / ARP(hwlen=2) / Raw('\\x00' * 64)", - "Ether() / ARP(hwlen=8) / Raw('\\x00' * 64)", - "Ether() / ARP(hwlen=4) / Raw('\\x00' * 64)" - })), - - 'pln': - ('arp_eth_ipv4 pln is 4', - frozenset({"Ether() / ARP(plen=4) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / ARP(plen=6) / Raw('\\x00' * 64)", - "Ether() / ARP(plen=2) / Raw('\\x00' * 64)", - "Ether() / ARP(plen=8) / Raw('\\x00' * 64)", - "Ether() / ARP(plen=12) / Raw('\\x00' * 64)" - })), - - 'op': - ('arp_eth_ipv4 op is 1', - frozenset({"Ether() / ARP(op=1) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / ARP(op=2) / Raw('\\x00' * 64)", - "Ether() / ARP(op=3) / Raw('\\x00' * 64)", - "Ether() / ARP(op=4) / Raw('\\x00' * 64)", - "Ether() / ARP(op=5) / Raw('\\x00' * 64)" - })), + # THE FOLLOWING PROPERTIES ARE UNSUPPORTED BY TESTPMD AT THE TIME OF WRITING. + # THEY CAN BE ENABLED ONCE TESTPMD SUPPORTS THEM + # 'hdr': + # ('arp_eth_ipv4 hdr is 1', + # frozenset({"Ether() / ARP(hwtype=1) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / ARP(hwtype=2) / Raw('\\x00' * 64)", + # "Ether() / ARP(hwtype=3) / Raw('\\x00' * 64)", + # "Ether() / ARP(hwtype=6) / Raw('\\x00' * 64)", + # "Ether() / ARP(hwtype-15) / Raw('\\x00' * 64)" + # })), + # 'pro': + # ('arp_eth_ipv4 pro is 0x0800', + # frozenset({"Ether() / ARP(ptype=0x0800) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / ARP(ptype=0x0800) / Raw('\\x00' * 64)", + # "Ether() / ARP(ptype=0x0842) / Raw('\\x00' * 64)", + # "Ether() / ARP(ptype=0x6004) / Raw('\\x00' * 64)", + # "Ether() / ARP(ptype=0x809b) / Raw('\\x00' * 64)" + # })), + # + # 'hln': + # ('arp_eth_ipv4 hln is 6', + # frozenset({"Ether() / ARP(hwlen=6) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / ARP(hwlen=12) / Raw('\\x00' * 64)", + # "Ether() / ARP(hwlen=2) / Raw('\\x00' * 64)", + # "Ether() / ARP(hwlen=8) / Raw('\\x00' * 64)", + # "Ether() / ARP(hwlen=4) / Raw('\\x00' * 64)" + # })), + # + # 'pln': + # ('arp_eth_ipv4 pln is 4', + # frozenset({"Ether() / ARP(plen=4) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / ARP(plen=6) / Raw('\\x00' * 64)", + # "Ether() / ARP(plen=2) / Raw('\\x00' * 64)", + # "Ether() / ARP(plen=8) / Raw('\\x00' * 64)", + # "Ether() / ARP(plen=12) / Raw('\\x00' * 64)" + # })), + # + # 'op': + # ('arp_eth_ipv4 op is 1', + # frozenset({"Ether() / ARP(op=1) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / ARP(op=2) / Raw('\\x00' * 64)", + # "Ether() / ARP(op=3) / Raw('\\x00' * 64)", + # "Ether() / ARP(op=4) / Raw('\\x00' * 64)", + # "Ether() / ARP(op=5) / Raw('\\x00' * 64)" + # })), + # END UNSUPPORTED PROPERTIES 'sha': ('arp_eth_ipv4 sha is 90:61:ae:fd:41:43', @@ -282,11 +285,12 @@ class FlowItemGre(PatternFlowItem): """ possible_properties = { 'c_rsvd0_ver': - ('gre c_rsvd0_ver is 0', - frozenset({"Ether() / GRE(chksum_present=0, version=0) / Raw('\\x00' * 64)"}), + ('gre c_rsvd0_ver is 0', + frozenset({"Ether() / GRE(chksum_present=0, version=0) / Raw('\\x00' * 64)"}), - frozenset({"Ether() / GRE(chksum_present=1, version=0)) / Raw('\\x00' * 64)", #this is the only other option - })), + frozenset({"Ether() / GRE(chksum_present=1, version=0)) / Raw('\\x00' * 64)", + # this is the only other option + })), 'protocol': ('gre protocol is 0x0800', frozenset({"Ether() / GRE(proto=0x0800) / Raw('\\x00' * 64)"}), @@ -315,7 +319,18 @@ class FlowItemIcmp(PatternFlowItem): - Default ``mask`` matches ICMP type and code only. """ possible_properties = { - + # THE FOLLOWING PROPERTIES ARE UNSUPPORTED BY TESTPMD AT THE TIME OF WRITING. + # THEY CAN BE ENABLED ONCE TESTPMD SUPPORTS THEM + # 'icmp_cksum': + # ('icmp cksum is 0x0800', + # frozenset({"Ether() / ICMP() / UDP() / Raw('\x00' * 64)"}), + # + # frozenset({"Ether() / ICMP() / UDP() / Raw('\x00' * 64)", + # "Ether() / ICMP() / UDP() / Raw('\x00' * 64)", + # "Ether() / ICMP() / UDP() / Raw('\x00' * 64)", + # "Ether() / ICMP() / UDP() / Raw('\x00' * 64)" + # })), + # END UNSUPPORTED PROPERTIES 'icmp_type': ('icmp type is 3', frozenset({"Ether() / ICMP(type=3) / Raw('\\x00' * 64)"}), @@ -335,32 +350,23 @@ class FlowItemIcmp(PatternFlowItem): "Ether() / ICMP(type=11, code=1) / Raw('\\x00' * 64)", "Ether() / ICMP(type=12, code=2) / Raw('\\x00' * 64)" })), - 'icmp_cksum': - ('icmp cksum is 0x0800', - frozenset({"Ether() / ICMP() / UDP() / Raw('\x00' * 64)"}), - - frozenset({"Ether() / ICMP() / UDP() / Raw('\x00' * 64)", - "Ether() / ICMP() / UDP() / Raw('\x00' * 64)", - "Ether() / ICMP() / UDP() / Raw('\x00' * 64)", - "Ether() / ICMP() / UDP() / Raw('\x00' * 64)" - })), 'icmp_ident': - ('icmp ident is 0x0800', - frozenset({"Ether() / ICMP() / UDP() / Raw('\x00' * 64)"}), - - frozenset({"Ether() / ICMP() / UDP() / Raw('\x00' * 64)", - "Ether() / ICMP() / UDP() / Raw('\x00' * 64)", - "Ether() / ICMP() / UDP() / Raw('\x00' * 64)", - "Ether() / ICMP() / UDP() / Raw('\x00' * 64)" - })), - 'icmp_seq_nb': - ('icmp seq_nb is 0x0800', - frozenset({"Ether() / ICMP(proto=0x0800) / UDP() / Raw('\x00' * 64)"}), - - frozenset({"Ether() / ICMP() / UDP() / Raw('\x00' * 64)", - "Ether() / ICMP() / UDP() / Raw('\x00' * 64)", - "Ether() / ICMP() / UDP() / Raw('\x00' * 64)", - "Ether() / ICMP() / UDP() / Raw('\x00' * 64)" + ('icmp ident is 0x0800', + frozenset({"Ether() / ICMP() / UDP() / Raw('\x00' * 64)"}), + + frozenset({"Ether() / ICMP() / UDP() / Raw('\x00' * 64)", + "Ether() / ICMP() / UDP() / Raw('\x00' * 64)", + "Ether() / ICMP() / UDP() / Raw('\x00' * 64)", + "Ether() / ICMP() / UDP() / Raw('\x00' * 64)" + })), + 'icmp_seq': + ('icmp seq is 0x0800', + frozenset({"Ether() / ICMP(proto=0x0800) / UDP() / Raw('\x00' * 64)"}), + + frozenset({"Ether() / ICMP() / UDP() / Raw('\x00' * 64)", + "Ether() / ICMP() / UDP() / Raw('\x00' * 64)", + "Ether() / ICMP() / UDP() / Raw('\x00' * 64)", + "Ether() / ICMP() / UDP() / Raw('\x00' * 64)" })), } @@ -375,9 +381,19 @@ class FlowItemIcmp6(PatternFlowItem): - ``checksum``: ICMPv6 checksum. - Default ``mask`` matches ``type`` and ``code``. """ - # ICMP6 NOT SUPPORTED BY TESTPMD. - # DO NOT UNCOMMENT THE FOLLOWING TEST CASES UNTIL IT IS SUPPORTED. possible_properties = { + # THE FOLLOWING PROPERTIES ARE UNSUPPORTED BY TESTPMD AT THE TIME OF WRITING. + # THEY CAN BE ENABLED ONCE TESTPMD SUPPORTS THEM + # 'checksum': + # ('icmp6 cksum is 0x1234', + # frozenset({"Ether() / ICMPv6DestUnreach(cksum=0x1234) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / ICMPv6DestUnreach(cksum=0x4321) / Raw('\\x00' * 64)", + # "Ether() / ICMPv6DestUnreach(cksum=0xffff) / Raw('\\x00' * 64)", + # "Ether() / ICMPv6DestUnreach(cksum=0x1233) / Raw('\\x00' * 64)", + # "Ether() / ICMPv6DestUnreach(cksum=0x1010) / Raw('\\x00' * 64)" + # })), + # END UNSUPPORTED PROPERTIES 'type': ('icmp6 type is 1', # Destination Unreachable frozenset({"Ether() / ICMPv6DestUnreach(type=1) / Raw('\\x00' * 64)"}), @@ -396,16 +412,6 @@ class FlowItemIcmp6(PatternFlowItem): "Ether() / ICMPv6DestUnreach(code=3) / Raw('\\x00' * 64)", "Ether() / ICMPv6DestUnreach(code=4) / Raw('\\x00' * 64)" })), - - 'checksum': - ('icmp6 cksum is 0x1234', - frozenset({"Ether() / ICMPv6DestUnreach(cksum=0x1234) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / ICMPv6DestUnreach(cksum=0x4321) / Raw('\\x00' * 64)", - "Ether() / ICMPv6DestUnreach(cksum=0xffff) / Raw('\\x00' * 64)", - "Ether() / ICMPv6DestUnreach(cksum=0x1233) / Raw('\\x00' * 64)", - "Ether() / ICMPv6DestUnreach(cksum=0x1010) / Raw('\\x00' * 64)" - })), } @@ -496,25 +502,25 @@ class FlowItemIpv6(PatternFlowItem): possible_properties = { # THE FOLLOWING PROPERTIES ARE UNSUPPORTED BY TESTPMD AT THE TIME OF WRITING. - # They are still tested to future proof this test suite. - 'vtc_flow': - ('ipv6 vtc_flow is 0x0', - frozenset({"Ether() / IPv6(tc=0, fl=0, version=0) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IPv6(tc=1, fl=0, version=0) / Raw('\\x00' * 64)", - "Ether() / IPv6(tc=0, fl=0xABCD, version=0) / Raw('\\x00' * 64)", - "Ether() / IPv6(tc=0, fl=0, version=1) / Raw('\\x00' * 64)", - "Ether() / IPv6(tc=6, fl=0x9999, version=1) / Raw('\\x00' * 64)" - })), - 'payload_len': - ('ipv6 payload_len is 64', - frozenset({"Ether() / IPv6(plen=64) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IPv6(plen=32) / Raw('\\x00' * 64)", - "Ether() / IPv6(plen=128) / Raw('\\x00' * 64)", - "Ether() / IPv6(plen=5000) / Raw('\\x00' * 64)", - "Ether() / IPv6(plen=4) / Raw('\\x00' * 64)" - })), + # THEY CAN BE ENABLED ONCE TESTPMD SUPPORTS THEM + # 'vtc_flow': + # ('ipv6 vtc_flow is 0x0', + # frozenset({"Ether() / IPv6(tc=0, fl=0, version=0) / Raw('\\x00' * 64)"}), + + # frozenset({"Ether() / IPv6(tc=1, fl=0, version=0) / Raw('\\x00' * 64)", + # "Ether() / IPv6(tc=0, fl=0xABCD, version=0) / Raw('\\x00' * 64)", + # "Ether() / IPv6(tc=0, fl=0, version=1) / Raw('\\x00' * 64)", + # "Ether() / IPv6(tc=6, fl=0x9999, version=1) / Raw('\\x00' * 64)" + # })), + # 'payload_len': + # ('ipv6 payload_len is 64', + # frozenset({"Ether() / IPv6(plen=64) / Raw('\\x00' * 64)"}), + + # frozenset({"Ether() / IPv6(plen=32) / Raw('\\x00' * 64)", + # "Ether() / IPv6(plen=128) / Raw('\\x00' * 64)", + # "Ether() / IPv6(plen=5000) / Raw('\\x00' * 64)", + # "Ether() / IPv6(plen=4) / Raw('\\x00' * 64)" + # })), # END UNSUPPORTED PROPERTIES 'tc': ('ipv6 tc is 0', @@ -655,34 +661,34 @@ class FlowItemTcp(PatternFlowItem): """ possible_properties = { # THE FOLLOWING PROPERTIES ARE UNSUPPORTED BY TESTPMD AT THE TIME OF WRITING. - # They are still tested to future proof this test suite. - 'data_off': - ('tcp data_off is 0', - frozenset({"Ether() / IP() / TCP(dataofs=0) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / TCP(dataofs=1) / Raw('\\x00' * 64)", - "Ether() / IP() / TCP(dataofs=2) / Raw('\\x00' * 64)", - "Ether() / IP() / TCP(dataofs=3) / Raw('\\x00' * 64)", - "Ether() / IP() / TCP(dataofs=4) / Raw('\\x00' * 64)" - })), - 'rx_win': - ('tcp rx_win is 64', - frozenset({"Ether() / IP() / TCP(window=64)/ Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / TCP(window=16)/ Raw('\\x00' * 64)", - "Ether() / IP() / TCP(window=128) / Raw('\\x00' * 64)", - "Ether() / IP() / TCP(window=32) / Raw('\\x00' * 64)", - "Ether() / IP() / TCP(window=255) / Raw('\\x00' * 64)" - })), - 'cksum': - ('tcp cksum is 0x1234', - frozenset({"Ether() / IP() / TCP(chksum=0x1234) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / TCP(chksum=0x4321) / Raw('\\x00' * 64)", - "Ether() / IP() / TCP(chksum=0xffff) / Raw('\\x00' * 64)", - "Ether() / IP() / TCP(chksum=0x9999) / Raw('\\x00' * 64)", - "Ether() / IP() / TCP(chksum=0x1233) / Raw('\\x00' * 64)" - })), + # THEY CAN BE ENABLED ONCE TESTPMD SUPPORTS THEM + # 'data_off': + # ('tcp data_off is 0', + # frozenset({"Ether() / IP() / TCP(dataofs=0) / Raw('\\x00' * 64)"}), + + # frozenset({"Ether() / IP() / TCP(dataofs=1) / Raw('\\x00' * 64)", + # "Ether() / IP() / TCP(dataofs=2) / Raw('\\x00' * 64)", + # "Ether() / IP() / TCP(dataofs=3) / Raw('\\x00' * 64)", + # "Ether() / IP() / TCP(dataofs=4) / Raw('\\x00' * 64)" + # })), + # 'rx_win': + # ('tcp rx_win is 64', + # frozenset({"Ether() / IP() / TCP(window=64)/ Raw('\\x00' * 64)"}), + + # frozenset({"Ether() / IP() / TCP(window=16)/ Raw('\\x00' * 64)", + # "Ether() / IP() / TCP(window=128) / Raw('\\x00' * 64)", + # "Ether() / IP() / TCP(window=32) / Raw('\\x00' * 64)", + # "Ether() / IP() / TCP(window=255) / Raw('\\x00' * 64)" + # })), + # 'cksum': + # ('tcp cksum is 0x1234', + # frozenset({"Ether() / IP() / TCP(chksum=0x1234) / Raw('\\x00' * 64)"}), + + # frozenset({"Ether() / IP() / TCP(chksum=0x4321) / Raw('\\x00' * 64)", + # "Ether() / IP() / TCP(chksum=0xffff) / Raw('\\x00' * 64)", + # "Ether() / IP() / TCP(chksum=0x9999) / Raw('\\x00' * 64)", + # "Ether() / IP() / TCP(chksum=0x1233) / Raw('\\x00' * 64)" + # })), # END UNSUPPORTED PROPERTIES 'src': ('tcp src is 3838', @@ -727,25 +733,25 @@ class FlowItemUdp(PatternFlowItem): possible_properties = { # THE FOLLOWING PROPERTIES ARE UNSUPPORTED BY TESTPMD AT THE TIME OF WRITING. - # They are still tested to future proof this test suite. - 'dgram_len': - ('udp dgram_len is 64', - frozenset({"Ether() / IP() / UDP(len=64) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / UDP(len=128) / Raw('\\x00' * 64)", - "Ether() / IP() / UDP(len=32) / Raw('\\x00' * 64)", - "Ether() / IP() / UDP(len=16) / Raw('\\x00' * 64)", - "Ether() / IP() / UDP(len=255) / Raw('\\x00' * 64)" - })), - 'dgram_cksum': - ('udp dgram_cksum is 0x1234', - frozenset({"Ether() / IP() / UDP(chksum=0x1234) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / UDP(chksum=0x4321) / Raw('\\x00' * 64)", - "Ether() / IP() / UDP(chksum=0xffff) / Raw('\\x00' * 64)", - "Ether() / IP() / UDP(chksum=0x9999) / Raw('\\x00' * 64)", - "Ether() / IP() / UDP(chksum=0x1233) / Raw('\\x00' * 64)" - })), + # THEY MAY BE RE-ENABLED ONCE TESTPMD SUPPORTS THEIR USE + # 'dgram_len': + # ('udp dgram_len is 64', + # frozenset({"Ether() / IP() / UDP(len=64) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / IP() / UDP(len=128) / Raw('\\x00' * 64)", + # "Ether() / IP() / UDP(len=32) / Raw('\\x00' * 64)", + # "Ether() / IP() / UDP(len=16) / Raw('\\x00' * 64)", + # "Ether() / IP() / UDP(len=255) / Raw('\\x00' * 64)" + # })), + # 'dgram_cksum': + # ('udp dgram_cksum is 0x1234', + # frozenset({"Ether() / IP() / UDP(chksum=0x1234) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / IP() / UDP(chksum=0x4321) / Raw('\\x00' * 64)", + # "Ether() / IP() / UDP(chksum=0xffff) / Raw('\\x00' * 64)", + # "Ether() / IP() / UDP(chksum=0x9999) / Raw('\\x00' * 64)", + # "Ether() / IP() / UDP(chksum=0x1233) / Raw('\\x00' * 64)" + # })), # END UNSUPPORTED PROPERTIES 'src': @@ -795,6 +801,18 @@ class FlowItemVlan(PatternFlowItem): tpid in testpmd = type in scapy """ possible_properties = { + # THE FOLLOWING PROPERTIES ARE UNSUPPORTED BY TESTPMD AT THE TIME OF WRITING. + # THEY MAY BE RE-ENABLED ONCE TESTPMD SUPPORTS THEIR USE + # 'tpid': + # ('vlan tpid is 0x8100', # standard value + # frozenset({"Ether() / Dot1Q(type=0x8100) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / Dot1Q(type=0x0800) / Raw('\\x00' * 64)", + # "Ether() / Dot1Q(type=0x0842) / Raw('\\x00' * 64)", + # "Ether() / Dot1Q(type=0x809b) / Raw('\\x00' * 64)", + # "Ether() / Dot1Q(type=0x86dd) / Raw('\\x00' * 64)" + # })), + # END UNSUPPORTED PROPERTIES 'tci': ('vlan tci is 0xaaaa', @@ -831,16 +849,6 @@ class FlowItemVlan(PatternFlowItem): "Ether() / Dot1Q(vlan=0x1f5) / Raw('\\x00' * 64)", "Ether() / Dot1Q(vlan=0x999) / Raw('\\x00' * 64)" })), - - 'tpid': - ('vlan tpid is 0x8100', # standard value - frozenset({"Ether() / Dot1Q(type=0x8100) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / Dot1Q(type=0x0800) / Raw('\\x00' * 64)", - "Ether() / Dot1Q(type=0x0842) / Raw('\\x00' * 64)", - "Ether() / Dot1Q(type=0x809b) / Raw('\\x00' * 64)", - "Ether() / Dot1Q(type=0x86dd) / Raw('\\x00' * 64)" - })), } @@ -859,47 +867,47 @@ class FlowItemVxlan(PatternFlowItem): """ -possible_properties = { - # THE FOLLOWING PROPERTIES ARE UNSUPPORTED BY TESTPMD AT THE TIME OF WRITING. - # They are still tested to future proof this test suite. - 'rsvd0': - ('vxlan rsvd0 is 0x000000', - frozenset({"Ether() / IP() / VXLAN(reserved0=0) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / VXLAN(reserved0=1) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(reserved0=2) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(reserved0=3) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(reserved0=4) / Raw('\\x00' * 64)" - })), - 'rsvd1': - ('vxlan rsvd1 is 0x00', - frozenset({"Ether() / IP() / VXLAN(reserved0=0) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / VXLAN(reserved0=1) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(reserved0=2) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(reserved0=3) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(reserved0=4) / Raw('\\x00' * 64)" - })), - 'flags': - ('vxlan flags is 0x08', - frozenset({"Ether() / IP() / VXLAN(flags=0x08) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / VXLAN(flags=0x80) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(flags=0x00) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(flags=0x99) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(flags=0x01) / Raw('\\x00' * 64)" - })), - # END UNSUPPORTED PROPERTIES - 'vni': # a 3-byte value - ('vxlan vni is 0x112233', - frozenset({"Ether() / IP() / VXLAN(vni=0x112233) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / VXLAN(vni=0x112234) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(vni=0x123456) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(vni=0xaabbcc) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(vni=0x999999) / Raw('\\x00' * 64)" - })), -} + possible_properties = { + # THE FOLLOWING PROPERTIES ARE UNSUPPORTED BY TESTPMD AT THE TIME OF WRITING. + # THEY CAN BE ENABLED ONCE TESTPMD SUPPORTS THEM + # 'rsvd0': + # ('vxlan rsvd0 is 0x000000', + # frozenset({"Ether() / IP() / VXLAN(reserved0=0) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / IP() / VXLAN(reserved0=1) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(reserved0=2) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(reserved0=3) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(reserved0=4) / Raw('\\x00' * 64)" + # })), + # 'rsvd1': + # ('vxlan rsvd1 is 0x00', + # frozenset({"Ether() / IP() / VXLAN(reserved0=0) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / IP() / VXLAN(reserved0=1) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(reserved0=2) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(reserved0=3) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(reserved0=4) / Raw('\\x00' * 64)" + # })), + # 'flags': + # ('vxlan flags is 0x08', + # frozenset({"Ether() / IP() / VXLAN(flags=0x08) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / IP() / VXLAN(flags=0x80) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(flags=0x00) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(flags=0x99) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(flags=0x01) / Raw('\\x00' * 64)" + # })), + # END UNSUPPORTED PROPERTIES + 'vni': # a 3-byte value + ('vxlan vni is 0x112233', + frozenset({"Ether() / IP() / VXLAN(vni=0x112233) / Raw('\\x00' * 64)"}), + + frozenset({"Ether() / IP() / VXLAN(vni=0x112234) / Raw('\\x00' * 64)", + "Ether() / IP() / VXLAN(vni=0x123456) / Raw('\\x00' * 64)", + "Ether() / IP() / VXLAN(vni=0xaabbcc) / Raw('\\x00' * 64)", + "Ether() / IP() / VXLAN(vni=0x999999) / Raw('\\x00' * 64)" + })), + } class FlowItemVxlan_gpe(PatternFlowItem): @@ -917,37 +925,46 @@ class FlowItemVxlan_gpe(PatternFlowItem): NOT CURRENTLY SUPPORTED BY TESTPMD. """ - # THE FOLLOWING PROPERTIES ARE UNSUPPORTED BY TESTPMD AT THE TIME OF WRITING. - # They are still tested to future proof this test suite. possible_properties = { - - 'rsvd0': - ('vxlan rsvd0 is 0x000000', - frozenset({"Ether() / IP() / VXLAN(reserved0=0) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / VXLAN(reserved0=1) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(reserved0=2) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(reserved0=3) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(reserved0=4) / Raw('\\x00' * 64)" - })), - 'rsvd1': - ('vxlan rsvd1 is 0x00', - frozenset({"Ether() / IP() / VXLAN(reserved0=0) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / VXLAN(reserved0=1) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(reserved0=2) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(reserved0=3) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(reserved0=4) / Raw('\\x00' * 64)" - })), - 'flags': - ('vxlan flags is 0x08', - frozenset({"Ether() / IP() / VXLAN(flags=0x08) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / VXLAN(flags=0x80) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(flags=0x00) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(flags=0x99) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(flags=0x01) / Raw('\\x00' * 64)" - })), + # THE FOLLOWING PROPERTIES ARE UNSUPPORTED BY TESTPMD AT THE TIME OF WRITING. + # THEY CAN BE ENABLED ONCE TESTPMD SUPPORTS THEM + # 'rsvd0': + # ('vxlan rsvd0 is 0x000000', + # frozenset({"Ether() / IP() / VXLAN(reserved0=0) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / IP() / VXLAN(reserved0=1) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(reserved0=2) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(reserved0=3) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(reserved0=4) / Raw('\\x00' * 64)" + # })), + # 'rsvd1': + # ('vxlan rsvd1 is 0x00', + # frozenset({"Ether() / IP() / VXLAN(reserved0=0) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / IP() / VXLAN(reserved0=1) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(reserved0=2) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(reserved0=3) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(reserved0=4) / Raw('\\x00' * 64)" + # })), + # 'flags': + # ('vxlan flags is 0x08', + # frozenset({"Ether() / IP() / VXLAN(flags=0x08) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / IP() / VXLAN(flags=0x80) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(flags=0x00) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(flags=0x99) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(flags=0x01) / Raw('\\x00' * 64)" + # })), + # 'protocol': + # ('vxlan protocol is 0x01', + # frozenset({"Ether() / IP() / VXLAN(NextProtocol=0x01) / Raw('\\x00' * 64)"}), + # + # frozenset({"Ether() / IP() / VXLAN(NextProtocol=0x01) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(NextProtocol=0x11) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(NextProtocol=0x22) / Raw('\\x00' * 64)", + # "Ether() / IP() / VXLAN(NextProtocol=0x33) / Raw('\\x00' * 64)" + # })), + # END UNSUPPORTED PROPERTIES 'vni': # a 3-byte value ('vxlan vni is 0x112233', @@ -958,15 +975,6 @@ class FlowItemVxlan_gpe(PatternFlowItem): "Ether() / IP() / VXLAN(vni=0xaabbcc) / Raw('\\x00' * 64)", "Ether() / IP() / VXLAN(vni=0x999999) / Raw('\\x00' * 64)" })), - 'protocol': - ('vxlan protocol is 0x01', - frozenset({"Ether() / IP() / VXLAN(NextProtocol=0x01) / Raw('\\x00' * 64)"}), - - frozenset({"Ether() / IP() / VXLAN(NextProtocol=0x01) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(NextProtocol=0x11) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(NextProtocol=0x22) / Raw('\\x00' * 64)", - "Ether() / IP() / VXLAN(NextProtocol=0x33) / Raw('\\x00' * 64)" - })), }