aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Paeps <philip@FreeBSD.org>2017-08-01 13:40:37 +0000
committerPhilip Paeps <philip@FreeBSD.org>2017-08-01 13:40:37 +0000
commitefc59637b003b66b2ec2930dc0964d4be739d1d1 (patch)
tree8e217c3ae4987b86245cdeaac8eef25fda2fb95f
parent0da37b1b4506236a9b883cea134f07b39434f71c (diff)
Notes
-rw-r--r--sys/netpfil/ipfw/ip_fw2.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c
index 4642f690b0b7..2eb42af2572c 100644
--- a/sys/netpfil/ipfw/ip_fw2.c
+++ b/sys/netpfil/ipfw/ip_fw2.c
@@ -86,6 +86,8 @@ __FBSDID("$FreeBSD$");
#include <netinet6/ip6_var.h>
#endif
+#include <net/if_gre.h> /* for struct gre_h */
+
#include <netpfil/ipfw/ip_fw_private.h>
#include <machine/in_cksum.h> /* XXX for in_cksum */
@@ -1144,6 +1146,11 @@ do { \
PULLUP_TO(hlen, ulp, struct pim);
break;
+ case IPPROTO_GRE: /* RFC 1701 */
+ /* XXX GRE header check? */
+ PULLUP_TO(hlen, ulp, struct gre_h);
+ break;
+
case IPPROTO_CARP:
PULLUP_TO(hlen, ulp, struct carp_header);
if (((struct carp_header *)ulp)->carp_version !=