Test only supported match fields in pktact.MatchEach
diff --git a/tests/pktact.py b/tests/pktact.py
index d543bd7..2f9267b 100644
--- a/tests/pktact.py
+++ b/tests/pktact.py
@@ -2006,18 +2006,29 @@
self.assertEqual(rcv_port, egress_port, "Unexpected receive port")
self.assertEqual(str(pkt), str(rcv_pkt), 'Response packet does not match send packet')
+ wildcards = required_wildcards(self)
# TODO in_port
- testField("dl_src", [0xff]*6)
- testField("dl_dst", [0xff]*6)
- testField("dl_type", 0xffff)
- testField("dl_vlan", 0xfff)
+ if not (wildcards & ofp.OFPFW_DL_SRC):
+ testField("dl_src", [0xff]*6)
+ if not (wildcards & ofp.OFPFW_DL_DST):
+ testField("dl_dst", [0xff]*6)
+ if not (wildcards & ofp.OFPFW_DL_TYPE):
+ testField("dl_type", 0xffff)
+ if not (wildcards & ofp.OFPFW_DL_VLAN):
+ testField("dl_vlan", 0xfff)
# TODO dl_vlan_pcp
- testField("nw_src", 0xffffffff)
- testField("nw_dst", 0xffffffff)
- testField("nw_tos", 0x3f)
- testField("nw_proto", 0xff)
- testField("tp_src", 0xffff)
- testField("tp_dst", 0xffff)
+ if not (wildcards & ofp.OFPFW_NW_SRC_ALL):
+ testField("nw_src", 0xffffffff)
+ if not (wildcards & ofp.OFPFW_NW_DST_ALL):
+ testField("nw_dst", 0xffffffff)
+ if not (wildcards & ofp.OFPFW_NW_TOS):
+ testField("nw_tos", 0x3f)
+ if not (wildcards & ofp.OFPFW_NW_PROTO):
+ testField("nw_proto", 0xff)
+ if not (wildcards & ofp.OFPFW_TP_SRC):
+ testField("tp_src", 0xffff)
+ if not (wildcards & ofp.OFPFW_TP_DST):
+ testField("tp_dst", 0xffff)
class DirectBadPacketBase(base_tests.SimpleDataPlane):
"""