i forgot to mention that all the code changes were in the push_vlan method
inside actions.c
(i removed the hardware acceleration code and replaced it with
__push_vlan_tag) and i check if the protocol is 0x8100 using ethhdr)

---------- Forwarded message ----------
From: Philip Roth <philip.ro...@gmail.com>
Date: Sun, Jan 12, 2014 at 2:05 PM
Subject: vlan tagging anigma
To: dev@openvswitch.org


Hey,
I'm noticing a weird behaviour when a vlan tagged frame arrives to
push_vlan method.
I'm sending a vlan tagged frame to ovs throught port 1 and have the
following rule:
"table=1,in_port=1,actions=push_vlan:0x8100,2" & I'm sniffing all the
traffic on port 2.
When i send a vlan tagged frame, i notice that it's protocol is 0x800 and
not 0x8100, thus it's not entering the "push down vlan" case. instead, it
runs over the current vlan tag with 0.

When i add another vlan frame, again, it doesn't recognize the frame and
replaces the outer one.
BUT when i add three vlan frames, the protocol changes to 0x8100 and i see
FOUR vlan headers.


I can't figure out what's going on. any ideas?

* i use tcpdump / wireshark for sniffing.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to