On Wed, May 04, 2022 at 06:48:14PM -0700, Seth David Schoen wrote:
> This has some odd consequences. For instance, if an OpenBSD system
> has an interface numbered with an address in 240/4, it can initiate
> and receive TCP connections using that address, and it can ping other
> hosts using that address, but it won't respond to pings from other
> hosts. This patch cleans this up:
As forwarding and icmp reflect is the only place where IN_EXPERIMENTAL()
is used, I cannot see a downside of this patch.
OK bluhm@
> Index: in.c
> ===================================================================
> RCS file: /cvs/src/sys/netinet/in.c,v
> retrieving revision 1.173
> diff -u -p -r1.173 in.c
> --- in.c 28 Mar 2022 16:31:26 -0000 1.173
> +++ in.c 5 May 2022 01:05:04 -0000
> @@ -103,7 +103,7 @@ in_canforward(struct in_addr in)
> {
> u_int32_t net;
>
> - if (IN_EXPERIMENTAL(in.s_addr) || IN_MULTICAST(in.s_addr))
> + if (IN_MULTICAST(in.s_addr))
> return (0);
> if (IN_CLASSA(in.s_addr)) {
> net = in.s_addr & IN_CLASSA_NET;