I have frames coming in from eth0 tagged with a vlan id. I'm trying to load another vlan tag on the same frame so I'll have two vlan headers, then output the frame to eth1.
I read ovs-ofctl's manpage and saw that there's a "push_vlan" command I can use. I tried that: ovs-ofctl add-flow br0 -O OpenFlow13 "table=0 actions=push_vlan:0x8100,mod_vlan_id=2,2" But instead of adding the new vlan tag on top of the current one, it just replaces the current tag with vid 0.
I have: vid=5/[frame] I want: vid=2/vid=5/[frame] What happens after that flow is added: vid=2/[frame]
I read the source code and saw that it if openvswitch sees that an existing vlan header exists, it pushes it down and adds a new one. But that's not what I see when I run tcpdump on eth1.
Do you have any ideas? Thanks!