summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhenning <henning@openbsd.org>2008-11-26 16:08:17 +0000
committerhenning <henning@openbsd.org>2008-11-26 16:08:17 +0000
commit0c8db51f5e16bbf635a95d6362cda83dc2cdccf3 (patch)
tree280aec0f66ef4ad30f5d3184781aa7ad94c80451
parentDevice attach and detach (does not work because SDP is not implemented yet) (diff)
downloadwireguard-openbsd-0c8db51f5e16bbf635a95d6362cda83dc2cdccf3.tar.xz
wireguard-openbsd-0c8db51f5e16bbf635a95d6362cda83dc2cdccf3.zip
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>
-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)) {