Mailing List Archive

domU interface does not remain in xenbr0
I have installed a Freebsd guest using hvm in xen running on Debian 10 and have the xenbr0 bridge configured at boot using network/interfaces file.
I am having trouble getting my guest to boot into multiuser mode and believe it has something to do
with my nic driver (xn). In single user mode, I can configure an IP address and ping the host bridge.
Doing troubleshooting is difficult because the vif on the host won't stay assigned as a port in the xenbr0
bridge.

I do "brctl show" and the interface isn't a member so I do "brctl addif" and it assigned. Then I can do my ping
Etc.. but soon afterwards it gets removed by some software that is running. Not sure if it is the hypervisor or what.
I can see messages in /var/log/messages but there is output in xenstored-access.log.
Even when I am not doing anything on the host or on the guest. It just gets removed.

The other thought I had was to change the model for the vif to e1000 so the system would boot cleanly
and hopefully have a stable connection. But adding "model=e1000" in the vif configuration of the
domain's config file, shutting down, and creating the domain again, doesn't change the nic driver;
the guest kernel still sees xn0. I had seen via on-line search that I can use
xl set-parameters uuid ... platform-nic=e1000

but the program cores. So, I must not be entering the command correctly.
Here is the information I gathered:

root@xen:/etc/xen# xl list -v
Name ID Mem VCPUs State Time(s) UUID Reason-Code Security Label
Domain-0 0 12001 8 r----- 14055.6 00000000-0000-0000-0000-000000000000 - -
UCD_t1_Domain 21 4096 4 -b---- 113.0 a697608c-3e7c-4b08-8aa6-d6125562a25e - -
root@xen:/etc/xen# xl network-list 21
Idx BE Mac Addr. handle state evt-ch tx-/rx-ring-ref BE-path
0 0 00:16:3e:00:00:11 0 4 13 784/785 /local/domain/0/backend/vif/21/0
root@xen:/etc/xen# brctl show
bridge name bridge id STP enabled interfaces
xenbr0 8000.f28587ae759e no eth1

Here is the domain config file:
root@xen:/etc/xen# cat ucd.cfg
arch_libdir= 'lib64'
builder='hvm'
memory=4096
name="UCD_t1_Domain"
vcpus=4
vif = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0, model=e1000' ]
disk = [ '/home/admin/tmp/ucd.img,raw,hda,rw', '/home/admin/tmp/install.iso,raw,hdc:cdrom,r' ]

on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'preserve'

boot = "cd"

snapshot=1

sdl = 0
vnc = 1
vnclisten="192.168.21.9"
vncpasswd=''
serial='pty'


Here is the vif being removed:
root@xen:/etc/xen# brctl show
bridge name bridge id STP enabled interfaces
xenbr0 8000.f28587ae759e no eth1

root@xen:/etc/xen# brctl addif xenbr0 vif21.0
root@xen:/etc/xen# brctl show
bridge name bridge id STP enabled interfaces
xenbr0 8000.f28587ae759e no eth1
vif21.0

-------------- var/log/messages

Jun 17 16:30:35 xen kernel: [1301259.952042] xenbr0: port 2(vif21.0) entered disabled state
Jun 17 16:30:35 xen kernel: [1301259.952241] device vif21.0 entered promiscuous mode
Jun 17 16:30:35 xen kernel: [1301259.952335] xenbr0: port 2(vif21.0) entered blocking state
Jun 17 16:30:35 xen kernel: [1301259.952339] xenbr0: port 2(vif21.0) entered forwarding state
Jun 17 16:31:24 xen kernel: [1301308.580201] device vif21.0 left promiscuous mode
Jun 17 16:31:24 xen kernel: [1301308.580270] xenbr0: port 2(vif21.0) entered disabled state

root@xen:/etc/xen# brctl show
bridge name bridge id STP enabled interfaces
xenbr0 8000.f28587ae759e no eth1

Any ideas?

Thanks

DISCLAIMER: CONFIDENTIALITY NOTICE: This e-mail message, and any documents, files, or previous e-mail messages attached to it, may contain information that is confidential, proprietary, and/or legally privileged. If the reader of this e-mail message is neither the intended recipient nor an employee or an agent responsible for delivering this e-mail message to the intended recipient, you are hereby notified that any unauthorized review, use, disclosure, or distribution of this communication is strictly prohibited. Disclosing this e-mail message, or any document, file or previous e-mail message attached to it to anyone other than the intended recipient may cause the breaching party to be liable to Nectar Services Corp. for damages. If you have received this communication in error, please notify the sender by replying to the e-mail message and delete it from your computer, without saving it in any manner.
Re: domU interface does not remain in xenbr0 [ In reply to ]
Hi Andrew,

This issue seems to be caused by the FreeBSD netfront driver and a
recent netback change. There is a similar description here:

https://forum.opnsense.org/index.php?topic=28708.0

Downgrading the dom0 linux kernel helped in some cases.

There is a patch which needs review:

https://reviews.freebsd.org/D33876

Best regards,

Paul

