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