On 4/4/22 2:08 PM, Ian Pilcher wrote:
I've added an interface element to a libvirt network, but it isn't
working.  The interface is not being added to the bridge, even after the
system is rebooted.

That's not what the <interface> element in a <network> is used for. It's actual use is (in my opinion) not all that useful, which has led to people assuming other functionality for it that doesn't exist.

The *actual* use of the <interface> element is simply to add an extra iptables rule that will drop all traffic originating from a guest and outbound to the real network if the interface it uses for egress doesn't match the one listed in the <interface> element. It doesn't attach this egress interface to the network's bridge, and it doesn't modify the next-hop routing of the traffic (which is the more common mistaken belief of its function).

Anyway, if you want to have a bridge device that is directly attached to a physical ethernet, then you should set up a bridge in the host OS outside the scope of libvirt, with the physical ethernet attached to it, and then configure your libvirt guests to use that bridge with, e.g.

    <interface type='bridge'>
      <source bridge='br0'/>
      ...



# virsh net-dumpxml ocp4-net
<network>
   <name>ocp4-net</name>
   <uuid>b5852945-9889-4d22-ba61-879125316cec</uuid>
   <forward dev='eno2' mode='nat'>
     <nat>
       <port start='1024' end='65535'/>
     </nat>
     <interface dev='eno2'/>
   </forward>
   <bridge name='virbr-ocp4' stp='on' delay='0'/>
   <mac address='52:54:00:99:99:99'/>
   <ip address='192.168.123.1' netmask='255.255.255.0'>
   </ip>
</network>

# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr-ocp4              8000.525400999999       yes             vnet0
virbr0          8000.525400a7ce7f       yes
virbr1          8000.52540051eb1f       yes             vnet1

# rpm -q libvirt
libvirt-8.0.0-2.module_el8.6.0+1087+b42c8331.x86_64

Any ideas?


Reply via email to