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 <jarno.rajaha...@nsn.com> --- ofproto/ofproto-dpif.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 7c3abec..7c26c2f 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -6237,7 +6237,7 @@ execute_mpls_push_action(struct xlate_ctx *ctx, ovs_be16 eth_type) { ovs_assert(eth_type_mpls(eth_type)); - 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 { -- 1.7.10.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev