Size and ingress port updates
Use minsize config parameter for vlanprio1 test and in packet
action tests using DirectBadPacketBase (many tests).
In addition, when specifying the catch all flow, qualify on
ingress port since you know it. Still may want to look for
another mechanism for this.
diff --git a/tests/actions.py b/tests/actions.py
index 8be69dc..bacb67c 100644
--- a/tests/actions.py
+++ b/tests/actions.py
@@ -514,8 +514,9 @@
#Create a untagged packet to be sent and an expected packet with vid = 0 , vlan_priority set.
vlan_id = 0
vlan_pcp = 1
- pkt = simple_tcp_packet(pktlen=60)
- exp_pkt = simple_tcp_packet(dl_vlan_enable=True, dl_vlan=vlan_id,dl_vlan_pcp=vlan_pcp, pktlen=64)
+ pktlen = 64 if config["minsize"] < 64 else config["minsize"]
+ pkt = simple_tcp_packet(pktlen=pktlen)
+ exp_pkt = simple_tcp_packet(dl_vlan_enable=True, dl_vlan=vlan_id,dl_vlan_pcp=vlan_pcp, pktlen=pktlen + 4)
act = action.action_set_vlan_pcp()
act.vlan_pcp = vlan_pcp
diff --git a/tests/pktact.py b/tests/pktact.py
index dfea225..6e2e573 100644
--- a/tests/pktact.py
+++ b/tests/pktact.py
@@ -2089,6 +2089,9 @@
logging.info("Inserting catch-all flow")
request2 = message.flow_mod()
request2.match = self.createMatch()
+ request2.match.wildcards &= ~ofp.OFPFW_IN_PORT
+ request2.match.in_port = ingress_port
+
request2.priority = 0
act = action.action_output()
act.port = ofp.OFPP_IN_PORT
@@ -2097,9 +2100,13 @@
do_barrier(self.controller)
+ pkt_str = str(pkt)
+ if config["minsize"] > len(str(pkt)):
+ pkt_str += '0' * (config["minsize"] - len(str(pkt)))
+
logging.info("Sending packet to dp port " +
str(ingress_port))
- self.dataplane.send(ingress_port, str(pkt))
+ self.dataplane.send(ingress_port, pkt_str)
exp_pkt_arg = None
exp_port = None