diff options
author | Ethan Jackson <ethan@nicira.com> | 2011-09-12 16:56:21 -0700 |
---|---|---|
committer | Ethan Jackson <ethan@nicira.com> | 2011-09-13 16:16:58 -0700 |
commit | c5e3adc986cd6e44d69170ad9a84c0970653665f (patch) | |
tree | e65b8fea6db878cade46ced6acffd1bffbd5ace7 | |
parent | 7bbb970161407c4fbb386bcdc97f95eac5298ddd (diff) | |
download | openvswitch-c5e3adc986cd6e44d69170ad9a84c0970653665f.tar.gz |
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 <iganichev@nicira.com>
Reported-by: Pankaj Thakkar <thakkar@nicira.com>
-rw-r--r-- | ofproto/ofproto-dpif.c | 1 |
1 files changed, 1 insertions, 0 deletions
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; |