[ovs-dev] [PATCH 1/2] V4 linux datapath Adds 802.1ad (qinq) support

Ben Pfaff blp at nicira.com
Thu Oct 16 15:54:52 UTC 2014


On Thu, Oct 16, 2014 at 08:56:32AM -0400, Thomas F Herbert wrote:
> >Why is OVS_KEY_ATTR_CVLAN needed?  The expectation when we designed
> >the Netlink flow structures was that nested VLANs would be implemented
> >as multiple nested attributes.
> Ben, OK. I will redo to  use nested attributes. Why does mpls have key
> attributes?

There's an attribute for a VLAN, which specifies the contents of the
VLAN header, and then the remainder of the flow information follows in
an "encap" header.

There's an attribute for MPLS, which specifies the contents of the MPLS
headers.  MPLS doesn't provide any hints as to what comes next, so while
the remainder of the flow information would naturally follow in an
"encap" header, there's no information to provide.  The MPLS headers
themselves could be given as nested attributes,  We had a discussion of
that at the time (I don't recall whether it was on the list; maybe not),
but we concluded that since multiple MPLS headers were the rule, not the
exception, and since there was never anything intervening between them,
it made sense to just jam them all into one netlink attribute.

(I conclude that multiple VLAN headers are an exceptional case based on
OVS being around since 2009 or so and only now people submitting patches
for it ;-)



More information about the dev mailing list