[ovs-dev] *** SPAM *** [PATCH] xlate: Recirculate also when MPLS POP is implicit.

Ben Pfaff blp at ovn.org
Fri Jan 6 17:06:03 UTC 2017


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 <thomas.morin at orange.com>
> Suggested-by: Takashi YAMAMOTO <yamamoto at ovn.org>
> Fixes: 742c0ac3c0ab ("mpls: Fix MPLS restoration after patch port and group bucket.")
> Signed-off-by: Jarno Rajahalme <jarno at ovn.org>

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 <blp at ovn.org>


More information about the dev mailing list