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.rajahalme@nsn.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
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 {