Dead since 2017 sys/netinet6/nd6_rtr.c r1.163
Remove sending of router solicitations and processing of router
advertisements from the kernel. It's handled by slaacd(8) these days.
sysctl(2) net.inet6.icmp6.nd6_debug does not warn about it like it does
for, e.g., duplicate MTU options, so don't do anything with this option.
Remove access macros for other unused options while here.
Eventually, union nd_opts should be removed completely.
All under _KERNEL.
tcpdump(8)/rad(8)/slaacd(8) keep showing/sending/receiving this option when
running this diff on both router and client.
OK claudio
-/* $OpenBSD: nd6.c,v 1.257 2022/12/02 15:35:35 kn Exp $ */
+/* $OpenBSD: nd6.c,v 1.258 2022/12/07 17:34:20 kn Exp $ */
/* $KAME: nd6.c,v 1.280 2002/06/08 19:52:07 itojun Exp $ */
/*
}
break;
case ND_OPT_PREFIX_INFORMATION:
- if (ndopts->nd_opt_array[nd_opt->nd_opt_type] == 0) {
- ndopts->nd_opt_array[nd_opt->nd_opt_type]
- = nd_opt;
- }
- ndopts->nd_opts_pi_end =
- (struct nd_opt_prefix_info *)nd_opt;
- break;
case ND_OPT_DNSSL:
case ND_OPT_RDNSS:
/* Don't warn */
-/* $OpenBSD: nd6.h,v 1.91 2022/12/02 15:35:35 kn Exp $ */
+/* $OpenBSD: nd6.h,v 1.92 2022/12/07 17:34:20 kn Exp $ */
/* $KAME: nd6.h,v 1.95 2002/06/08 11:31:06 itojun Exp $ */
/*
};
#define nd_opts_src_lladdr nd_opt_each.src_lladdr
#define nd_opts_tgt_lladdr nd_opt_each.tgt_lladdr
-#define nd_opts_pi nd_opt_each.pi_beg
-#define nd_opts_pi_end nd_opt_each.pi_end
-#define nd_opts_rh nd_opt_each.rh
-#define nd_opts_mtu nd_opt_each.mtu
#define nd_opts_search nd_opt_each.search
#define nd_opts_last nd_opt_each.last
#define nd_opts_done nd_opt_each.done