Re: [PATCH 7/7] netconfig: Control optimistic DAD
Denis Kenzior <[email protected]>
| Newsgroups | dev.linux.lists.ell |
|---|---|
| Message-ID | <[email protected]> |
Hi Andrew, On 9/19/22 08:31, Andrew Zaborowski wrote: > Enable or disable optimistic DAD for the interface using /proc. Add > l_netconfig_set_optimistic_dad_enabled() for the user to request that > RFC 4429 optimistic DAD be enabled. As recommended in the RFC, we'll > only actually enable optimistic DAD for the automatic address generation > methods and disable it if a static IPv6 address is configured. The > default if l_netconfig_set_optimistic_dad_enabled() isn't used is to > disable optimistic DAD always. > > Optimistic DAD can shorten practical IPv6 setup time by an amount on > the order of a second by allowing the link-local address and the global > address to be used immediately after being generated. For the > link-local address this means that DHCPv6 may start sooner and > for the global address, which is added to the kernel by the > L_NETCONFIG_EVENT_CONFIGURE event handler, the user can start > establishing connections sooner. With DHCPv6 and some luck the two > savings may compound, with SLAAC only the global address's DAD time > should matter. > --- > ell/ell.sym | 1 + > ell/netconfig.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- > ell/netconfig.h | 2 ++ > 3 files changed, 51 insertions(+), 1 deletion(-) > I went ahead and applied all patches in this series. Question: > @@ -1724,7 +1737,8 @@ static void netconfig_ifaddr_ipv6_added(struct l_netconfig *nc, > struct in6_addr in6; > _auto_(l_free) char *ip = NULL; > > - if (ifa->ifa_flags & IFA_F_TENTATIVE) > + if ((ifa->ifa_flags & IFA_F_TENTATIVE) && > + !(ifa->ifa_flags & IFA_F_OPTIMISTIC)) > return; This implies that we set the link local address even if it is still OPTIMISTIC. Do we now need to update icmp6_send_router_solicitation() logic to make sure we do not include SLLAO from optimistic addresses? > > if (!nc->started) Regards, -Denis