loxi-prep: use plain lists to hold OF actions
Some callsites needed to be changed because they depended on action_list.append
taking a shallow copy.
diff --git a/tests/pktact.py b/tests/pktact.py
index 9e81af6..bd3e79f 100644
--- a/tests/pktact.py
+++ b/tests/pktact.py
@@ -501,7 +501,6 @@
match.wildcards &= ~ofp.OFPFW_IN_PORT
self.assertTrue(match is not None,
"Could not generate flow match from pkt")
- act = ofp.action.output()
for idx in range(len(of_ports)):
delete_all_flows(self.controller)
@@ -518,10 +517,8 @@
request = ofp.message.flow_mod()
request.match = match
request.buffer_id = 0xffffffff
- act.port = egress_port1
- request.actions.append(act)
- act.port = egress_port2
- request.actions.append(act)
+ request.actions.append(ofp.action.output(port=egress_port1))
+ request.actions.append(ofp.action.output(port=egress_port2))
# logging.info(request.show())
logging.info("Inserting flow")
@@ -559,7 +556,6 @@
match.wildcards &= ~ofp.OFPFW_IN_PORT
self.assertTrue(match is not None,
"Could not generate flow match from pkt")
- act = ofp.action.output()
for ingress_port in of_ports:
delete_all_flows(self.controller)
@@ -574,8 +570,7 @@
for egress_port in of_ports:
if egress_port == ingress_port:
continue
- act.port = egress_port
- request.actions.append(act)
+ request.actions.append(ofp.action.output(port=egress_port))
logging.debug(request.show())
logging.info("Inserting flow")
@@ -611,7 +606,6 @@
match.wildcards &= ~ofp.OFPFW_IN_PORT
self.assertTrue(match is not None,
"Could not generate flow match from pkt")
- act = ofp.action.output()
for ingress_port in of_ports:
delete_all_flows(self.controller)
@@ -623,6 +617,7 @@
request.match = match
request.buffer_id = 0xffffffff
for egress_port in of_ports:
+ act = ofp.action.output()
if egress_port == ingress_port:
act.port = ofp.OFPP_IN_PORT
else:
@@ -713,7 +708,6 @@
match.wildcards &= ~ofp.OFPFW_IN_PORT
self.assertTrue(match is not None,
"Could not generate flow match from pkt")
- act = ofp.action.output()
for ingress_port in of_ports:
delete_all_flows(self.controller)
@@ -724,10 +718,8 @@
request = ofp.message.flow_mod()
request.match = match
request.buffer_id = 0xffffffff
- act.port = ofp.OFPP_FLOOD
- request.actions.append(act)
- act.port = ofp.OFPP_IN_PORT
- request.actions.append(act)
+ request.actions.append(ofp.action.output(port=ofp.OFPP_FLOOD))
+ request.actions.append(ofp.action.output(port=ofp.OFPP_IN_PORT))
logging.info(request.show())
logging.info("Inserting flow")
@@ -804,7 +796,6 @@
match.wildcards &= ~ofp.OFPFW_IN_PORT
self.assertTrue(match is not None,
"Could not generate flow match from pkt")
- act = ofp.action.output()
for ingress_port in of_ports:
delete_all_flows(self.controller)
@@ -815,10 +806,8 @@
request = ofp.message.flow_mod()
request.match = match
request.buffer_id = 0xffffffff
- act.port = ofp.OFPP_ALL
- request.actions.append(act)
- act.port = ofp.OFPP_IN_PORT
- request.actions.append(act)
+ request.actions.append(ofp.action.output(port=ofp.OFPP_ALL))
+ request.actions.append(ofp.action.output(port=ofp.OFPP_IN_PORT))
logging.info(request.show())
logging.info("Inserting flow")