diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2008-09-12 12:53:56 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2008-09-12 12:53:56 +0000 |
commit | abe3ae1cc00a57bdb6ba518f1c46982b7bfea2ac (patch) | |
tree | 253fe7ab378dc18ed8cafcfab4774710db6df285 /sys | |
parent | 85ff2d85fa96f6409f5bc9266c1e94ae0ca5151c (diff) |
just like v4 icmp, icmp6 recycles mbufs so we need to call
pf_pkt_addr_changed to clear the recorded pf state information in the hdr
claudio ok
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netinet6/icmp6.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 2bf6a7e8cdf..992f4d47883 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -1,4 +1,4 @@ -/* $OpenBSD: icmp6.c,v 1.99 2008/06/11 19:00:50 mcbride Exp $ */ +/* $OpenBSD: icmp6.c,v 1.100 2008/09/12 12:53:55 henning Exp $ */ /* $KAME: icmp6.c,v 1.217 2001/06/20 15:03:29 jinmei Exp $ */ /* @@ -63,6 +63,7 @@ #include "faith.h" #include "carp.h" +#include "pf.h" #include <sys/param.h> #include <sys/systm.h> @@ -98,6 +99,10 @@ #include <netinet/ip_carp.h> #endif +#if NPF > 0 +#include <net/pfvar.h> +#endif + /* inpcb members */ #define in6pcb inpcb #define in6p_laddr inp_laddr6 @@ -1067,6 +1072,9 @@ icmp6_notify_error(struct mbuf *m, int off, int icmp6len, int code) ip6cp.ip6c_finaldst = finaldst; ip6cp.ip6c_src = &icmp6src; ip6cp.ip6c_nxt = nxt; +#if NPF > 0 + pf_pkt_addr_changed(m); +#endif if (icmp6type == ICMP6_PACKET_TOO_BIG) { notifymtu = ntohl(icmp6->icmp6_mtu); |