From: Ethan Jackson Date: Mon, 12 Sep 2011 23:56:21 +0000 (-0700) Subject: ofproto-dpif: Emit set_tunnel when required to. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf1e03710e905cd33765bf72b734020bf98d46ac;p=openvswitch 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 c632df64..dfdaaa29 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -3354,6 +3354,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; ctx->table_id = 0; if (process_special(ctx->ofproto, &ctx->flow, ctx->packet)) {