From 153dcafa7b73fccdfd15900837ce9e7b2f4c8d7a Mon Sep 17 00:00:00 2001 From: kn Date: Wed, 7 Dec 2022 17:34:20 +0000 Subject: [PATCH] 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 --- sys/netinet6/nd6.c | 9 +-------- sys/netinet6/nd6.h | 6 +----- 2 files changed, 2 insertions(+), 13 deletions(-) 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 -- 2.20.1