summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2008-11-26 16:08:18 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2008-11-26 16:08:18 +0000
commitc92fc7bca5870698ac07df4caa4f51829f75b9b0 (patch)
tree247d6c2a329099dc92a89f3e3f1d4d3a3f254930 /sys
parent49be5003eb6ca01d0f220223e8902075aca04c77 (diff)
call pf_pkt_addr_changed() when we do encapsulate
fixes v6-over-v4 gifs wrt pf chatter about state linking mismatches ok jsing claudio, tested by Ant La Porte <ant at ukbsd.org>
Diffstat (limited to 'sys')
-rw-r--r--sys/netinet/ip_ipip.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/netinet/ip_ipip.c b/sys/netinet/ip_ipip.c
index 6a4c3bc4f43..81c7d75a07b 100644
--- a/sys/netinet/ip_ipip.c
+++ b/sys/netinet/ip_ipip.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip_ipip.c,v 1.41 2008/06/10 09:57:51 todd Exp $ */
+/* $OpenBSD: ip_ipip.c,v 1.42 2008/11/26 16:08:17 henning Exp $ */
/*
* The authors of this code are John Ioannidis (ji@tla.org),
* Angelos D. Keromytis (kermit@csd.uch.gr) and
@@ -39,6 +39,8 @@
* IP-inside-IP processing
*/
+#include "pf.h"
+
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/mbuf.h>
@@ -67,6 +69,10 @@
#include "bpfilter.h"
+#if NPF > 0
+#include <net/pfvar.h>
+#endif
+
#ifdef ENCDEBUG
#define DPRINTF(x) if (encdebug) printf x
#else
@@ -353,6 +359,9 @@ ipip_input(struct mbuf *m, int iphlen, struct ifnet *gifp)
bpf_mtap_af(gifp->if_bpf, ifq == &ipintrq ? AF_INET : AF_INET6,
m, BPF_DIRECTION_IN);
#endif
+#if NPF > 0
+ pf_pkt_addr_changed(m);
+#endif
s = splnet(); /* isn't it already? */
if (IF_QFULL(ifq)) {