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