Fix GRE over IPv6 tunnels with IPFW
Previously, GRE packets in IPv6 tunnels would be dropped by IPFW (unless net.inet6.ip6.fw.deny_unknown_exthdrs was unset). PR: 220640 Submitted by: Kun Xie <kxie@xiplink.com> MFC after: 1 week
This commit is contained in:
parent
60686c3703
commit
b0e1660d53
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=320941
@ -92,6 +92,8 @@ __FBSDID("$FreeBSD$");
|
||||
#include <netinet6/ip6_var.h>
|
||||
#endif
|
||||
|
||||
#include <net/if_gre.h> /* for struct grehdr */
|
||||
|
||||
#include <netpfil/ipfw/ip_fw_private.h>
|
||||
|
||||
#include <machine/in_cksum.h> /* XXX for in_cksum */
|
||||
@ -1162,6 +1164,11 @@ do { \
|
||||
PULLUP_TO(hlen, ulp, struct pim);
|
||||
break;
|
||||
|
||||
case IPPROTO_GRE: /* RFC 1701 */
|
||||
/* XXX GRE header check? */
|
||||
PULLUP_TO(hlen, ulp, struct grehdr);
|
||||
break;
|
||||
|
||||
case IPPROTO_CARP:
|
||||
PULLUP_TO(hlen, ulp, struct carp_header);
|
||||
if (((struct carp_header *)ulp)->carp_version !=
|
||||
|
Loading…
Reference in New Issue
Block a user