On Thu, Jan 05, 2017 at 06:19:41PM -0800, Jarno Rajahalme wrote:
> 'ctx->was_mpls' is used to flag when an MPLS packet has been popped to
> a non-MPLS packet, but it was not set when the MPLS POP is implicit
> due to the 'ctx->xin->flow' being restored after a patch port
> traversal to group bucket execution.
> 
> If MPLS push on a non-MPLS packet is followed by an MPLS POP in the
> same actions list, a recirculation after the MPLS POP would not be
> necessary, as the parsed L3/4 fields are still available.  Even so,
> the current action validation and execution code in the Linux kernel
> datapath implementation would need to be enhanced to support this
> case.  For now we trigger recirculation instead.
> 
> Reported-by: Thomas Morin <[email protected]>
> Suggested-by: Takashi YAMAMOTO <[email protected]>
> Fixes: 742c0ac3c0ab ("mpls: Fix MPLS restoration after patch port and group 
> bucket.")
> Signed-off-by: Jarno Rajahalme <[email protected]>

This is complicated.

This is a bug fix, I guess.  Is this anything we can test?

Should this be implemented as a helper function?

Acked-by: Ben Pfaff <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to