From: Jarno Rajahalme Date: Fri, 31 May 2013 11:35:11 +0000 (+0300) Subject: ofproto-dpif: Check for MPLS depth at the flow. X-Git-Tag: sliver-openvswitch-1.10.90-3~6^2~122 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=57ca714f7559feb399470f2cc477473c7825e403;p=sliver-openvswitch.git ofproto-dpif: Check for MPLS depth at the flow. The earlier check on base_flow.mpls_depth seemed wrong, as multiple MPLS push actions would have resulted in the flow.mpls_depth being set to 1 each time. Signed-off-by: Jarno Rajahalme Signed-off-by: Ben Pfaff --- diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c index e4b1fd3b3..968215852 100644 --- a/ofproto/ofproto-dpif-xlate.c +++ b/ofproto/ofproto-dpif-xlate.c @@ -1116,7 +1116,7 @@ execute_mpls_push_action(struct xlate_ctx *ctx, ovs_be16 eth_type) memset(&ctx->xout->wc.masks.mpls_depth, 0xff, sizeof ctx->xout->wc.masks.mpls_depth); - if (ctx->base_flow.mpls_depth) { + if (ctx->xin->flow.mpls_depth) { ctx->xin->flow.mpls_lse &= ~htonl(MPLS_BOS_MASK); ctx->xin->flow.mpls_depth++; } else {