From: ohilyard@iol.unh.edu
To: dts@dpdk.org
Cc: lijuan.tu@intel.com, Owen Hilyard <ohilyard@iol.unh.edu>
Subject: [dts] [PATCH] framework/flow: Update rteflow for new scapy versions
Date: Mon, 23 Aug 2021 15:02:09 -0400 [thread overview]
Message-ID: <20210823190209.62859-1-ohilyard@iol.unh.edu> (raw)
From: Owen Hilyard <ohilyard@iol.unh.edu>
Scapy changed some behavior which broke the test suite. This should fix
that.
Signed-off-by: Owen Hilyard <ohilyard@iol.unh.edu>
---
framework/flow/flow.py | 3 +-
framework/flow/flow_action_items.py | 670 +++++++++++++--------------
framework/flow/flow_pattern_items.py | 630 ++++++++++++-------------
framework/flow/generator.py | 11 +-
tests/TestSuite_rte_flow.py | 42 +-
5 files changed, 677 insertions(+), 679 deletions(-)
diff --git a/framework/flow/flow.py b/framework/flow/flow.py
index 2cce0796..24ed2d7d 100644
--- a/framework/flow/flow.py
+++ b/framework/flow/flow.py
@@ -39,6 +39,7 @@ from functools import reduce
from typing import List, FrozenSet, Union, Iterable, Tuple
from scapy.layers.l2 import Ether
+from scapy.packet import Raw
from flow.enums import FlowItemType, FlowActionType
from flow.exceptions import InvalidFlowItemException
@@ -47,7 +48,7 @@ from flow.flow_items import FlowItem
from flow.flow_pattern_items import PatternFlowItem, TUNNELING_PROTOCOLS
# Get reserved mac addresses
-NEVER_MATCH_PACKET = Ether(src="", dst="") / ('\x00' * 64)
+NEVER_MATCH_PACKET = Ether(src="", dst="") / Raw('\x00' * 64)
def _iterable_deep_compare(i1, i2):
diff --git a/framework/flow/flow_action_items.py b/framework/flow/flow_action_items.py
index b08272f9..7130f846 100644
--- a/framework/flow/flow_action_items.py
+++ b/framework/flow/flow_action_items.py
@@ -107,11 +107,11 @@ class FlowActionVoid(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions void / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -119,11 +119,11 @@ class FlowActionPassthru(ActionFlowItem):
type = FlowActionType.PASSTHRU
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions passthru / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -131,11 +131,11 @@ class FlowActionFlag(ActionFlowItem):
type = FlowActionType.FLAG
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions flag / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -143,11 +143,11 @@ class FlowActionDrop(ActionFlowItem):
type = FlowActionType.DROP
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions drop / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -156,17 +156,17 @@ class FlowActionCount(ActionFlowItem):
test_case = {
'test_shared': ('ingress pattern eth / ipv4 src is 192.168.0.1'
' / udp / end actions count shared 0 id 1 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
'test_id': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions count id 1 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -176,15 +176,15 @@ class FlowActionMac_swap(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions mac_swap / end',
frozenset({"Ether(src=\"90:61:ae:fd:41:43\", dst = \"ab:cd:ef:12:34:56\") "
- "/ IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
+ "/ IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
frozenset({"Ether(src=\"90:61:ae:fd:41:43\", dst = \"ab:cd:ef:12:34:56\") "
- "/ IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
+ "/ IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
"Ether(src=\"90:61:ae:fd:41:43\", dst = \"ab:cd:ef:12:34:56\") "
- "/ IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
+ "/ IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
"Ether(src=\"90:61:ae:fd:41:43\", dst = \"ab:cd:ef:12:34:56\") "
- "/ IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
+ "/ IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
"Ether(src=\"90:61:ae:fd:41:43\", dst = \"ab:cd:ef:12:34:56\") "
- "/ IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ "/ IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -193,11 +193,11 @@ class FlowActionDec_ttl(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions dec_ttl / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\", ttl = 128) / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\", ttl = 128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\", ttl = 128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\", ttl = 128 ) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\", ttl = 128) / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\", ttl = 128) / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\", ttl = 128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\", ttl = 128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\", ttl = 128 ) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\", ttl = 128) / UDP() / Raw('\\x00' * 64)"})),
}
@@ -206,11 +206,11 @@ class FlowActionJump(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions jump group 1 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -219,11 +219,11 @@ class FlowActionMark(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions mark id 0xABCDEF / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -231,11 +231,11 @@ class FlowActionQueue(ActionFlowItem):
type = FlowActionType.QUEUE
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions queue index 1 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -246,11 +246,11 @@ class FlowActionRss(ActionFlowItem):
'''
test_case = {
'case1': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
'''
@@ -259,11 +259,11 @@ class FlowActionPf(ActionFlowItem):
type = FlowActionType.PF
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions pf / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -272,17 +272,17 @@ class FlowActionVf(ActionFlowItem):
test_case = {
'test_original': ('ingress pattern eth / ipv4 src is 192.168.0.1 /'
' udp / end actions vf original 1/ end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
'test_id': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions vf id 1 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -293,19 +293,19 @@ class FlowActionPhy_port(ActionFlowItem):
# original port index
'test_original': ('ingress pattern eth / ipv4 src is 192.168.0.1'
' / udp / end actions phy_port original / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
# physical port index
'test_index': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions phy_port index 1 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -316,19 +316,19 @@ class FlowActionPort_id(ActionFlowItem):
# original DPDK port ID
'test_original': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions port_id original / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
# DPDK port ID
'test_id': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions port_id id 1 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -336,11 +336,11 @@ class FlowActionMeter(ActionFlowItem):
type = FlowActionType.METER
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions meter mtr_id 1 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -349,11 +349,11 @@ class FlowActionSecurity(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1'
' / udp / end actions security security_session 1 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -364,12 +364,12 @@ class FlowActionOf_set_mpls_ttl(ActionFlowItem):
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions of_set_mpls_ttl mpls_ttl 64 / end',
frozenset({"Ether() / IP(src=\"192.168.0.1\") / MPLS(label = 0xab, ttl=128)"
- " / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)",
+ " / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)",
"Ether() / IP(src=\"132.177.0.99\") / MPLS(label = 0xab, ttl=128)"
- " / UDP() / ('\\x00' * 64)"})),
+ " / UDP() / Raw('\\x00' * 64)"})),
}
@@ -379,11 +379,11 @@ class FlowActionOf_dec_mpls_ttl(ActionFlowItem):
test_case = {
'test': (
'ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions of_dec_mpls_ttl / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)"})),
}
@@ -393,11 +393,11 @@ class FlowActionOf_set_nw_ttl(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions of_set_nw_ttl nw_ttl 64 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\", ttl=128) / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\", ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\", ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\", ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\", ttl=128) / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\", ttl=128) / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\", ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\", ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\", ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\", ttl=128) / UDP() / Raw('\\x00' * 64)"})),
}
@@ -406,11 +406,11 @@ class FlowActionOf_dec_nw_ttl(ActionFlowItem):
test_case = {
'test': (
'ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions of_dec_nw_ttl / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\", ttl=128) / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\", ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\", ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\", ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\", ttl=128) / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\", ttl=128) / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\", ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\", ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\", ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\", ttl=128) / UDP() / Raw('\\x00' * 64)"})),
}
@@ -420,11 +420,11 @@ class FlowActionOf_copy_ttl_out(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions of_copy_ttl_out / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -434,11 +434,11 @@ class FlowActionOf_copy_ttl_in(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions of_copy_ttl_out / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -448,15 +448,15 @@ class FlowActionOf_pop_vlan(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions of_pop_vlan / end',
frozenset({"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"192.168.0.1\") "
- "/ UDP() / ('\\x00' * 64)"}),
+ "/ UDP() / Raw('\\x00' * 64)"}),
frozenset({"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"192.168.0.2\") "
- "/ UDP() / ('\\x00' * 64)",
+ "/ UDP() / Raw('\\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"10.0.30.99\") "
- "/ UDP() / ('\\x00' * 64)",
+ "/ UDP() / Raw('\\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"8.8.8.8\") "
- "/ UDP() / ('\\x00' * 64)",
+ "/ UDP() / Raw('\\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"132.177.0.99\")"
- " / UDP() / ('\\x00' * 64)"})),
+ " / UDP() / Raw('\\x00' * 64)"})),
}
@@ -466,15 +466,15 @@ class FlowActionOf_push_vlan(ActionFlowItem):
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1'
' / udp / end actions of_push_vlan ethertype 0x8100 / end',
frozenset({"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"192.168.0.1\") "
- "/ UDP() / ('\\x00' * 64)"}),
+ "/ UDP() / Raw('\\x00' * 64)"}),
frozenset({"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"192.168.0.2\") "
- "/ UDP() / ('\\x00' * 64)",
+ "/ UDP() / Raw('\\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"10.0.30.99\") "
- "/ UDP() / ('\\x00' * 64)",
+ "/ UDP() / Raw('\\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"8.8.8.8\") "
- "/ UDP() / ('\\x00' * 64)",
+ "/ UDP() / Raw('\\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"132.177.0.99\")"
- " / UDP() / ('\\x00' * 64)"})),
+ " / UDP() / Raw('\\x00' * 64)"})),
}
@@ -486,16 +486,16 @@ class FlowActionOf_set_vlan_vid(ActionFlowItem):
'/ udp / end actions of_set_vlan_vid vlan_vid 0xbbb / end',
frozenset({
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"192.168.0.1\")"
- " / UDP() / ('\\x00' * 64)"}),
+ " / UDP() / Raw('\\x00' * 64)"}),
frozenset({
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"192.168.0.2\") "
- "/ UDP() / ('\\x00' * 64)",
+ "/ UDP() / Raw('\\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"10.0.30.99\") "
- "/ UDP() / ('\x00' * 64)",
+ "/ UDP() / Raw('\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"8.8.8.8\") "
- "/ UDP() / ('\x00' * 64)",
+ "/ UDP() / Raw('\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"132.177.0.99\") "
- "/ UDP() / ('\\x00' * 64)"})),
+ "/ UDP() / Raw('\\x00' * 64)"})),
}
@@ -506,16 +506,16 @@ class FlowActionOf_set_vlan_pcp(ActionFlowItem):
' / udp / end actions of_set_vlan_vid vlan_pcp 0x7 / end',
frozenset({
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"192.168.0.1\") "
- "/ UDP() / ('\\x00' * 64)"}),
+ "/ UDP() / Raw('\\x00' * 64)"}),
frozenset({
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"192.168.0.2\") "
- "/ UDP() / ('\\x00' * 64)",
+ "/ UDP() / Raw('\\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"10.0.30.99\") "
- "/ UDP() / ('\x00' * 64)",
+ "/ UDP() / Raw('\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"8.8.8.8\") "
- "/ UDP() / ('\x00' * 64)",
+ "/ UDP() / Raw('\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / IP(src=\"132.177.0.99\") "
- "/ UDP() / ('\\x00' * 64)"})),
+ "/ UDP() / Raw('\\x00' * 64)"})),
}
@@ -525,11 +525,11 @@ class FlowActionOf_pop_mpls(ActionFlowItem):
'test': (
'ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions of_pop_mpls ethertype 0x0806 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)"})),
}
@@ -540,11 +540,11 @@ class FlowActionOf_push_mpls(ActionFlowItem):
'test': (
'ingress pattern eth / ipv4 src is 192.168.0.1'
' / udp / end actions of_push_mpls ethertype 0x0806 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / MPLS(label = 0xab, ttl=128) / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / MPLS(label = 0xab, ttl=128) / UDP() / Raw('\\x00' * 64)"})),
}
@@ -555,11 +555,11 @@ class FlowActionVxlan_encap(ActionFlowItem):
# VXLAN encap definition is the VNI?
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1'
' / udp / end actions vxlan_encap definition 0x112233 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -568,11 +568,11 @@ class FlowActionVxlan_decap(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions vxlan_decap / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / VXLAN() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / VXLAN() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / VXLAN() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / VXLAN() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / VXLAN() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / VXLAN() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / VXLAN() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / VXLAN() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / VXLAN() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / VXLAN() / Raw('\\x00' * 64)"})),
}
@@ -583,11 +583,11 @@ class FlowActionNvgre_encap(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1
/ udp / end actions nvgre_encap definition 0x112233 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / NVGRE() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / NVGRE() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / NVGRE() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / NVGRE() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / NVGRE() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / NVGRE() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / NVGRE() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / NVGRE() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / NVGRE() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / NVGRE() / Raw('\\x00' * 64)"})),
}
'''
@@ -598,11 +598,11 @@ class FlowActionNvgre_decap(ActionFlowItem):
'''
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions nvgre_decap / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / NVGRE() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / NVGRE() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / NVGRE() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / NVGRE() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / NVGRE() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / NVGRE() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / NVGRE() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / NVGRE() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / NVGRE() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / NVGRE() / Raw('\\x00' * 64)"})),
}
'''
@@ -618,27 +618,27 @@ class FlowActionRaw_encap(ActionFlowItem):
test_case = {
'test_data': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions raw_encap data 0x8100aaaa / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
'test_preserve': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions raw_encap data 0x8100aaaa preserve 0xffffffff / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
# Is "size" in bits or bytes? Unclear in documentation, defaulting to bits.
'test_size': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions raw_encap data 0x8100aaaa size 32 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -648,30 +648,30 @@ class FlowActionRaw_decap(ActionFlowItem):
'test_data': (
'ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions raw_decap data 0x8100aaaa / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
frozenset({"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xbbb) / IP(src=\"192.168.0.2\")"
- " / UDP() / ('\\x00' * 64)",
+ " / UDP() / Raw('\\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xbbb) / IP(src=\"10.0.30.99\") "
- "/ UDP() / ('\x00' * 64)",
+ "/ UDP() / Raw('\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xbbb) / IP(src=\"8.8.8.8\")"
- " / UDP() / ('\x00' * 64)",
+ " / UDP() / Raw('\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xbbb) / IP(src=\"132.177.0.99\") "
- "/ UDP() / ('\\x00' * 64)"})),
+ "/ UDP() / Raw('\\x00' * 64)"})),
# Is "size" in bits or bytes? Unclear in documentation, defaulting to bits.
'test_size': (
'ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions raw_decap data 0x8100aaaa size 32 / end',
frozenset({"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xbbb) / IP(src=\"192.168.0.1\") "
- "/ UDP() / ('\\x00' * 64)"}),
+ "/ UDP() / Raw('\\x00' * 64)"}),
frozenset({"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xbbb) / IP(src=\"192.168.0.2\") "
- "/ UDP() / ('\\x00' * 64)",
+ "/ UDP() / Raw('\\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xbbb) / IP(src=\"10.0.30.99\")"
- " / UDP() / ('\x00' * 64)",
+ " / UDP() / Raw('\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xbbb) / IP(src=\"8.8.8.8\") "
- "/ UDP() / ('\x00' * 64)",
+ "/ UDP() / Raw('\x00' * 64)",
"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xbbb) / IP(src=\"132.177.0.99\") "
- "/ UDP() / ('\\x00' * 64)"})),
+ "/ UDP() / Raw('\\x00' * 64)"})),
}
@@ -681,11 +681,11 @@ class FlowActionSet_ipv4_src(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions set_ipv4_src ipv4_addr 172.16.0.10 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -695,11 +695,11 @@ class FlowActionSet_ipv4_dst(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 dst is 192.168.0.1'
' / udp / end actions set_ipv4_dst ipv4_addr 172.16.0.10 / end',
- frozenset({"Ether() / IP(dst=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(dst=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(dst=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(dst=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(dst=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(dst=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(dst=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(dst=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(dst=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(dst=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -710,12 +710,12 @@ class FlowActionSet_ipv6_src(ActionFlowItem):
'test': ('ingress pattern eth / ipv6 src is 2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c2 '
'/ udp / end actions set_ipv6_src ipv6_addr 2001:0000:9d38:6ab8:1c48:9999:aaaa:bbbb',
frozenset({"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c2\") "
- "/ UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c3\") / UDP() / ('\\x00' * 64)",
- "Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c4\") / UDP() / ('\x00' * 64)",
- "Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c5\") / UDP() / ('\x00' * 64)",
+ "/ UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c3\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c4\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c5\") / UDP() / Raw('\x00' * 64)",
"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c6\") "
- "/ UDP() / ('\\x00' * 64)"})),
+ "/ UDP() / Raw('\\x00' * 64)"})),
}
@@ -726,12 +726,12 @@ class FlowActionSet_ipv6_dst(ActionFlowItem):
'test': ('ingress pattern eth / ipv6 dst is 2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c2 '
'/ udp / end actions set_ipv6_dst ipv6_addr 2001:0000:9d38:6ab8:1c48:9999:aaaa:bbbb',
frozenset({"Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c2\")"
- " / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c3\") / UDP() / ('\\x00' * 64)",
- "Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c4\") / UDP() / ('\x00' * 64)",
- "Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c5\") / UDP() / ('\x00' * 64)",
+ " / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c3\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c4\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c5\") / UDP() / Raw('\x00' * 64)",
"Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c6\") "
- "/ UDP() / ('\\x00' * 64)"})),
+ "/ UDP() / Raw('\\x00' * 64)"})),
}
@@ -742,20 +742,20 @@ class FlowActionSet_tp_src(ActionFlowItem):
# UDP
'test_udp': ('ingress pattern eth / ipv4 src is 192.168.0.1'
' / udp / end actions set_tp_src port 1998 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") UDP(sport=3838) / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") UDP(sport=3838) / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") UDP(sport=3838) / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") UDP(sport=3838) / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") UDP(sport=3838) / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") UDP(sport=3838) / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") UDP(sport=3838) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") UDP(sport=3838) / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") UDP(sport=3838) / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") UDP(sport=3838) / Raw('\\x00' * 64)"})),
# TCP
'test_tcp': (
'ingress pattern eth / ipv4 src is 192.168.0.1 / tcp / end actions set_tp_src port 1998 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") TCP(sport=3838) / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") TCP(sport=3838) / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") TCP(sport=3838) / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") TCP(sport=3838) / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") TCP(sport=3838) / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") TCP(sport=3838) / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") TCP(sport=3838) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") TCP(sport=3838) / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") TCP(sport=3838) / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") TCP(sport=3838) / Raw('\\x00' * 64)"})),
}
@@ -766,20 +766,20 @@ class FlowActionSet_tp_dst(ActionFlowItem):
# UDP
'test_udp': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions set_tp_dst port 1998 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") UDP(dport=3838) / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") UDP(dport=3838) / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") UDP(dport=3838) / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") UDP(dport=3838) / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") UDP(dport=3838) / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") UDP(dport=3838) / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") UDP(dport=3838) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") UDP(dport=3838) / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") UDP(dport=3838) / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") UDP(dport=3838) / Raw('\\x00' * 64)"})),
# TCP
'test_tcp': (
'ingress pattern eth / ipv4 src is 192.168.0.1 / tcp / end actions set_tp_dst port 1998 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") TCP(dport=3838) / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") TCP(dport=3838) / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") TCP(dport=3838) / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") TCP(dport=3838) / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") TCP(dport=3838) / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") TCP(dport=3838) / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") TCP(dport=3838) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") TCP(dport=3838) / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") TCP(dport=3838) / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") TCP(dport=3838) / Raw('\\x00' * 64)"})),
}
@@ -790,11 +790,11 @@ class FlowActionSet_ttl(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1'
' / udp / end actions set_ttl ttl_value 64 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\" , ttl=128 ) / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\" , ttl=128 ) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\" , ttl=128 ) / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\", ttl=128 ) / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\", ttl=128 ) / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\" , ttl=128 ) / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\" , ttl=128 ) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\" , ttl=128 ) / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\", ttl=128 ) / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\", ttl=128 ) / UDP() / Raw('\\x00' * 64)"})),
}
@@ -804,11 +804,11 @@ class FlowActionSet_mac_src(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1'
' / udp / end actions set_mac_src mac_addr 10:20:30:40:50:60 / end',
- frozenset({"Ether(src=\"90:61:ae:fd:41:43\") / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether(src=\"90:61:ae:fd:41:43\") / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether(src=\"90:61:ae:fd:41:43\") / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether(src=\"90:61:ae:fd:41:43\") / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether(src=\"90:61:ae:fd:41:43\") / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether(src=\"90:61:ae:fd:41:43\") / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether(src=\"90:61:ae:fd:41:43\") / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether(src=\"90:61:ae:fd:41:43\") / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether(src=\"90:61:ae:fd:41:43\") / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether(src=\"90:61:ae:fd:41:43\") / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -818,12 +818,12 @@ class FlowActionSet_mac_dst(ActionFlowItem):
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1'
' / udp / end actions set_mac_dst mac_addr 10:20:30:40:50:60 / end',
frozenset({"Ether(dst=\"90:61:ae:fd:41:43\") / IP(src=\"192.168.0.1\") "
- "/ UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether(dst=\"90:61:ae:fd:41:43\") / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether(dst=\"90:61:ae:fd:41:43\") / IP(src=\"10.0.30.99\") / UDP() / ('\x00' * 64)",
- "Ether(dst=\"90:61:ae:fd:41:43\") / IP(src=\"8.8.8.8\") / UDP() / ('\x00' * 64)",
+ "/ UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether(dst=\"90:61:ae:fd:41:43\") / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether(dst=\"90:61:ae:fd:41:43\") / IP(src=\"10.0.30.99\") / UDP() / Raw('\x00' * 64)",
+ "Ether(dst=\"90:61:ae:fd:41:43\") / IP(src=\"8.8.8.8\") / UDP() / Raw('\x00' * 64)",
"Ether(dst=\"90:61:ae:fd:41:43\") / IP(src=\"132.177.0.99\") "
- "/ UDP() / ('\\x00' * 64)"})),
+ "/ UDP() / Raw('\\x00' * 64)"})),
}
@@ -832,11 +832,11 @@ class FlowActionInc_tcp_seq(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / tcp / end actions inc_tcp_seq / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / TCP(seq=2) / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / TCP(seq=2) / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / TCP(seq=2) / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / TCP(seq=2) / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / TCP(seq=2) / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / TCP(seq=2) / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / TCP(seq=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / TCP(seq=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / TCP(seq=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / TCP(seq=2) / Raw('\\x00' * 64)"})),
}
@@ -845,11 +845,11 @@ class FlowActionDec_tcp_seq(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / tcp / end actions dec_tcp_seq / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / TCP(seq=2) / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / TCP(seq=2) / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / TCP(seq=2) / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / TCP(seq=2) / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / TCP(seq=2) / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / TCP(seq=2) / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / TCP(seq=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / TCP(seq=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / TCP(seq=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / TCP(seq=2) / Raw('\\x00' * 64)"})),
}
@@ -858,11 +858,11 @@ class FlowActionInc_tcp_ack(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / tcp / end actions inc_tcp_ack / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / TCP(ack=2) / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / TCP(ack=2) / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / TCP(ack=2) / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / TCP(ack=2) / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / TCP(ack=2) / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / TCP(ack=2) / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / TCP(ack=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / TCP(ack=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / TCP(ack=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / TCP(ack=2) / Raw('\\x00' * 64)"})),
}
@@ -871,11 +871,11 @@ class FlowActionDec_tcp_ack(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 / tcp / end actions dec_tcp_ack / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / TCP(ack=2) / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / TCP(ack=2) / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / TCP(ack=2) / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / TCP(ack=2) / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / TCP(ack=2) / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / TCP(ack=2) / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / TCP(ack=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / TCP(ack=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / TCP(ack=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / TCP(ack=2) / Raw('\\x00' * 64)"})),
}
@@ -885,26 +885,26 @@ class FlowActionSet_tag(ActionFlowItem):
test_case = {
'test_data': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions set_tag data 0xabc / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
# bit-mask applies to "data"
'test_mask': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions set_tag data 0xabc mask 0xcba / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
'test_index': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions set_tag data 0xabc index 1 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -914,19 +914,19 @@ class FlowActionSet_meta(ActionFlowItem):
test_case = {
'test_data': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions set_meta data 0xabc / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
# bit-mask applies to "data"
'test_mask': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions set_meta data 0xabc mask 0xcb / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
@@ -936,11 +936,11 @@ class FlowActionSet_ipv4_dscp(ActionFlowItem):
test_case = {
'test': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions set_ipv4_dscp dscp 2 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\", tos = 0) / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\", tos = 0) / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\", tos = 0) / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\", tos = 0) / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\", tos = 0) / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\", tos = 0) / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\", tos = 0) / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\", tos = 0) / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\", tos = 0) / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\", tos = 0) / UDP() / Raw('\\x00' * 64)"})),
}
@@ -951,15 +951,15 @@ class FlowActionSet_ipv6_dscp(ActionFlowItem):
'test': ('ingress pattern eth / ipv6 src is 2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c2 '
'/ udp / end actions set_ipv6_dscp dscp 0x30',
frozenset({"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c2\", tc = 0) "
- "/ UDP() / ('\\x00' * 64)"}),
+ "/ UDP() / Raw('\\x00' * 64)"}),
frozenset({"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c3\", tc = 0) "
- "/ UDP() / ('\\x00' * 64)",
+ "/ UDP() / Raw('\\x00' * 64)",
"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c4\", tc = 0) "
- "/ UDP() / ('\x00' * 64)",
+ "/ UDP() / Raw('\x00' * 64)",
"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c5\", tc = 0) "
- "/ UDP() / ('\x00' * 64)",
+ "/ UDP() / Raw('\x00' * 64)",
"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c6\", tc = 0) "
- "/ UDP() / ('\\x00' * 64)"})),
+ "/ UDP() / Raw('\\x00' * 64)"})),
}
@@ -969,27 +969,27 @@ class FlowActionAge(ActionFlowItem):
test_case = {
'test_timeout': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions age timeout 128 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
# 8 bits reserved, must be zero
'test_reserved': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions age timeout 128 reserved 0 / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
# The user flow context, NULL means the rte_flow pointer.
'test_context': ('ingress pattern eth / ipv4 src is 192.168.0.1 '
'/ udp / end actions age timeout 128 context NULL / end',
- frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / ('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"10.0.30.99\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"8.8.8.8\") / UDP() / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.0.99\") / UDP() / ('\\x00' * 64)"})),
+ frozenset({"Ether() / IP(src=\"192.168.0.1\") / UDP() / Raw('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.2\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"10.0.30.99\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"8.8.8.8\") / UDP() / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.0.99\") / UDP() / Raw('\\x00' * 64)"})),
}
diff --git a/framework/flow/flow_pattern_items.py b/framework/flow/flow_pattern_items.py
index bb143067..965d8cd2 100644
--- a/framework/flow/flow_pattern_items.py
+++ b/framework/flow/flow_pattern_items.py
@@ -138,90 +138,90 @@ class FlowItemArp_eth_ipv4(PatternFlowItem):
possible_properties = {
'hdr':
('arp_eth_ipv4 hdr is 1',
- frozenset({"Ether() / ARP(hwtype=1) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ARP(hwtype=1) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ARP(hwtype=2) / ('\\x00' * 64)",
- "Ether() / ARP(hwtype=3) / ('\\x00' * 64)",
- "Ether() / ARP(hwtype=6) / ('\\x00' * 64)",
- "Ether() / ARP(hwtype-15) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ARP(ptype=0x0800) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ARP(ptype=0x0800) / ('\\x00' * 64)",
- "Ether() / ARP(ptype=0x0842) / ('\\x00' * 64)",
- "Ether() / ARP(ptype=0x6004) / ('\\x00' * 64)",
- "Ether() / ARP(ptype=0x809b) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ARP(hwlen=6) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ARP(hwlen=12) / ('\\x00' * 64)",
- "Ether() / ARP(hwlen=2) / ('\\x00' * 64)",
- "Ether() / ARP(hwlen=8) / ('\\x00' * 64)",
- "Ether() / ARP(hwlen=4) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ARP(plen=4) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ARP(plen=6) / ('\\x00' * 64)",
- "Ether() / ARP(plen=2) / ('\\x00' * 64)",
- "Ether() / ARP(plen=8) / ('\\x00' * 64)",
- "Ether() / ARP(plen=12) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ARP(op=1) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ARP(op=2) / ('\\x00' * 64)",
- "Ether() / ARP(op=3) / ('\\x00' * 64)",
- "Ether() / ARP(op=4) / ('\\x00' * 64)",
- "Ether() / ARP(op=5) / ('\\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)"
})),
'sha':
('arp_eth_ipv4 sha is 90:61:ae:fd:41:43',
- frozenset({"Ether() / ARP(hwsrc=\"90:61:ae:fd:41:43\") / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ARP(hwsrc=\"90:61:ae:fd:41:43\") / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ARP(hwsrc=\"90:61:ae:fd:41:44\") / ('\\x00' * 64)",
- "Ether() / ARP(hwsrc=\"90:61:ae:fd:41:45\") / ('\\x00' * 64)",
- "Ether() / ARP(hwsrc=\"90:61:ae:fd:41:46\") / ('\\x00' * 64)",
- "Ether() / ARP(hwsrc=\"90:61:ae:fd:41:47\") / ('\\x00' * 64)"
+ frozenset({"Ether() / ARP(hwsrc=\"90:61:ae:fd:41:44\") / Raw('\\x00' * 64)",
+ "Ether() / ARP(hwsrc=\"90:61:ae:fd:41:45\") / Raw('\\x00' * 64)",
+ "Ether() / ARP(hwsrc=\"90:61:ae:fd:41:46\") / Raw('\\x00' * 64)",
+ "Ether() / ARP(hwsrc=\"90:61:ae:fd:41:47\") / Raw('\\x00' * 64)"
})),
'spa':
('arp_eth_ipv4 spa is 192.168.0.80',
- frozenset({"Ether() / ARP(psrc=\"192.168.0.80\") / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ARP(psrc=\"192.168.0.80\") / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ARP(psrc=\"10.0.30.10\") / ('\\x00' * 64)",
- "Ether() / ARP(psrc=\"8.8.8.8\") / ('\\x00' * 64)",
- "Ether() / ARP(psrc=\"132.177.0.5\") / ('\\x00' * 64)",
- "Ether() / ARP(psrc=\"123.4.5.6\") / ('\\x00' * 64)"
+ frozenset({"Ether() / ARP(psrc=\"10.0.30.10\") / Raw('\\x00' * 64)",
+ "Ether() / ARP(psrc=\"8.8.8.8\") / Raw('\\x00' * 64)",
+ "Ether() / ARP(psrc=\"132.177.0.5\") / Raw('\\x00' * 64)",
+ "Ether() / ARP(psrc=\"123.4.5.6\") / Raw('\\x00' * 64)"
})),
'tha':
('arp_eth_ipv4 tha is 00:00:00:00:00:00',
- frozenset({"Ether() / ARP(hwdst=00:00:00:00:00:00) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ARP(hwdst=00:00:00:00:00:00) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ARP(hwdst=90:61:ae:fd:41:45) / ('\\x00' * 64)",
- "Ether() / ARP(hwdst=90:61:ae:fd:41:46) / ('\\x00' * 64)",
- "Ether() / ARP(hwdst=90:61:ae:fd:41:47) / ('\\x00' * 64)",
- "Ether() / ARP(hwdst=90:61:ae:fd:41:48) / ('\\x00' * 64)"
+ frozenset({"Ether() / ARP(hwdst=90:61:ae:fd:41:45) / Raw('\\x00' * 64)",
+ "Ether() / ARP(hwdst=90:61:ae:fd:41:46) / Raw('\\x00' * 64)",
+ "Ether() / ARP(hwdst=90:61:ae:fd:41:47) / Raw('\\x00' * 64)",
+ "Ether() / ARP(hwdst=90:61:ae:fd:41:48) / Raw('\\x00' * 64)"
})),
'tpa':
('arp_eth_ipv4 tpa is 192.168.0.1',
- frozenset({"Ether() / ARP(pdst=192.168.0.1) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ARP(pdst=192.168.0.1) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ARP(pdst=10.0.30.10) / ('\\x00' * 64)",
- "Ether() / ARP(pdst=8.8.8.8) / ('\\x00' * 64)",
- "Ether() / ARP(pdst=132.177.0.5) / ('\\x00' * 64)",
- "Ether() / ARP(pdst=123.4.5.6) / ('\\x00' * 64)"
+ frozenset({"Ether() / ARP(pdst=10.0.30.10) / Raw('\\x00' * 64)",
+ "Ether() / ARP(pdst=8.8.8.8) / Raw('\\x00' * 64)",
+ "Ether() / ARP(pdst=132.177.0.5) / Raw('\\x00' * 64)",
+ "Ether() / ARP(pdst=123.4.5.6) / Raw('\\x00' * 64)"
})),
}
@@ -242,31 +242,31 @@ class FlowItemEth(PatternFlowItem):
possible_properties = {
'dst':
('eth dst is 90:61:ae:fd:41:43',
- frozenset({"Ether(dst=\"90:61:ae:fd:41:43\") / ('\\x00' * 64)"}),
+ frozenset({"Ether(dst=\"90:61:ae:fd:41:43\") / Raw('\\x00' * 64)"}),
- frozenset({"Ether(dst=\"90:61:ae:fd:41:44\") / ('\\x00' * 64)",
- "Ether(dst=\"90:61:ae:fd:41:45\") / ('\\x00' * 64)",
- "Ether(dst=\"90:61:ae:fd:41:46\") / ('\\x00' * 64)",
- "Ether(dst=\"91:61:ae:fd:41:43\") / ('\\x00' * 64)"
+ frozenset({"Ether(dst=\"90:61:ae:fd:41:44\") / Raw('\\x00' * 64)",
+ "Ether(dst=\"90:61:ae:fd:41:45\") / Raw('\\x00' * 64)",
+ "Ether(dst=\"90:61:ae:fd:41:46\") / Raw('\\x00' * 64)",
+ "Ether(dst=\"91:61:ae:fd:41:43\") / Raw('\\x00' * 64)"
})),
'src':
('eth src is 90:61:ae:fd:41:43',
- frozenset({"Ether(src=\"90:61:ae:fd:41:43\") / ('\\x00' * 64)"}),
+ frozenset({"Ether(src=\"90:61:ae:fd:41:43\") / Raw('\\x00' * 64)"}),
- frozenset({"Ether(src=\"90:61:ae:fd:41:44\") / ('\\x00' * 64)",
- "Ether(src=\"90:61:ae:fd:41:45\") / ('\\x00' * 64)",
- "Ether(src=\"90:61:ae:fd:41:46\") / ('\\x00' * 64)",
- "Ether(src=\"91:61:ae:fd:41:43\") / ('\\x00' * 64)"
+ frozenset({"Ether(src=\"90:61:ae:fd:41:44\") / Raw('\\x00' * 64)",
+ "Ether(src=\"90:61:ae:fd:41:45\") / Raw('\\x00' * 64)",
+ "Ether(src=\"90:61:ae:fd:41:46\") / Raw('\\x00' * 64)",
+ "Ether(src=\"91:61:ae:fd:41:43\") / Raw('\\x00' * 64)"
})),
'type':
('eth type is 0x0800', # IPv4 EtherType
- frozenset({"Ether(type=0x0800) / ('\\x00' * 64)"}),
+ frozenset({"Ether(type=0x0800) / Raw('\\x00' * 64)"}),
- frozenset({"Ether(type=0x0842) / ('\\x00' * 64)",
- "Ether(type=0x8100) / ('\\x00' * 64)", # Possibly a special case? TPID/VLAN
- "Ether(type=0x9100) / ('\\x00' * 64)", # Possibly special, VLAN double tagging
- "Ether(type=0x8863) / ('\\x00' * 64)",
- "Ether(type=0x9000) / ('\\x00' * 64)"
+ frozenset({"Ether(type=0x0842) / Raw('\\x00' * 64)",
+ "Ether(type=0x8100) / Raw('\\x00' * 64)", # Possibly a special case? TPID/VLAN
+ "Ether(type=0x9100) / Raw('\\x00' * 64)", # Possibly special, VLAN double tagging
+ "Ether(type=0x8863) / Raw('\\x00' * 64)",
+ "Ether(type=0x9000) / Raw('\\x00' * 64)"
})),
}
@@ -283,18 +283,18 @@ class FlowItemGre(PatternFlowItem):
possible_properties = {
'c_rsvd0_ver':
('gre c_rsvd0_ver is 0',
- frozenset({"Ether() / GRE(chksum_present=0, version=0) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / GRE(chksum_present=0, version=0) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / GRE(chksum_present=1, version=0)) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / GRE(proto=0x0800) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / GRE(proto=0x0842) / ('\\x00' * 64)",
- "Ether() / GRE(proto=0x8100) / ('\\x00' * 64)",
- "Ether() / GRE(proto=0x0806) / ('\\x00' * 64)",
- "Ether() / GRE(proto=0x809B) / ('\\x00' * 64)"
+ frozenset({"Ether() / GRE(proto=0x0842) / Raw('\\x00' * 64)",
+ "Ether() / GRE(proto=0x8100) / Raw('\\x00' * 64)",
+ "Ether() / GRE(proto=0x0806) / Raw('\\x00' * 64)",
+ "Ether() / GRE(proto=0x809B) / Raw('\\x00' * 64)"
}))
}
@@ -318,49 +318,49 @@ class FlowItemIcmp(PatternFlowItem):
'icmp_type':
('icmp type is 3',
- frozenset({"Ether() / ICMP(type=3) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ICMP(type=3) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ICMP(type=3) / ('\\x00' * 64)",
- "Ether() / ICMP(type=11) / ('\\x00' * 64)",
- "Ether() / ICMP(type=13) / ('\\x00' * 64)",
- "Ether() / ICMP(type=0) / ('\\x00' * 64)"
+ frozenset({"Ether() / ICMP(type=3) / Raw('\\x00' * 64)",
+ "Ether() / ICMP(type=11) / Raw('\\x00' * 64)",
+ "Ether() / ICMP(type=13) / Raw('\\x00' * 64)",
+ "Ether() / ICMP(type=0) / Raw('\\x00' * 64)"
})),
'icmp_code':
('icmp type is 3 code is 3', # Assume type 3 code 3; code meanings/options are dependent on type.
- frozenset({"Ether() / ICMP(type=3, code=3) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ICMP(type=3, code=3) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ICMP(type=3, code=0) / ('\\x00' * 64)",
- "Ether() / ICMP(type=3, code=2) / ('\\x00' * 64)",
- "Ether() / ICMP(type=11, code=1) / ('\\x00' * 64)",
- "Ether() / ICMP(type=12, code=2) / ('\\x00' * 64)"
+ frozenset({"Ether() / ICMP(type=3, code=0) / Raw('\\x00' * 64)",
+ "Ether() / ICMP(type=3, code=2) / Raw('\\x00' * 64)",
+ "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() / ('\x00' * 64)"}),
+ frozenset({"Ether() / ICMP() / UDP() / Raw('\x00' * 64)"}),
- frozenset({"Ether() / ICMP() / UDP() / ('\x00' * 64)",
- "Ether() / ICMP() / UDP() / ('\x00' * 64)",
- "Ether() / ICMP() / UDP() / ('\x00' * 64)",
- "Ether() / ICMP() / UDP() / ('\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() / ('\x00' * 64)"}),
+ frozenset({"Ether() / ICMP() / UDP() / Raw('\x00' * 64)"}),
- frozenset({"Ether() / ICMP() / UDP() / ('\x00' * 64)",
- "Ether() / ICMP() / UDP() / ('\x00' * 64)",
- "Ether() / ICMP() / UDP() / ('\x00' * 64)",
- "Ether() / ICMP() / UDP() / ('\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() / ('\x00' * 64)"}),
+ frozenset({"Ether() / ICMP(proto=0x0800) / UDP() / Raw('\x00' * 64)"}),
- frozenset({"Ether() / ICMP() / UDP() / ('\x00' * 64)",
- "Ether() / ICMP() / UDP() / ('\x00' * 64)",
- "Ether() / ICMP() / UDP() / ('\x00' * 64)",
- "Ether() / ICMP() / UDP() / ('\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)"
})),
}
@@ -380,31 +380,31 @@ class FlowItemIcmp6(PatternFlowItem):
possible_properties = {
'type':
('icmp6 type is 1', # Destination Unreachable
- frozenset({"Ether() / ICMPv6DestUnreach(type=1) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ICMPv6DestUnreach(type=1) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ICMPv6DestUnreach(type=128) / ('\\x00' * 64)",
- "Ether() / ICMPv6DestUnreach(type=129) / ('\\x00' * 64)",
- "Ether() / ICMPv6DestUnreach(type=3) / ('\\x00' * 64)",
- "Ether() / ICMPv6DestUnreach(type=135) / ('\\x00' * 64)"
+ frozenset({"Ether() / ICMPv6DestUnreach(type=128) / Raw('\\x00' * 64)",
+ "Ether() / ICMPv6DestUnreach(type=129) / Raw('\\x00' * 64)",
+ "Ether() / ICMPv6DestUnreach(type=3) / Raw('\\x00' * 64)",
+ "Ether() / ICMPv6DestUnreach(type=135) / Raw('\\x00' * 64)"
})),
'code': # ICMP code is dependent on type; these are possible Destination Unreachable codes
('icmp6 code is 0',
- frozenset({"Ether() / ICMPv6DestUnreach(code=0) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ICMPv6DestUnreach(code=0) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ICMPv6DestUnreach(code=1) / ('\\x00' * 64)",
- "Ether() / ICMPv6DestUnreach(code=2) / ('\\x00' * 64)",
- "Ether() / ICMPv6DestUnreach(code=3) / ('\\x00' * 64)",
- "Ether() / ICMPv6DestUnreach(code=4) / ('\\x00' * 64)"
+ frozenset({"Ether() / ICMPv6DestUnreach(code=1) / Raw('\\x00' * 64)",
+ "Ether() / ICMPv6DestUnreach(code=2) / Raw('\\x00' * 64)",
+ "Ether() / ICMPv6DestUnreach(code=3) / Raw('\\x00' * 64)",
+ "Ether() / ICMPv6DestUnreach(code=4) / Raw('\\x00' * 64)"
})),
'checksum':
('icmp6 cksum is 0x1234',
- frozenset({"Ether() / ICMPv6DestUnreach(cksum=0x1234) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / ICMPv6DestUnreach(cksum=0x1234) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / ICMPv6DestUnreach(cksum=0x4321) / ('\\x00' * 64)",
- "Ether() / ICMPv6DestUnreach(cksum=0xffff) / ('\\x00' * 64)",
- "Ether() / ICMPv6DestUnreach(cksum=0x1233) / ('\\x00' * 64)",
- "Ether() / ICMPv6DestUnreach(cksum=0x1010) / ('\\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)"
})),
}
@@ -424,58 +424,58 @@ class FlowItemIpv4(PatternFlowItem):
'tos':
('ipv4 tos is 0',
- frozenset({"Ether() / IP(tos=0) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(tos=0) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP(tos=2) / ('\\x00' * 64)",
- "Ether() / IP(tos=4) / ('\\x00' * 64)",
- "Ether() / IP(tos=8) / ('\\x00' * 64)",
- "Ether() / IP(tos=16) / ('\\x00' * 64)"
+ frozenset({"Ether() / IP(tos=2) / Raw('\\x00' * 64)",
+ "Ether() / IP(tos=4) / Raw('\\x00' * 64)",
+ "Ether() / IP(tos=8) / Raw('\\x00' * 64)",
+ "Ether() / IP(tos=16) / Raw('\\x00' * 64)"
})),
'ttl':
('ipv4 ttl is 64',
- frozenset({"Ether() / IP(ttl=64) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(ttl=64) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP(ttl=128) / ('\\x00' * 64)",
- "Ether() / IP(ttl=255) / ('\\x00' * 64)",
- "Ether() / IP(ttl=32) / ('\\x00' * 64)",
- "Ether() / IP(ttl=100) / ('\\x00' * 64)"
+ frozenset({"Ether() / IP(ttl=128) / Raw('\\x00' * 64)",
+ "Ether() / IP(ttl=255) / Raw('\\x00' * 64)",
+ "Ether() / IP(ttl=32) / Raw('\\x00' * 64)",
+ "Ether() / IP(ttl=100) / Raw('\\x00' * 64)"
})),
'proto':
('ipv4 proto is 0x06', # TCP
- frozenset({"Ether() / IP(proto=0x06) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(proto=0x06) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP(proto=0x01) / ('\\x00' * 64)",
- "Ether() / IP(proto=0x11) / ('\\x00' * 64)",
- "Ether() / IP(proto=0x12) / ('\\x00' * 64)",
- "Ether() / IP(proto=0x58) / ('\\x00' * 64)"
+ frozenset({"Ether() / IP(proto=0x01) / Raw('\\x00' * 64)",
+ "Ether() / IP(proto=0x11) / Raw('\\x00' * 64)",
+ "Ether() / IP(proto=0x12) / Raw('\\x00' * 64)",
+ "Ether() / IP(proto=0x58) / Raw('\\x00' * 64)"
})),
'src':
('ipv4 src is 192.168.0.5',
- frozenset({"Ether() / IP(src=\"192.168.0.5\") / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(src=\"192.168.0.5\") / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP(src=\"10.10.10.10\") / ('\\x00' * 64)",
- "Ether() / IP(src=\"132.177.127.6\") / ('\\x00' * 64)",
- "Ether() / IP(src=\"192.168.0.4\") / ('\\x00' * 64)",
- "Ether() / IP(src=\"192.168.0.250\") / ('\\x00' * 64)"
+ frozenset({"Ether() / IP(src=\"10.10.10.10\") / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"132.177.127.6\") / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"192.168.0.4\") / Raw('\\x00' * 64)",
+ "Ether() / IP(src=\"192.168.0.250\") / Raw('\\x00' * 64)"
})),
'dst':
('ipv4 dst is 192.168.0.5',
- frozenset({"Ether() / IP(dst=\"192.168.0.5\") / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP(dst=\"192.168.0.5\") / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP(dst=\"10.10.10.10\") / ('\\x00' * 64)",
- "Ether() / IP(dst=\"132.177.127.6\") / ('\\x00' * 64)",
- "Ether() / IP(dst=\"192.168.0.4\") / ('\\x00' * 64)",
- "Ether() / IP(dst=\"192.168.0.250\") / ('\\x00' * 64)"
+ frozenset({"Ether() / IP(dst=\"10.10.10.10\") / Raw('\\x00' * 64)",
+ "Ether() / IP(dst=\"132.177.127.6\") / Raw('\\x00' * 64)",
+ "Ether() / IP(dst=\"192.168.0.4\") / Raw('\\x00' * 64)",
+ "Ether() / IP(dst=\"192.168.0.250\") / Raw('\\x00' * 64)"
})),
# CHECKSUM PROPERTY NOT SUPPORTED BY TESTPMD; DO NOT UNCOMMENT UNTIL SUPPORTED
# 'checksum':
# ('ipv4 chksum is 0x1234',
- # frozenset({"Ether() / ICMPv6DestUnreach(cksum=0x1234) / ('\\x00' * 64)"}),
+ # frozenset({"Ether() / ICMPv6DestUnreach(cksum=0x1234) / Raw('\\x00' * 64)"}),
- # frozenset({"Ether() / ICMPv6DestUnreach(cksum=0x4321) / ('\\x00' * 64)",
- # "Ether() / ICMPv6DestUnreach(cksum=0xffff) / ('\\x00' * 64)",
- # "Ether() / ICMPv6DestUnreach(cksum=0x1233) / ('\\x00' * 64)",
- # "Ether() / ICMPv6DestUnreach(cksum=0x1010) / ('\\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)"
# })),
##########################################################################
@@ -499,76 +499,76 @@ class FlowItemIpv6(PatternFlowItem):
# 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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IPv6(tc=0, fl=0, version=0) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IPv6(tc=1, fl=0, version=0) / ('\\x00' * 64)",
- "Ether() / IPv6(tc=0, fl=0xABCD, version=0) / ('\\x00' * 64)",
- "Ether() / IPv6(tc=0, fl=0, version=1) / ('\\x00' * 64)",
- "Ether() / IPv6(tc=6, fl=0x9999, version=1) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IPv6(plen=64) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IPv6(plen=32) / ('\\x00' * 64)",
- "Ether() / IPv6(plen=128) / ('\\x00' * 64)",
- "Ether() / IPv6(plen=5000) / ('\\x00' * 64)",
- "Ether() / IPv6(plen=4) / ('\\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',
- frozenset({"Ether() / IPv6(tc=0) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IPv6(tc=0) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IPv6(tc=1) / ('\\x00' * 64)",
- "Ether() / IPv6(tc=2) / ('\\x00' * 64)",
- "Ether() / IPv6(tc=4) / ('\\x00' * 64)",
- "Ether() / IPv6(tc=6) / ('\\x00' * 64)"
+ frozenset({"Ether() / IPv6(tc=1) / Raw('\\x00' * 64)",
+ "Ether() / IPv6(tc=2) / Raw('\\x00' * 64)",
+ "Ether() / IPv6(tc=4) / Raw('\\x00' * 64)",
+ "Ether() / IPv6(tc=6) / Raw('\\x00' * 64)"
})),
'flow':
('ipv6 flow is 0xABCD',
- frozenset({"Ether() / IPv6(fl=0xABCD) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IPv6(fl=0xABCD) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IPv6(fl=0xABCE) / ('\\x00' * 64)",
- "Ether() / IPv6(fl=0x0001) / ('\\x00' * 64)",
- "Ether() / IPv6(fl=0xFFFF) / ('\\x00' * 64)",
- "Ether() / IPv6(fl=0x1234) / ('\\x00' * 64)"
+ frozenset({"Ether() / IPv6(fl=0xABCE) / Raw('\\x00' * 64)",
+ "Ether() / IPv6(fl=0x0001) / Raw('\\x00' * 64)",
+ "Ether() / IPv6(fl=0xFFFF) / Raw('\\x00' * 64)",
+ "Ether() / IPv6(fl=0x1234) / Raw('\\x00' * 64)"
})),
'proto': # next header (nh)
('ipv6 proto is 6', # TCP
- frozenset({"Ether() / IPv6(nh=6) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IPv6(nh=6) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IPv6(nh=17) / ('\\x00' * 64)",
- "Ether() / IPv6(nh=41) / ('\\x00' * 64)",
- "Ether() / IPv6(nh=0) / ('\\x00' * 64)",
- "Ether() / IPv6(nh=60) / ('\\x00' * 64)"
+ frozenset({"Ether() / IPv6(nh=17) / Raw('\\x00' * 64)",
+ "Ether() / IPv6(nh=41) / Raw('\\x00' * 64)",
+ "Ether() / IPv6(nh=0) / Raw('\\x00' * 64)",
+ "Ether() / IPv6(nh=60) / Raw('\\x00' * 64)"
})),
'hop': # hop limit
('ipv6 hop is 64',
- frozenset({"Ether() / IPv6(hlim=64) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IPv6(hlim=64) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IPv6(hlim=128) / ('\\x00' * 64)",
- "Ether() / IPv6(hlim=32) / ('\\x00' * 64)",
- "Ether() / IPv6(hlim=255) / ('\\x00' * 64)",
- "Ether() / IPv6(hlim=100) / ('\\x00' * 64)"
+ frozenset({"Ether() / IPv6(hlim=128) / Raw('\\x00' * 64)",
+ "Ether() / IPv6(hlim=32) / Raw('\\x00' * 64)",
+ "Ether() / IPv6(hlim=255) / Raw('\\x00' * 64)",
+ "Ether() / IPv6(hlim=100) / Raw('\\x00' * 64)"
})),
'dst':
('ipv6 dst is 2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c2',
- frozenset({"Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c2\") / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c2\") / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c3\") / ('\\x00' * 64)",
- "Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c4\") / ('\\x00' * 64)",
- "Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c5\") / ('\\x00' * 64)",
- "Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c6\") / ('\\x00' * 64)"
+ frozenset({"Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c3\") / Raw('\\x00' * 64)",
+ "Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c4\") / Raw('\\x00' * 64)",
+ "Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c5\") / Raw('\\x00' * 64)",
+ "Ether() / IPv6(dst=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c6\") / Raw('\\x00' * 64)"
})),
'src':
('ipv6 src is 2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c2',
- frozenset({"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c2\") / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c2\") / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c3\") / ('\\x00' * 64)",
- "Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c4\") / ('\\x00' * 64)",
- "Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c5\") / ('\\x00' * 64)",
- "Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c6\") / ('\\x00' * 64)"
+ frozenset({"Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c3\") / Raw('\\x00' * 64)",
+ "Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c4\") / Raw('\\x00' * 64)",
+ "Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c5\") / Raw('\\x00' * 64)",
+ "Ether() / IPv6(src=\"2001:0000:9d38:6ab8:1c48:3a1c:a95a:b1c6\") / Raw('\\x00' * 64)"
})),
}
@@ -587,41 +587,41 @@ class FlowItemSctp(PatternFlowItem):
'src':
('sctp src is 3838',
- frozenset({"Ether() / IP() / SCTP(sport=3838) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / SCTP(sport=3838) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / SCTP(sport=3939) / ('\\x00' * 64)",
- "Ether() / IP() / SCTP(sport=5000) / ('\\x00' * 64)",
- "Ether() / IP() / SCTP(sport=1998) / ('\\x00' * 64)",
- "Ether() / IP() / SCTP(sport=1028) / ('\\x00' * 64)"
+ frozenset({"Ether() / IP() / SCTP(sport=3939) / Raw('\\x00' * 64)",
+ "Ether() / IP() / SCTP(sport=5000) / Raw('\\x00' * 64)",
+ "Ether() / IP() / SCTP(sport=1998) / Raw('\\x00' * 64)",
+ "Ether() / IP() / SCTP(sport=1028) / Raw('\\x00' * 64)"
})),
'dst':
('sctp dst is 3838',
- frozenset({"Ether() / IP() / SCTP(dport=3838) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / SCTP(dport=3838) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / SCTP(dport=3939) / ('\\x00' * 64)",
- "Ether() / IP() / SCTP(dport=5000) / ('\\x00' * 64)",
- "Ether() / IP() / SCTP(dport=1998) / ('\\x00' * 64)",
- "Ether() / IP() / SCTP(dport=1028) / ('\\x00' * 64)"
+ frozenset({"Ether() / IP() / SCTP(dport=3939) / Raw('\\x00' * 64)",
+ "Ether() / IP() / SCTP(dport=5000) / Raw('\\x00' * 64)",
+ "Ether() / IP() / SCTP(dport=1998) / Raw('\\x00' * 64)",
+ "Ether() / IP() / SCTP(dport=1028) / Raw('\\x00' * 64)"
})),
'tag':
('sctp tag is 12345',
- frozenset({"Ether() / IP() / SCTP(tag=12345) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / SCTP(tag=12345) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / SCTP(tag=12346) / ('\\x00' * 64)",
- "Ether() / IP() / SCTP(tag=12) / ('\\x00' * 64)",
- "Ether() / IP() / SCTP(tag=9999) / ('\\x00' * 64)",
- "Ether() / IP() / SCTP(tag=42) / ('\\x00' * 64)"
+ frozenset({"Ether() / IP() / SCTP(tag=12346) / Raw('\\x00' * 64)",
+ "Ether() / IP() / SCTP(tag=12) / Raw('\\x00' * 64)",
+ "Ether() / IP() / SCTP(tag=9999) / Raw('\\x00' * 64)",
+ "Ether() / IP() / SCTP(tag=42) / Raw('\\x00' * 64)"
})),
'cksum':
('sctp cksum is 0x01535b67',
- frozenset({"Ether() / IP() / SCTP(chksum=0x01535b67) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / SCTP(chksum=0x01535b67) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / SCTP(chksum=0x01535b68) / ('\\x00' * 64)",
- "Ether() / IP() / SCTP(chksum=0xdeadbeef) / ('\\x00' * 64)",
- "Ether() / IP() / SCTP(chksum=0x12345678) / ('\\x00' * 64)",
- "Ether() / IP() / SCTP(chksum=0x385030fe) / ('\\x00' * 64)"
+ frozenset({"Ether() / IP() / SCTP(chksum=0x01535b68) / Raw('\\x00' * 64)",
+ "Ether() / IP() / SCTP(chksum=0xdeadbeef) / Raw('\\x00' * 64)",
+ "Ether() / IP() / SCTP(chksum=0x12345678) / Raw('\\x00' * 64)",
+ "Ether() / IP() / SCTP(chksum=0x385030fe) / Raw('\\x00' * 64)"
}))
}
@@ -658,59 +658,59 @@ class FlowItemTcp(PatternFlowItem):
# They are still tested to future proof this test suite.
'data_off':
('tcp data_off is 0',
- frozenset({"Ether() / IP() / TCP(dataofs=0) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / TCP(dataofs=0) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / TCP(dataofs=1) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(dataofs=2) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(dataofs=3) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(dataofs=4) / ('\\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)/ ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / TCP(window=64)/ Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / TCP(window=16)/ ('\\x00' * 64)",
- "Ether() / IP() / TCP(window=128) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(window=32) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(window=255) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / TCP(chksum=0x1234) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / TCP(chksum=0x4321) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(chksum=0xffff) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(chksum=0x9999) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(chksum=0x1233) / ('\\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',
- frozenset({"Ether() / IP() / TCP(sport=3838) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / TCP(sport=3838) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / TCP(sport=3939) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(sport=5000) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(sport=1998) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(sport=1028) / ('\\x00' * 64)"
+ frozenset({"Ether() / IP() / TCP(sport=3939) / Raw('\\x00' * 64)",
+ "Ether() / IP() / TCP(sport=5000) / Raw('\\x00' * 64)",
+ "Ether() / IP() / TCP(sport=1998) / Raw('\\x00' * 64)",
+ "Ether() / IP() / TCP(sport=1028) / Raw('\\x00' * 64)"
})),
'dst':
('tcp dst is 3838',
- frozenset({"Ether() / IP() / TCP(dport=3838) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / TCP(dport=3838) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / TCP(dport=3939) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(dport=5000) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(dport=1998) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(dport=1028) / ('\\x00' * 64)"
+ frozenset({"Ether() / IP() / TCP(dport=3939) / Raw('\\x00' * 64)",
+ "Ether() / IP() / TCP(dport=5000) / Raw('\\x00' * 64)",
+ "Ether() / IP() / TCP(dport=1998) / Raw('\\x00' * 64)",
+ "Ether() / IP() / TCP(dport=1028) / Raw('\\x00' * 64)"
})),
'flags':
('tcp flags is 0x02',
- frozenset({"Ether() / IP() / TCP(flags=0x02) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / TCP(flags=0x02) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / TCP(flags=0x01) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(flags=0x04) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(flags=0x08) / ('\\x00' * 64)",
- "Ether() / IP() / TCP(flags=0x10) / ('\\x00' * 64)"
+ frozenset({"Ether() / IP() / TCP(flags=0x01) / Raw('\\x00' * 64)",
+ "Ether() / IP() / TCP(flags=0x04) / Raw('\\x00' * 64)",
+ "Ether() / IP() / TCP(flags=0x08) / Raw('\\x00' * 64)",
+ "Ether() / IP() / TCP(flags=0x10) / Raw('\\x00' * 64)"
}))
}
@@ -730,42 +730,42 @@ class FlowItemUdp(PatternFlowItem):
# They are still tested to future proof this test suite.
'dgram_len':
('udp dgram_len is 64',
- frozenset({"Ether() / IP() / UDP(len=64) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / UDP(len=64) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / UDP(len=128) / ('\\x00' * 64)",
- "Ether() / IP() / UDP(len=32) / ('\\x00' * 64)",
- "Ether() / IP() / UDP(len=16) / ('\\x00' * 64)",
- "Ether() / IP() / UDP(len=255) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / UDP(chksum=0x1234) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / UDP(chksum=0x4321) / ('\\x00' * 64)",
- "Ether() / IP() / UDP(chksum=0xffff) / ('\\x00' * 64)",
- "Ether() / IP() / UDP(chksum=0x9999) / ('\\x00' * 64)",
- "Ether() / IP() / UDP(chksum=0x1233) / ('\\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':
('udp src is 3838',
- frozenset({"Ether() / IP() / UDP(sport=3838) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / UDP(sport=3838) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / UDP(sport=3939) / ('\\x00' * 64)",
- "Ether() / IP() / UDP(sport=5000) / ('\\x00' * 64)",
- "Ether() / IP() / UDP(sport=1998) / ('\\x00' * 64)",
- "Ether() / IP() / UDP(sport=1028) / ('\\x00' * 64)"
+ frozenset({"Ether() / IP() / UDP(sport=3939) / Raw('\\x00' * 64)",
+ "Ether() / IP() / UDP(sport=5000) / Raw('\\x00' * 64)",
+ "Ether() / IP() / UDP(sport=1998) / Raw('\\x00' * 64)",
+ "Ether() / IP() / UDP(sport=1028) / Raw('\\x00' * 64)"
})),
'dst':
('udp dst is 3838',
- frozenset({"Ether() / IP() / UDP(dport=3838) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / UDP(dport=3838) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / UDP(dport=3939) / ('\\x00' * 64)",
- "Ether() / IP() / UDP(dport=5000) / ('\\x00' * 64)",
- "Ether() / IP() / UDP(dport=1998) / ('\\x00' * 64)",
- "Ether() / IP() / UDP(dport=1028) / ('\\x00' * 64)"
+ frozenset({"Ether() / IP() / UDP(dport=3939) / Raw('\\x00' * 64)",
+ "Ether() / IP() / UDP(dport=5000) / Raw('\\x00' * 64)",
+ "Ether() / IP() / UDP(dport=1998) / Raw('\\x00' * 64)",
+ "Ether() / IP() / UDP(dport=1028) / Raw('\\x00' * 64)"
})),
}
@@ -798,48 +798,48 @@ class FlowItemVlan(PatternFlowItem):
'tci':
('vlan tci is 0xaaaa',
- frozenset({"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xaaa) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / Dot1Q(prio = 0x0, id = 0x1, vlan = 0xbbb) / ('\\x00' * 64)",
- "Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xccc) / ('\\x00' * 64)",
- "Ether() / Dot1Q(prio = 0x5, id = 0x1, vlan = 0xaaa) / ('\\x00' * 64)",
- "Ether() / Dot1Q(prio = 0x4, id = 0x0, vlan = 0xaaa) / ('\\x00' * 64)"
+ frozenset({"Ether() / Dot1Q(prio = 0x0, id = 0x1, vlan = 0xbbb) / Raw('\\x00' * 64)",
+ "Ether() / Dot1Q(prio = 0x5, id = 0x0, vlan = 0xccc) / Raw('\\x00' * 64)",
+ "Ether() / Dot1Q(prio = 0x5, id = 0x1, vlan = 0xaaa) / Raw('\\x00' * 64)",
+ "Ether() / Dot1Q(prio = 0x4, id = 0x0, vlan = 0xaaa) / Raw('\\x00' * 64)"
})),
'pcp':
('vlan pcp is 0x0',
- frozenset({"Ether() / Dot1Q(prio=0x0) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / Dot1Q(prio=0x0) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / Dot1Q(prio=0x1) / ('\\x00' * 64)",
- "Ether() / Dot1Q(prio=0x2) / ('\\x00' * 64)",
- "Ether() / Dot1Q(prio=0x3) / ('\\x00' * 64)",
- "Ether() / Dot1Q(prio=0x7) / ('\\x00' * 64)"
+ frozenset({"Ether() / Dot1Q(prio=0x1) / Raw('\\x00' * 64)",
+ "Ether() / Dot1Q(prio=0x2) / Raw('\\x00' * 64)",
+ "Ether() / Dot1Q(prio=0x3) / Raw('\\x00' * 64)",
+ "Ether() / Dot1Q(prio=0x7) / Raw('\\x00' * 64)"
})),
'dei':
('vlan dei is 0',
- frozenset({"Ether() / Dot1Q(id=0) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / Dot1Q(id=0) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / Dot1Q(id=1) / ('\\x00' * 64)"
+ frozenset({"Ether() / Dot1Q(id=1) / Raw('\\x00' * 64)"
})),
'vid':
('vlan vid is 0xabc',
- frozenset({"Ether() / Dot1Q(vlan=0xabc) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / Dot1Q(vlan=0xabc) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / Dot1Q(vlan=0xaaa) / ('\\x00' * 64)",
- "Ether() / Dot1Q(vlan=0x123) / ('\\x00' * 64)",
- "Ether() / Dot1Q(vlan=0x1f5) / ('\\x00' * 64)",
- "Ether() / Dot1Q(vlan=0x999) / ('\\x00' * 64)"
+ frozenset({"Ether() / Dot1Q(vlan=0xaaa) / Raw('\\x00' * 64)",
+ "Ether() / Dot1Q(vlan=0x123) / Raw('\\x00' * 64)",
+ "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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / Dot1Q(type=0x8100) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / Dot1Q(type=0x0800) / ('\\x00' * 64)",
- "Ether() / Dot1Q(type=0x0842) / ('\\x00' * 64)",
- "Ether() / Dot1Q(type=0x809b) / ('\\x00' * 64)",
- "Ether() / Dot1Q(type=0x86dd) / ('\\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)"
})),
}
@@ -864,40 +864,40 @@ possible_properties = {
# They are still tested to future proof this test suite.
'rsvd0':
('vxlan rsvd0 is 0x000000',
- frozenset({"Ether() / IP() / VXLAN(reserved0=0) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / VXLAN(reserved0=0) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / VXLAN(reserved0=1) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(reserved0=2) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(reserved0=3) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(reserved0=4) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / VXLAN(reserved0=0) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / VXLAN(reserved0=1) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(reserved0=2) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(reserved0=3) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(reserved0=4) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / VXLAN(flags=0x08) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / VXLAN(flags=0x80) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(flags=0x00) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(flags=0x99) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(flags=0x01) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / VXLAN(vni=0x112233) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / VXLAN(vni=0x112234) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(vni=0x123456) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(vni=0xaabbcc) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(vni=0x999999) / ('\\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)"
})),
}
@@ -923,49 +923,49 @@ class FlowItemVxlan_gpe(PatternFlowItem):
'rsvd0':
('vxlan rsvd0 is 0x000000',
- frozenset({"Ether() / IP() / VXLAN(reserved0=0) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / VXLAN(reserved0=0) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / VXLAN(reserved0=1) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(reserved0=2) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(reserved0=3) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(reserved0=4) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / VXLAN(reserved0=0) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / VXLAN(reserved0=1) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(reserved0=2) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(reserved0=3) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(reserved0=4) / ('\\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) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / VXLAN(flags=0x08) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / VXLAN(flags=0x80) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(flags=0x00) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(flags=0x99) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(flags=0x01) / ('\\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)"
})),
'vni': # a 3-byte value
('vxlan vni is 0x112233',
- frozenset({"Ether() / IP() / VXLAN(vni=0x112233) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / VXLAN(vni=0x112233) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / VXLAN(vni=0x112234) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(vni=0x123456) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(vni=0xaabbcc) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(vni=0x999999) / ('\\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)"
})),
'protocol':
('vxlan protocol is 0x01',
- frozenset({"Ether() / IP() / VXLAN(NextProtocol=0x01) / ('\\x00' * 64)"}),
+ frozenset({"Ether() / IP() / VXLAN(NextProtocol=0x01) / Raw('\\x00' * 64)"}),
- frozenset({"Ether() / IP() / VXLAN(NextProtocol=0x01) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(NextProtocol=0x11) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(NextProtocol=0x22) / ('\\x00' * 64)",
- "Ether() / IP() / VXLAN(NextProtocol=0x33) / ('\\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)"
})),
}
diff --git a/framework/flow/generator.py b/framework/flow/generator.py
index 0fe52b2b..c4633a4a 100644
--- a/framework/flow/generator.py
+++ b/framework/flow/generator.py
@@ -31,19 +31,18 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
from __future__ import annotations
-import copy
-import itertools
import os
import sys
-import time
from typing import List, Set, Generator, Iterable, FrozenSet, Tuple
-import numpy as np
+path = os.path.dirname(os.path.dirname(__file__))
+if path not in sys.path:
+ sys.path.append(path)
from flow.flow import Flow
from flow.flow_pattern_items import PATTERN_ITEMS_TYPE_CLASS_MAPPING, PatternFlowItem, \
- PATTERN_OPERATION_TYPES, TUNNELING_PROTOCOL_TYPES, ALWAYS_ALLOWED_ITEMS, FlowItemEnd, FlowItemVxlan, FlowItemIpv4, \
- FlowItemEth, FlowItemGre, L3_FLOW_TYPES, FlowItemVlan, FlowItemUdp
+ PATTERN_OPERATION_TYPES, ALWAYS_ALLOWED_ITEMS, FlowItemVxlan, FlowItemIpv4, \
+ FlowItemEth, FlowItemGre, L3_FLOW_TYPES, FlowItemUdp
from flow.flow_rule import FlowItemType
diff --git a/tests/TestSuite_rte_flow.py b/tests/TestSuite_rte_flow.py
index 0cc9830f..d9bcff8a 100644
--- a/tests/TestSuite_rte_flow.py
+++ b/tests/TestSuite_rte_flow.py
@@ -44,7 +44,7 @@ from test_case import TestCase
from test_case import TestCase
-from framework.flow import generator
+from flow import generator
class RteFlow(TestCase):
@@ -95,9 +95,7 @@ class RteFlow(TestCase):
def send_packets(self, packets, pass_fail_function: Callable[[str], bool], error_message: str):
for packet in packets:
- output = self.send_scapy_packet(0, packet)
- time.sleep(5) # Allow the packet to be processed
- self.verify("Sent" in output, "Broken scapy packet definition: " + packet)
+ output = self.send_scapy_packet(self.dut_ports[1], packet)
output = self.pmdout.get_output()
self.verify(pass_fail_function(output),
error_message + "\r\n" + output)
@@ -164,22 +162,22 @@ class RteFlow(TestCase):
self.do_test_with_queue_action(
"ingress pattern eth / ipv4 / " + (
"void / " * 200) + "udp / end actions queue index 1 / end",
- frozenset({'Ether() / IP() / UDP() / (\'\\x00\' * 64)'}),
+ frozenset({'Ether() / IP() / UDP() / Raw(\'\\x00\' * 64)'}),
frozenset({
- 'Ether() / IP() / TCP() / (\'\\x00\' * 64)',
- 'Ether() / IP() / SCTP() / (\'\\x00\' * 64)',
- 'Ether() / IPv6() / UDP() / (\'\\x00\' * 64)',
+ 'Ether() / IP() / TCP() / Raw(\'\\x00\' * 64)',
+ 'Ether() / IP() / SCTP() / Raw(\'\\x00\' * 64)',
+ 'Ether() / IPv6() / UDP() / Raw(\'\\x00\' * 64)',
})
)
def test_excessive_tunneling(self):
self.do_test_with_queue_action(
"ingress pattern " + ("eth / gre / " * 20) + "eth / ipv4 / udp / end actions queue index 1 / end",
- frozenset({'Ether() / IP() / UDP() / (\'\\x00\' * 64)'}),
+ frozenset({'Ether() / IP() / UDP() / Raw(\'\\x00\' * 64)'}),
frozenset({
- 'Ether() / IP() / TCP() / (\'\\x00\' * 64)',
- 'Ether() / IP() / SCTP() / (\'\\x00\' * 64)',
- 'Ether() / IPv6() / UDP() / (\'\\x00\' * 64)',
+ 'Ether() / IP() / TCP() / Raw(\'\\x00\' * 64)',
+ 'Ether() / IP() / SCTP() / Raw(\'\\x00\' * 64)',
+ 'Ether() / IPv6() / UDP() / Raw(\'\\x00\' * 64)',
})
)
@@ -192,11 +190,11 @@ class RteFlow(TestCase):
def test_drop_case1(self):
self.do_test_with_callable_tests_for_pass_fail(
"ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions drop / end",
- frozenset({'Ether() / IP(src="192.168.0.1") / UDP() / (\'\\x00\' * 64)'}),
- frozenset({'Ether() / IP(src="10.0.30.99") / UDP() / (\'\\x00\' * 64)',
- 'Ether() / IP(src="132.177.0.99") / UDP() / (\'\\x00\' * 64)',
- 'Ether() / IP(src="192.168.0.2") / UDP() / (\'\\x00\' * 64)',
- 'Ether() / IP(src="8.8.8.8") / UDP() / (\'\\x00\' * 64)'}),
+ frozenset({'Ether() / IP(src="192.168.0.1") / UDP() / Raw(\'\\x00\' * 64)'}),
+ frozenset({'Ether() / IP(src="10.0.30.99") / UDP() / Raw(\'\\x00\' * 64)',
+ 'Ether() / IP(src="132.177.0.99") / UDP() / Raw(\'\\x00\' * 64)',
+ 'Ether() / IP(src="192.168.0.2") / UDP() / Raw(\'\\x00\' * 64)',
+ 'Ether() / IP(src="8.8.8.8") / UDP() / Raw(\'\\x00\' * 64)'}),
lambda output: "port" not in output,
lambda output: "port" in output,
"Drop function was not correctly applied")
@@ -204,11 +202,11 @@ class RteFlow(TestCase):
def test_queue_case1(self):
self.do_test_with_queue_action(
"ingress pattern eth / ipv4 src is 192.168.0.1 / udp / end actions queue index 1 / end",
- frozenset({'Ether() / IP(src="192.168.0.1") / UDP() / (\'\\x00\' * 64)'}), frozenset(
- {'Ether() / IP(src="10.0.30.99") / UDP() / (\'\\x00\' * 64)',
- 'Ether() / IP(src="132.177.0.99") / UDP() / (\'\\x00\' * 64)',
- 'Ether() / IP(src="192.168.0.2") / UDP() / (\'\\x00\' * 64)',
- 'Ether() / IP(src="8.8.8.8") / UDP() / (\'\\x00\' * 64)'}))
+ frozenset({'Ether() / IP(src="192.168.0.1") / UDP() / Raw(\'\\x00\' * 64)'}), frozenset(
+ {'Ether() / IP(src="10.0.30.99") / UDP() / Raw(\'\\x00\' * 64)',
+ 'Ether() / IP(src="132.177.0.99") / UDP() / Raw(\'\\x00\' * 64)',
+ 'Ether() / IP(src="192.168.0.2") / UDP() / Raw(\'\\x00\' * 64)',
+ 'Ether() / IP(src="8.8.8.8") / UDP() / Raw(\'\\x00\' * 64)'}))
def do_runtime_test_generation():
--
2.30.2
next reply other threads:[~2021-08-23 19:02 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-23 19:02 ohilyard [this message]
2021-09-06 7:09 ` Tu, Lijuan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210823190209.62859-1-ohilyard@iol.unh.edu \
--to=ohilyard@iol.unh.edu \
--cc=dts@dpdk.org \
--cc=lijuan.tu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).