X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=ofproto%2Fofproto-dpif.c;h=d6fdd477ab820834e50c16f909e7df45643ad78a;hb=016143f26f3d563e41e02c7a3f9a422d0e8caa9d;hp=db01196ebfdd4573d7220c68d6c499303d10a599;hpb=aad5cf96377c99049efabb997d983bd641a2a249;p=cascardo%2Fovs.git diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index db01196eb..d6fdd477a 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -3123,18 +3123,18 @@ ofproto_dpif_execute_actions(struct ofproto_dpif *ofproto, xin.resubmit_stats = &stats; xlate_actions(&xin, &xout); + execute.actions = ofpbuf_data(&xout.odp_actions); + execute.actions_len = ofpbuf_size(&xout.odp_actions); + execute.packet = packet; + execute.md = pkt_metadata_from_flow(flow); + execute.needs_help = (xout.slow & SLOW_ACTION) != 0; + + /* Fix up in_port. */ in_port = flow->in_port.ofp_port; if (in_port == OFPP_NONE) { in_port = OFPP_LOCAL; } - execute.actions = ofpbuf_data(&xout.odp_actions); - execute.actions_len = ofpbuf_size(&xout.odp_actions); - execute.packet = packet; - execute.md.tunnel = flow->tunnel; - execute.md.skb_priority = flow->skb_priority; - execute.md.pkt_mark = flow->pkt_mark; execute.md.in_port.odp_port = ofp_port_to_odp_port(ofproto, in_port); - execute.needs_help = (xout.slow & SLOW_ACTION) != 0; error = dpif_execute(ofproto->backer->dpif, &execute);