Re: problem with re(4) interface

From: Chris <bsd-lists_at_bsdforge.com>
Date: Mon, 22 Nov 2021 17:33:36 UTC
On 2021-11-22 08:47, Chuck Tuffli wrote:
> Running on a recent-ish -current
> # uname -a
> FreeBSD stargate.tuffli.net 14.0-CURRENT FreeBSD 14.0-CURRENT
> main-81b22a9892 GENERIC  amd64
> 
> I'm having trouble using the second NIC interface in a bridge to provide
> network connectivity to bhyve VMs and need some help figuring out what is
> wrong.
> 
> The system is an AMD Ryzen mini-pc (UM250) with two RealTek gigabit NICs
> (8168/8111). The second NIC (re1) is a member of a bridge. A configuration
> similar to this works on a different system with Intel NICs, but on this
> system, the VMs aren't able to connect to the network. I've done the easy
> things and verified, for example, the interface can pass traffic (i.e.
> hardware, cable, switch are fine). There are some additional "odd" things.
> For example, ifconfig doesn't configure an address or even enable the
> interface. E.g.,
> 
> # ifconfig re1 10.0.0.10/24 up
> # ifconfig re1
> re1: flags=8902<BROADCAST,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
> 
> options=82099<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
>         ether 1c:83:41:28:c9:e4
>         media: Ethernet autoselect (1000baseT <full-duplex>)
>         status: active
>         nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> 
> The command does appear to enable/disable the port:
> # tail -f /var/log/messages
> Nov 22 08:31:03 stargate kernel: re1: link state changed to DOWN
> Nov 22 08:31:11 stargate kernel: re1: link state changed to UP
> 
> Note that setting the interface's address from rc.conf works, but after the
> system boots, setting the address from the command line doesn't. What else
> should I check?
> 
> # ifconfig -a -G lo
> re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
> 
> options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
>         ether 1c:83:41:28:c9:e3
>         inet 192.168.5.10 netmask 0xffffff00 broadcast 192.168.5.255
>         media: Ethernet autoselect (1000baseT <full-duplex>)
>         status: active
>         nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> re1: flags=8902<BROADCAST,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
> 
> options=82099<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
>         ether 1c:83:41:28:c9:e4
>         media: Ethernet autoselect (1000baseT <full-duplex>)
>         status: active
>         nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> vm-public: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
> 1500
>         ether 46:76:29:af:7b:fa
>         id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
>         maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
>         root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
>         member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>                 ifmaxaddr 0 port 5 priority 128 path cost 2000000
>         member: re1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>                 ifmaxaddr 0 port 2 priority 128 path cost 20000
>         groups: bridge vm-switch viid-4c918@
>         nd6 options=9<PERFORMNUD,IFDISABLED>
> tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
> mtu 1500
>         description: vmnet-freebsd-0-public
>         options=80000<LINKSTATE>
>         ether 58:9c:fc:10:ff:f6
>         groups: tap vm-port
>         media: Ethernet autoselect
>         status: active
>         nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>         Opened by PID 38298

Because there's subtle differences between them; are you using the re driver
from base, or from ports?

> 
> --chuck
--Chris