https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265857

--- Comment #22 from Zhenlei Huang <zlei.hu...@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.

Reply via email to