[ovs-discuss] match ethertype when packet with multiple vlan tags

Dickens Yeh dickens.yeh at gmail.com
Tue Apr 18 04:17:17 UTC 2017


Thanks for your response.
I know that if I have to match multiple vlan tags, it have to pop the outer
vlan.
But I think my question are not the matching vlan tags in multiple vlan, my
question is matching the first vlan tag and the correct ethertype that
OpenFlow Spec defined ( the ethertype after all vlan tags ), not the case
that match multiple vlan tags in a single flow entry.

For example, that packet header like
ffffffffffff000000000012 8100 00d0 8060 001080006040001000000000012c0a
80202000000000000c0a80302
In the view of ethernet, the ethertype should be 8100, that's not a problem.
In the view of openflow spec match, the ethertype should be 0806 ( ARP ),
the ethertype match after vlan tags
In the view of OVS match, the etherype is 0806, the result is matching with
spec.

Then, if the packet header like
ffffffffffff000000000012 88a8 00c0 8100 00d0 8060
001080006040001000000000012c0a80202000000000000c0a80302
In the view of ethernet, the ethertype should be 88a8, the same result with
one vlan tag.
In the view of openflow spec match, the ethertype should be 0806 ( ARP )
In the view of OVS match, the ethertype is 8100, not 0806.

I think the result is strange, but I don't know that it's an issue or
something else.
Is there any ideas? or I misunderstand something.

best wishes,
Dickens Yeh

2017-04-18 0:35 GMT+08:00 Ben Pfaff <blp at ovn.org>:

> On Mon, Apr 17, 2017 at 10:51:08AM -0400, Eric Garver wrote:
> > On Mon, Apr 17, 2017 at 01:26:37PM +0800, Dickens Yeh wrote:
> > > Hello,
> > > I have a problem with matching ethertype when the packet with vlan
> tags.
> > > My testing environment is Ubuntu 16 in vmware fusion, mininet 2.2.2rc1,
> > > openvswitch 2.7.90
> > >
> > > With these cases:
> > > case 1: packet with vlan=100,ethertype=arp
> > > case 2: packet with vlan=2000,vlan=100,ethertype=arp
> > >
> > > The result of cases:
> > > case 1 can be matched by vlan=100 and ethertype=arp fields in a flow
> entry
> > > case 2 can be matched only by vlan=2000 and ethertype=0x8100 fields in
> a
> > > flow entry
> > >
> > > But I read some informations from OpenFlow Spec 1.1, that says about
> "match
> > > ethertype after all vlan tags".
> > > Is the resulf of case 2 should be matched vlan=2000 and ethertype=arp?
> >
> > Until very recently openvswitch only supported a single VLAN tag.
> > Current master branch has support for 802.1ad/QinQ and can match the ARP
> > EtherType as you wish in case 2 above.
>
> I think that OVS still doesn't have the ability to match multiple VLAN
> tags in a single flow entry.  I think that you have to match one, then
> pop it and match the second one in another flow lookup.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20170418/ce297502/attachment.html>


More information about the discuss mailing list