From: kn Date: Wed, 7 Dec 2022 17:34:20 +0000 (+0000) Subject: Do not store unused ICMPv6 Option PREFIX_INFORMATION X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=153dcafa7b73fccdfd15900837ce9e7b2f4c8d7a;p=openbsd Do not store unused ICMPv6 Option PREFIX_INFORMATION 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 --- diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c index e51b11fc04e..0647837b2ef 100644 --- a/sys/netinet6/nd6.c +++ b/sys/netinet6/nd6.c @@ -1,4 +1,4 @@ -/* $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 $ */ /* @@ -249,13 +249,6 @@ nd6_options(union nd_opts *ndopts) } 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 */ diff --git a/sys/netinet6/nd6.h b/sys/netinet6/nd6.h index d096ccd4fb8..43a4c6a3819 100644 --- a/sys/netinet6/nd6.h +++ b/sys/netinet6/nd6.h @@ -1,4 +1,4 @@ -/* $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 $ */ /* @@ -125,10 +125,6 @@ union nd_opts { }; #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