[ovs-dev] [PATCH] datapath: Add basic MPLS support to kernel

Jesse Gross jesse at nicira.com
Thu Oct 4 15:52:52 UTC 2012

On Thu, Oct 4, 2012 at 1:58 AM, Simon Horman <horms at verge.net.au> wrote:
> On Wed, Oct 03, 2012 at 12:17:16PM -0700, Jesse Gross wrote:
>> From: Leo Alterman <lalterman at nicira.com>
>> Allow datapath to recognize and extract MPLS labels into flow keys
>> and execute actions which push, pop, and set labels on packets.
>> Signed-off-by: Leo Alterman <lalterman at nicira.com>
> Hi,
> As a method of reviewing this I've been reworking Ravi's user-space
> datapath and non-datapath code to match up with this kernel datapath
> implementation.
> That part seems to be working out well, though I'd like to clean
> up my efforts a little before posting.
> One thing that am curious about is if OVS_ACTION_ATTR_SET_MPLS is needed.
> I believe that setting the label value (the top 20 bits), tc and bos can be
> handled using set-field actions for OF1.2+ (OXM) and load actions for NXM.
> And I believe that manipulation of the TTL can be handled by TTL-specific
> actions that are not part of this datapath implementation but presumably
> will be added later.
> I believe that the above would be is in keeping with the OF1.2 and OF1.3
> specifications wile also providing an NX extension mechanism.

I'm not sure that I really understand the question.
OVS_ACTION_ATTR_SET_MPLS would be the mechanism that set-field, etc.
use to actually implement their behavior at the kernel level.

I don't want to add any TTL-specific actions to the kernel such
decrement, copy-in/out, etc.  When we do support that it should be
using set and some form of resubmit if necessary (as we do for IP).
However, the cases requiring resubmit are more complex, which is why
they're not implemented for the time being.

More information about the dev mailing list