Re: Can't assign address to igc

From: Chuck Tuffli <chuck_at_freebsd.org>
Date: Wed, 16 Aug 2023 02:44:29 UTC
[Adding freebsd-net@]

On Tue, Aug 1, 2023 at 10:46 AM Chuck Tuffli <chuck@freebsd.org> wrote:
>
> Running a recent-ish version (n264266-8f8da1bcc799) on an Intel NUC
> (RNUC11PABi5), assigning an IPv4 address to igc0 doesn't work. There
> is no error message, and this has been working in the past. Looking
> through dmesg only shows:
>
> igc0: link state changed to UP
> igc0: link state changed to DOWN
> igc0: link state changed to UP
>
> The address is set in rc.conf:
> ifconfig_igc0="inet 192.168.5.10 netmask 255.255.255.0"
>
> And manually setting it via
> # ifconfig igc0 inet 192.168.5.10/24 up
> does not work either. Any suggestions?

I spent a little time debugging this but still need some help
understanding what might be wrong.

Instrumenting dump_sa() in the AF_INET case, the .sin_addr contains
the value of the IP address I'm adding (printf shows 0x0a05a8c0 or big
endian 192 168 6 10). Switching the log level in
sys/netlink/route/iface.c to LOG_DEBUG3 shows messages:
[nl_iface] dump_iface_addr: dumping ifa 0xfffff8000db0cd80 type
inet(2) for interface igc0
Does this mean the address information was written to the net link
buffer? If so, what might make ifconfig not display that address?

One other tidbit is, eventually ifconfig reports the address and
things like sshd start working. Typically this takes < 100 iterations
to do this.