how to create an AHV virtual switch (bridge) with single uplink.


In dev or test environments where redundancy is not matter on AHV, you may want to create bridges with a single uplink. When multiple uplinks are used they are added to bond acting as a single logical interface, to which bridge is connected. Open vSwitch (OVS) does not support bonds with single uplink and as workaround we directly connect bridge to single uplink.


WARNING: On clusters running any AOS version between 5.10 and DO NOT run “update_uplinks” with single interface specified on the interfaces .

If you have node with single interface in a bridge or want to create one please upgrade AOS to 5.10.4 or newer before making any changes or engage Nutanix Support

WARNINGUpdating uplinks using “manage_ovs” will delete and recreate the bond with default configuration.
Consider following before updating uplinks:

  • Make host in maintenance mode before performing this activity.
  • if you are using active-backup load balancing mode then uplink update can cause short network disconnect .
  • If balance-slb or balance-tcp (LACP) load balancing mode is used on AHV uplink update will reset configuration to active-passive.

It is strongly recommended to perform changes on single node at the time after making sure that cluster can tolerate node failure.

Follow the post of cluster health that describes how to check if cluster can tolerate node failure.
Dont use “allssh manage_ovs update_uplinks” command from CVM that may lead to a cluster outage and critical alerts.

Only use it if cluster is not in production and has no user guest VMs running(Be careful).

To update bridge to single uplink please run following command on any CVM:

nutanix@cvm1:~$ manage_ovs --bridge_name br1 --interfaces eth1 update_uplinks

Manage_ovs willshow report bond with same name as interface in show_uplinks output:

nutanix@cvm1:~$ manage_ovs show_uplinks
Bridge: br0
  Bond: eth3
    bond_mode: active-backup
    interfaces: eth3
    lacp: off
    lacp-fallback: false
    lacp_speed: slow

“ovs-appctl bond/list” will not be showing any bonds:

root@ahvhost# ovs-appctl bond/list
bond type recircID slaves 
"ovs-vsctl show" will show that br0 is using eth3 interface:
[root@ahvhost ~]# ovs-vsctl show
    Bridge "br0"
        Port "eth3"
            Interface "eth3"

For comparison, here is how “ovs-vsctl show” on AHV output looks like when there are 2 or more uplinks in bond:

[root@ahvhost ~]# ovs-vsctl show
Bridge "br0"
        Port "br0-up"
            Interface "eth3"
            Interface "eth4"

One comment

Leave a Reply