diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2008-11-26 16:08:18 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2008-11-26 16:08:18 +0000 |
commit | c92fc7bca5870698ac07df4caa4f51829f75b9b0 (patch) | |
tree | 247d6c2a329099dc92a89f3e3f1d4d3a3f254930 /sys | |
parent | 49be5003eb6ca01d0f220223e8902075aca04c77 (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.c | 11 |
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)) { |