[Bug 265857] qlnxe: no IPV6 pings between nodes on the same switch until an IPv4 address is set
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 16 Nov 2022 15:42:10 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265857
--- Comment #22 from Zhenlei Huang <zlei.huang@gmail.com> ---
(In reply to benoitc from comment #1)
> looking at the source code:
> https://cgit.freebsd.org/src/tree/sys/dev/qlnx/qlnxe/qlnx_os.c#n2675
> it seems that this snippet initialising the ha record :
> ```
> ifp->if_flags |= IFF_UP;
> if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) {
> QLNX_LOCK(ha);
> qlnx_init_locked(ha);
> QLNX_UNLOCK(ha);
> }
> ```
> should also be added to
> https://cgit.freebsd.org/src/tree/sys/dev/qlnx/qlnxe/qlnx_os.c#n2687
> otherwise I am not sure when this is correctly initialised using an IPv6 address.
> Thoughts?
Line https://cgit.freebsd.org/src/tree/sys/dev/qlnx/qlnxe/qlnx_os.c#n2687 calls
ether_ioctl() which in turn calls `ifp->if_init(ifp->if_softc)`.
For qlnx driver `ifp->if_init` is `qlnx_init()` which is a wrapper of
`qlnx_init_locked()`.
So when adding IPv6 addresses to the interface, it will be initialised (the
same with IPv4).
--
You are receiving this mail because:
You are the assignee for the bug.