summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2008-09-12 12:53:56 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2008-09-12 12:53:56 +0000
commitabe3ae1cc00a57bdb6ba518f1c46982b7bfea2ac (patch)
tree253fe7ab378dc18ed8cafcfab4774710db6df285 /sys
parent85ff2d85fa96f6409f5bc9266c1e94ae0ca5151c (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.c10
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);