From: Ethan Jackson Date: Mon, 12 Sep 2011 23:56:21 +0000 (-0700) Subject: ofproto-dpif: Emit set_tunnel when required to. X-Git-Tag: v1.2.2~10 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=c5e3adc986cd6e44d69170ad9a84c0970653665f;p=sliver-openvswitch.git ofproto-dpif: Emit set_tunnel when required to. ofproto-dpif assumed that the datapath initialized the tun_id of a flow on egress, to its tun_id on ingress. For this reason, if OpenFlow actions set the tun_id to a flow's ingress tun_id, ofproto-dpif would fail to emit a set_tunnel action. Reported-by: Igor Ganichev Reported-by: Pankaj Thakkar --- diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 8a175dc9d..5ebf05772 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -3278,6 +3278,7 @@ xlate_actions(struct action_xlate_ctx *ctx, ctx->priority = 0; ctx->base_priority = 0; ctx->base_flow = ctx->flow; + ctx->base_flow.tun_id = 0; if (process_special(ctx->ofproto, &ctx->flow, ctx->packet)) { ctx->may_set_up_flow = false;