On 2022-11-15 19:21 +01, Claudio Jeker <[email protected]> wrote:
> My last commit to in6_ifattach() broke a few regress tests.
> The problem is that 'ifconfig tun0 inet6 eui64' no longer works.
> Now I thought it would if called explicitly but no.
> So lets peddal back a bit and assign link-local addresses on all interface
> but wg(4). For mpe(4) this does not really matter and it does help other
> point-to-point interfaces where the system somewhat expects a link-local
> addr to be present.
>
> With this all regress tests pass again.
> --
> :wq Claudio
>
> Index: netinet6/in6_ifattach.c
> ===================================================================
> RCS file: /cvs/src/sys/netinet6/in6_ifattach.c,v
> retrieving revision 1.120
> diff -u -p -r1.120 in6_ifattach.c
> --- netinet6/in6_ifattach.c 14 Nov 2022 17:12:55 -0000 1.120
> +++ netinet6/in6_ifattach.c 15 Nov 2022 18:14:10 -0000
> @@ -389,12 +389,11 @@ in6_ifattach(struct ifnet *ifp)
> return (error);
> }
>
> - /*
> - * Only interfaces that need the ND cache should automatically
> - * assign a link local address.
> - */
> - if (!nd6_need_cache(ifp))
> + /* For wg(4) skip assignment of link local address. */
That comment is not helpful, it just restates what the code does. The
gibberish we had before was also not helpful. Maybe just drop the
comment?
Either way, OK
> + switch (ifp->if_type) {
> + case IFT_WIREGUARD:
> return (0);
> + }
>
> /* Assign a link-local address, if there's none. */
> if (in6ifa_ifpforlinklocal(ifp, 0) == NULL) {
>
--
I'm not entirely sure you are real.