If a pop is composed on a flow whose label stack is already full
it should not call flow_push_mpls() as that function can't do
anything useful (it aborts) given that the label stack is full.

Signed-off-by: Simon Horman <ho...@verge.net.au>
---
 ofproto/ofproto-dpif-xlate.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index 3ae6a29..24bfc42 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -2131,6 +2131,7 @@ compose_mpls_push_action(struct xlate_ctx *ctx, struct 
ofpact_push_mpls *mpls)
     } else if (n >= ctx->xbridge->max_mpls_depth) {
         COVERAGE_INC(xlate_actions_mpls_overflow);
         ctx->xout->slow |= SLOW_ACTION;
+        return;
     }
 
     flow_push_mpls(flow, mpls->ethertype, wc);
-- 
1.8.5.2

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to