[ovs-dev] *** SPAM *** [PATCH] xlate: Recirculate also when MPLS POP is implicit.
Jarno Rajahalme
jarno at ovn.org
Wed Jan 11 02:55:23 UTC 2017
> On Jan 6, 2017, at 9:06 AM, Ben Pfaff <blp at ovn.org> wrote:
>
> 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?
>
Testing was there, but surprisingly did not need a change, so the patch did not have the desired effect. Sorry for the churn, will send a new version once the test cases actually work as they should.
Jarno
> Should this be implemented as a helper function?
>
Will do.
More information about the dev
mailing list