11

When I use KVM, I create a virtual bridge called virbr0, there is also a bridge called virbr0-nic. Even after I disable and delete virbr0, the virbr0-nic is still there.

Can anyone explain to me what is this?

Thank you.

thenewasker
  • 143
  • 2
  • 6

1 Answers1

17

The interface virbr0-nic is not a bridge, but a normal ethernet interface (although a virtual one, created with ip add type veth).

It's there so that the bridge has at least one interface beneath it to steal it's mac address from. It passes no real traffic, since it's not really connected to any physical device.

The bridge would work without it, but then it could change it's mac address as interfaces enter and exit the bridge, and when the mac of the bridge changes, external switches may be confused, making the host lose network for some time.

Chen Levy
  • 370
  • 3
  • 10
token47
  • 186
  • 2
  • 3
  • 1
    A similar explanation (with slightly different phrasing) can be found here https://www.redhat.com/archives/libvirt-users/2012-September/msg00038.html – Chen Levy Sep 01 '19 at 08:24
  • The exact type of `virbr0-nic` seems to be TAP device, according to `ip -details link show` – Andrey Moiseev May 13 '20 at 11:38
  • @AndreyMoiseev On my computer `virbr0-nic` is a TUN device. The command `ip -details link show virbr0-nic | egrep -woi "tun|tap|bridge|bridge_slave|vlan_tunnel"` outputs : `tun bridge_slave vlan_tunnel` – SebMa Oct 08 '20 at 15:40