On Fri, Mar 15, 2013 at 06:52:33PM +0800, Fang wrote:
>  Hello.I have three VMs on my host.
> 
> Bridge "br0"
>         Port "br0"
>             Interface "br0"
>                 type: internal
>         Port "tap1"
>             tag: 7
>             Interface "tap1"
>         Port "tap2"
>             tag: 7
>             Interface "tap2"
>         Port "tap3"
>             tag: 9
>             Interface "tap3"
>         Port "eth0"
>             Interface "eth0"
>     ovs_version: "1.7.1"
> 
> I want to make vm1 communicate with vm3 by modifying the vlan tag.
> 
> VM1(tap1):192.168.0.11
> VM2(tap2):192.168.0.22
> VM3(tap3):192.168.0.33
> 
> I set
> ovs-ofctl add-flow br0 
> cookie=1,nw_src=192.168.0.11,nw_dst=192.168.0.33,ip,actions=mod_vlan_vid:9,NORMAL
> but it did not work.

This does not work for packets coming from vm1 because vm1 has an access
port, not a trunk port, so "normal" drops packets that have 802.1Q
headers.

> I  tried
> ovs-ofctl add-flow br0 
> cookie=1,priority=10,in_port=4,dl_vlan=7,actions=mod_vlan_vid:9,NORMAL
> ("4" is port tap1)
> and I  also tried dl_src,dl_dst.All did not work.

This does not work because packets received from vm1 do not have an
802.1Q header, thus "dl_vlan=7" will not match them.

You will need to write a rule that matches the packets you want and then
sends them directly to their destination, rather than trying to go
through "normal".
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to