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?
>