[ovs-discuss] fix ports in vSwitch

Jens Brunsen Jens.Brunsen at eu.citrix.com
Wed Jul 14 18:27:41 UTC 2010


Hi,
I am running vSwitch v0.99 on XenServer 5.6 and recognized a problem which we were not able to solve at the moment and what is a real big problem if we cannot fix it.
Our  PoC implementation was XS 5.6 (no resource pool) with vswitch 0.99 and 2 Windows 2008 VMs each with one single VIF attached.

We created the following flows on our system:


ovs-ofctl add-flow xenbr0 dl_src=a2:82:eb:c1:a9:18,idle_timeout=0,actions=output:1                (control traffic from VM1 to NIC)

ovs-ofctl add-flow xenbr0 dl_src=d2:3c:b2:b0:fb:8d,idle_timeout=0,actions=output:1                (control traffic from VM2 to NIC)

ovs-ofctl add-flow xenbr0 dl_dst=d2:3c:b2:b0:fb:8d,idle_timeout=0,actions=output:2               (control traffic from NIC to VM2)

ovs-ofctl add-flow xenbr0 dl_dst=a2:82:eb:c1:a9:18,idle_timeout=0,actions=output:3                (control traffic from NIC to VM1)

ovs-ofctl add-flow xenbr0 dl_dst=ff:ff:ff:ff:ff:ff,arp,idle_timeout=0,actions=NORMAL               (control ARP-Broadcast for DHCP)

ovs-ofctl add-flow xenbr0 nw_dst=255.255.255.255,ip,idle_timeout=0,actions=NORMAL          (control IP-Broadcast for DHCP)

ovs-ofctl add-flow xenbr0 in_port=1,idle_timeout=0,priority=10000,actions=drop                        (If none of the previous flows will match drop the packages)



This works great until we reboot the virtual machines. As you can see in our defined flows we are controlling traffic by looking into source or destination MAC address and if this matches we tell openFlow to output the packages only on the switch port we have defined. Normally switch port for the physical NIC is port number 0 and in our case port number 2 and 3 are the ports for our VIF interfaces.

What we now recognized is that the port numbers of the VIF interfaces at the vSwitch will change when we reboot the VMs. Means that if no VM is running we cannot see any VIF ports on the vSwitch. When we boot up the first VM it gets connected to port number 1 for his VIF and when the second VM boots up it is connected to port number 2. But when we e.g. the next time boot the second VM first then it will be connected to the port number 1 and at this moment our defined flows will no longer macht and we have an issue in network communication of the VM.



What we now need is something to define a fix VIF to port relation or anything similar. Also persistent ports could be something possible. I cannot believe that this is not possible. Can you deliver or show me a function that can resolve this issue?

thanks & regards

     Jens Brunsen

Systems Specialist Server Virtualization

Phone: +49 541 5978997
Mobile: +49 151 16162021

[cid:image001.jpg at 01CB2393.01FBB970]<http://www.citrixsynergy.com/berlin>

Citrix Systems GmbH:
Geschäftsführer: Scott Herren, Jens Lübben, Sitz der Gesellschaft: Hallbergmoos
Registergericht: Amtsgericht München, HRB 113576

       [cid:image002.jpg at 01CB2393.01FBB970] <https://www.xing.com/profile/Jens_Brunsen>

Blog: http://community.citrix.com/blogs/citrite/jensb




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20100714/a9ee15d0/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 6478 bytes
Desc: image001.jpg
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20100714/a9ee15d0/attachment-0008.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.jpg
Type: image/jpeg
Size: 2998 bytes
Desc: image002.jpg
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20100714/a9ee15d0/attachment-0009.jpg>


More information about the discuss mailing list