Reported-by: Jesse Gross <[email protected]>
Signed-off-by: Ethan Jackson <[email protected]>
---
Jesse tested this, I've only compiled it.
---
ofproto/ofproto-dpif.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index f5280ff..bcdb1d3 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -5534,15 +5534,21 @@ packet_out(struct ofproto *ofproto_, struct ofpbuf
*packet,
ofproto->max_ports);
if (!error) {
struct odputil_keybuf keybuf;
- struct action_xlate_ctx ctx;
struct ofpbuf *odp_actions;
+ struct ofproto_push push;
struct ofpbuf key;
ofpbuf_use_stack(&key, &keybuf, sizeof keybuf);
odp_flow_key_from_flow(&key, flow);
- action_xlate_ctx_init(&ctx, ofproto, flow, flow->vlan_tci, 0, packet);
- odp_actions = xlate_actions(&ctx, ofp_actions, n_ofp_actions);
+ action_xlate_ctx_init(&push.ctx, ofproto, flow, flow->vlan_tci, 0,
+ packet);
+ push.packets = 1;
+ push.bytes = packet->size;
+ push.used = time_msec();
+ push.ctx.resubmit_hook = push_resubmit;
+
+ odp_actions = xlate_actions(&push.ctx, ofp_actions, n_ofp_actions);
dpif_execute(ofproto->dpif, key.data, key.size,
odp_actions->data, odp_actions->size, packet);
ofpbuf_delete(odp_actions);
--
1.7.7.1
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev