[pve-devel] OpenVSwitch GUI

Alexandre DERUMIER aderumier at odiso.com
Sun Dec 29 15:43:07 CET 2013

>>That attribute is not needed, so I removed it. It only causes problems because 
>>ovs-switchd tries to start that interface at wrong time when booting. 

How/when does it start ?  (because the bridge  don't start on my test server with "auto vmbrxx" )

About tagging the default internal port, I found how to do it, we can just use OVS_EXTRA, to execute ovs-vsctl extra commands)

here my test config, with non-starting bridge with auto

auto vmbr10
iface vmbr10 inet static
    ovs_type OVSBridge
    ovs_ports bond1
    ovs_extra set port vmbr10 tag=100

allow-vmbr10 bond1
iface bond1 inet manual
     ovs_bridge vmbr10
     ovs_type OVSBond
     ovs_bonds eth4 eth5
     ovs_options bond_mode=balance-tcp lacp=active

auto eth4
iface eth4 inet manual

auto eth5
iface eth5 inet manual

----- Mail original ----- 

De: "Dietmar Maurer" <dietmar at proxmox.com> 
À: "Alexandre DERUMIER" <aderumier at odiso.com> 
Cc: pve-devel at pve.proxmox.com 
Envoyé: Dimanche 29 Décembre 2013 14:46:26 
Objet: RE: OpenVSwitch GUI 

> I have found 1 bug, If I edit an existing ovs vmbr, when commiting, it's removing 
> "allow-ovs " 

That attribute is not needed, so I removed it. It only causes problems because 
ovs-switchd tries to start that interface at wrong time when booting. 

> about lacp, I found in xenserver source code this: 
> + if mode == 'lacp': 
> + argv += ['lacp=active'] 
> + 
> + if halgo == 'src_mac': 
> + argv += ['bond_mode=balance-slb'] 
> + elif halgo == "tcpudp_ports": 
> + argv += ['bond_mode=balance-tcp'] 
> + else: 
> + log("bridge %s has invalid bond-hashing-algorithm '%s'" % (bridge, halgo)) 
> + argv += ['bond_mode=balance-slb'] 
> + elif mode in ['balance-slb', 'active-backup']: 
> + argv += ['lacp=off', 'bond_mode=%s' % mode 
> So, balance-tcp seem to be possible with lacp only. 
> Maybe could we add in gui 4 modes: 
> -active-backup (bond_mode=active-backup) -balance-slb (bond_mode=balance- 
> slb) -lacp layer2 (bond_mode=balance-slb lacp=active) -lacp layer3 
> (bond_mode=balance-tcp lacp=active) 

OK, I will try to add that. 

> and also for classic bond, it could be great to have 2 lacp mode 
> -lacp layer2 
> bond-mode 4 
> bond-xmit-hash-policy layer2 
> -lacp layer2+3 
> bond-mode 4 
> bond-xmit-hash-policy layer2+3 


> >>Why? I can simply use ovs_options tag=... for that? 
> >> 
> >> 
> >>On the other side users can simply create an OVSIntPort management 
> >>port with vlan, so we do not need that functionality on the bridge. 
> Yes, this is just to avoid to create an additional ovsinport. When the ovs bridge is 
> created, a default ovsinport with the name of the bridge is also created. 
> But it's not possible to setup the vlan for this internal port at bridge creation 
> command line. 
> we need to update vlan of the default internal port with: 
> #ovs-vsctl set port vmbr0 tag=XX 

I see. 

> > I would like to add this option also for classic linux bridge with vlan_filtering. 
> > maybe : mgmt_vlan option ? 
> >>No idea how that should work - we would need to modify the bridge ifupdown 
> scripts? 
> simply with 
> #bridge vlan add dev vmbr0 vid XX self pvid untagged So, yes we need to modify 
> the bridge ifupdown script. 
> Alternatively, we could create some kind of "internal port" for brigde, with tap 
> interfaces. 
> (I think it should work, then add vlan on these interfaces). 
> I think it should be better to have same kind of config for linux bridge or ovs. 
> I'll check for bridge and tap interface. 

OVS is already totally different. Anyways, I would also talk to the debian maintainers 
before we start modifying the bridge ifupdown scripts. 

More information about the pve-devel mailing list