[ovs-dev] [PATCH 01/16] User-Space MPLS actions and matches

Simon Horman horms at verge.net.au
Thu Jan 24 07:00:11 UTC 2013

On Wed, Jan 23, 2013 at 10:31:52PM -0800, Andre Khan wrote:
> Hi Simon,
> Regarding this part in your mail:
>    >> push_mpls_lse() isn't documented as putting the new MPLS label before or
>    >> after the existing labels, but it appears to me that it puts the new
>    >> label after the existing labels.  If I'm right about that, it's
>    >> surprising; one would ordinarily expect a new header to be an outermost
>    >> one, not an innermost one.
>    >I believe that it pushes the new MPLS stack entry onto the MPLS stack
>    >before any existing entries.
> The newly pushed MPLS label is the "outermost" label (which is what I believe Ben alluded to). 
> Typically this label is for the benefit of the MPLS Nexthop to which it has local significance.   
> I just started to scan this list, so forgive me if I lack the full context of this thread and missed something... besides it is getting late here :)
> Thanks,
> -Andre
> PS: I would suggest that that location of the label be signified with the words "inner/outer" rather than "before/after" as it removes any ambiguity... not to mention that is the MPLS speak :) 

Thanks. I believe that the behaviour of the code is consistent with
what you describe.

How about this updated comment for push_mpls_lse().

/* Push an new MPLS stack entry onto the MPLS stack
 * and adjust packet->l2 and packet->l2.5 accordingly.
 * The new entry will be the outermost entry on the stack. */

More information about the dev mailing list