Read IP forwarding variables only once.
authorbluhm <bluhm@openbsd.org>
Fri, 7 Jun 2024 18:24:16 +0000 (18:24 +0000)
committerbluhm <bluhm@openbsd.org>
Fri, 7 Jun 2024 18:24:16 +0000 (18:24 +0000)
commit84b2c3433f4f9b1f6e25c30c222a7e3ce369fcfb
treecf98a5b41b6fa75d230a6844bff9358b0d7e6e75
parentf59d8d7d51502cb5d28ee0a441f6d1935ab24afa
Read IP forwarding variables only once.

Do not assume that ip_forwarding and ip_directedbcast cannot change
while processing one packet.  Read it once and pass down its value
with a flag.  This is necessary for unlocking the sysctl path.
There are a few places where a consistent value does not really
matter, they are unchanged.  Use a proper ip_ prefix for the global
variable.

OK claudio@
sys/net/pf.c
sys/netinet/ip_icmp.c
sys/netinet/ip_input.c
sys/netinet/ip_output.c
sys/netinet/ip_var.h
sys/netinet6/ip6_forward.c