Are you facing Unable to add bridge port vnet0 error?
This guide is for you.
Recently we had a customer who came across the error, Unable to add bridge name_of_bridge port vnet0: No such device.
Unable to add bridge port vnet0: No such device error messages means that the bridge device specified in the guest's (or domain's) <interface> definition does not exist.
Nature of Unable to add bridge port vnet0: No such device error ?
Generally, the error message appears as:
Unable to add bridge name_of_bridge port vnet0: No such device
For example, if the bridge name is br0, the error message will be like this:
Unable to add bridge br0 port vnet0: No such device
In libvirt versions 0.9.6 and earlier, the same error appears as:
Failed to add tap interface to bridge name_of_bridge: No such device
For instance, if the bridge is named br0:
Failed to add tap interface to bridge 'br0': No such device
When we investigated the error ?
Both error messages reveal that the bridge device specified in the guest's (or domain's) <interface> definition does not exist.
To verify the bridge device listed in the error message does not exist, we use:
ip addr show br0
A message similar to this confirms the host has no bridge by that name:
br0: error fetching interface information: Device not found
If the resulting message is similar to the following, the issue exists elsewhere:
br0 Link encap:Ethernet HWaddr 00:00:5A:11:70:48
inet addr:10.22.1.5 Bcast:10.255.255.255 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:249841 errors:0 dropped:0 overruns:0 frame:0
TX packets:281948 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:106327234 (101.4 MiB) TX bytes:21182634 (20.2 MiB)
Methods to resolve Unable to add bridge port vnet0 error ?
1. Edit the existing bridge or create a new bridge with virsh
We use virsh to either edit the settings of an existing bridge or network or to add the bridge device to the host system configuration.
2. Edit the existing bridge settings using virsh
We use virsh to edit name_of_guest to change the <interface> definition to use a bridge or network that already exists.
For example, change type=’bridge’ to type=’network’, and <source bridge=’br0’/> to <source network=’default’/>.
3. Create a host bridge using virsh
For libvirt version 0.9.8 and later, we can create a bridge device with the virsh iface-bridge command.
This creates a bridge device br0 with eth0, the physical network interface that is set as part of a bridge, attached:
virsh iface-bridge eth0 br0
If necessary, remove this bridge and restore the original eth0 configuration using
virsh iface-unbridge br0
4. Create a host bridge manually
For older versions of libvirt, it is possible to manually create a bridge device on the host.
Depending on our environment, setting up a bridge with libvirt in Red Hat Enterprise Linux 7 may require disabling Network Manager.
Our Support Experts does not recommend that.
This also requires libvirtd to run for the bridge to operate.
We can use the text user interface tool nmtui to configure bridging in a terminal window. Issue the following command to start the tool:
Eventually, the text user interface appears. Any invalid command prints a usage message.
To navigate, we use the arrow keys or press Tab to step forwards and press Shift+Tab to step back through the options.
Then press Enter to select an option.
The Space bar toggles the status of a check box.
1. From the starting menu, select Edit a connection.
Select Add, the New Connection screen opens.
2. Then select Bridge, the Edit connection screen opens.
3. To add slave interfaces to the bridge select Add, the New Connection screen opens. Once the type of Connection has been chosen, select the Create button to cause the bridge’s Edit Connection display to appear.
4. Enter the required slave’s device name or MAC address in the Device section. If required, enter a clone MAC address to be used as the bridge’s MAC address by selecting Show to the right of the Ethernet label. Select the OK button.
5. If the device is specified without a MAC address the Device section will be automatically populated once the Edit Connection window is reloaded, but only if it successfully finds the device.
6. The name of the bridge slave appears in the Slaves section. Repeat the above steps to add further slave connections.
7. Finally, review and confirm the settings before selecting the OK button.