Am 17.06.2022 um 23:50 schrieb Andrew Klassen:
>
> I have installed a Freebsd guest using hvm in xen running on Debian 10
> and have the xenbr0 bridge configured at boot using network/interfaces
> file.
>
> I am having trouble getting my guest to boot into multiuser mode and
> believe it has something to do
>
> with my nic driver (xn). In single user mode, I can configure an IP
> address and ping the host bridge.
>
> Doing troubleshooting is difficult because the vif on the host won’t
> stay assigned as a port in the xenbr0
>
> bridge.
>
> I do “brctl show” and the interface isn’t a member so I do “brctl
> addif” and it assigned. Then I can do my ping
>
> Etc.. but soon afterwards it gets removed by some software that is
> running. Not sure if it is the hypervisor or what.
>
> I can see messages in /var/log/messages but there is output in
> xenstored-access.log.
>
> Even when I am not doing anything on the host or on the guest. It just
> gets removed.
>
> The other thought I had was to change the model for the vif to e1000
> so the system would boot cleanly
>
> and hopefully have a stable connection. But adding “model=e1000” in
> the vif configuration of the
>
> domain’s config file, shutting down, and creating the domain again,
> doesn’t change the nic driver;
>
> the guest kernel still sees xn0.  I had seen via on-line search that I
> can use
>
> xl set-parameters uuid … platform-nic=e1000
>
> but the program cores. So, I must not be entering the command correctly.
>
> Here is the information I gathered:
>
> root@xen:/etc/xen# xl list -v
>
> Name ID   Mem VCPUs      State   Time(s)
> UUID                            Reason-Code   Security Label
>
> Domain-0               0 12001     8     r-----   14055.6
> 00000000-0000-0000-0000-000000000000        -                -
>
> UCD_t1_Domain 21  4096     4     -b----     113.0
> a697608c-3e7c-4b08-8aa6-d6125562a25e        -                -
>
> root@xen:/etc/xen# xl network-list 21
>
> Idx BE Mac Addr.                   handle state evt-ch  
> tx-/rx-ring-ref BE-path
>
> 0     0   00:16:3e:00:00:11     0      4        13         784/785
> /local/domain/0/backend/vif/21/0
>
> root@xen:/etc/xen# brctl show
>
> bridge name     bridge id           STP enabled     interfaces
>
> xenbr0              8000.f28587ae759e no                      eth1
>
> Here is the domain config file:
>
> root@xen:/etc/xen# cat ucd.cfg
>
> arch_libdir= 'lib64'
>
> builder='hvm'
>
> memory=4096
>
> name="UCD_t1_Domain"
>
> vcpus=4
>
> vif = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0, model=e1000' ]
>
> disk = [ '/home/admin/tmp/ucd.img,raw,hda,rw',
> '/home/admin/tmp/install.iso,raw,hdc:cdrom,r' ]
>
> on_poweroff = 'destroy'
>
> on_reboot = 'restart'
>
> on_crash = 'preserve'
>
> boot = "cd"
>
> snapshot=1
>
> sdl = 0
>
> vnc = 1
>
> vnclisten="192.168.21.9"
>
> vncpasswd=''
>
> serial='pty'
>
> Here is the vif being removed:
>
> root@xen:/etc/xen# brctl show
>
> bridge name     bridge id               STP enabled     interfaces
>
> xenbr0          8000.f28587ae759e no              eth1
>
> root@xen:/etc/xen# brctl addif xenbr0 vif21.0
>
> root@xen:/etc/xen# brctl show
>
> bridge name     bridge id               STP enabled     interfaces
>
> xenbr0          8000.f28587ae759e no              eth1
>
>                             vif21.0
>
> -------------- var/log/messages
>
> Jun 17 16:30:35 xen kernel: [1301259.952042] xenbr0: port 2(vif21.0)
> entered disabled state
>
> Jun 17 16:30:35 xen kernel: [1301259.952241] device vif21.0 entered
> promiscuous mode
>
> Jun 17 16:30:35 xen kernel: [1301259.952335] xenbr0: port 2(vif21.0)
> entered blocking state
>
> Jun 17 16:30:35 xen kernel: [1301259.952339] xenbr0: port 2(vif21.0)
> entered forwarding state
>
> Jun 17 16:31:24 xen kernel: [1301308.580201] device vif21.0 left
> promiscuous mode
>
> Jun 17 16:31:24 xen kernel: [1301308.580270] xenbr0: port 2(vif21.0)
> entered disabled state
>
> root@xen:/etc/xen# brctl show
>
> bridge name     bridge id            STP enabled     interfaces
>
> xenbr0              8000.f28587ae759e no                      eth1
>
> Any ideas?
>
> Thanks
>
> DISCLAIMER: CONFIDENTIALITY NOTICE: This e-mail message, and any
> documents, files, or previous e-mail messages attached to it, may
> contain information that is confidential, proprietary, and/or legally
> privileged. If the reader of this e-mail message is neither the
> intended recipient nor an employee or an agent responsible for
> delivering this e-mail message to the intended recipient, you are
> hereby notified that any unauthorized review, use, disclosure, or
> distribution of this communication is strictly prohibited. Disclosing
> this e-mail message, or any document, file or previous e-mail message
> attached to it to anyone other than the intended recipient may cause
> the breaching party to be liable to Nectar Services Corp. for damages.
> If you have received this communication in error, please notify the
> sender by replying to the e-mail message and delete it from your
> computer, without saving it in any manner.