diff options
author | Jun-ichiro itojun Hagino <itojun@cvs.openbsd.org> | 2002-08-16 09:32:40 +0000 |
---|---|---|
committer | Jun-ichiro itojun Hagino <itojun@cvs.openbsd.org> | 2002-08-16 09:32:40 +0000 |
commit | a15ddef05413dc7d1c8efbc20f3124b9c8bd9e76 (patch) | |
tree | 2fea2a6274775758bc098b6c3fe520f450aee0a7 /sys/netinet/ip_gre.c | |
parent | 66d742fdecd775e21f621e5470869f78d05ad9ab (diff) |
pass unprocessed GRE packet to raw ip socket. binkertn@ ok
Diffstat (limited to 'sys/netinet/ip_gre.c')
-rw-r--r-- | sys/netinet/ip_gre.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/netinet/ip_gre.c b/sys/netinet/ip_gre.c index 64158122dbf..f6fe4d60943 100644 --- a/sys/netinet/ip_gre.c +++ b/sys/netinet/ip_gre.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ip_gre.c,v 1.18 2002/06/09 16:26:10 itojun Exp $ */ +/* $OpenBSD: ip_gre.c,v 1.19 2002/08/16 09:32:39 itojun Exp $ */ /* $NetBSD: ip_gre.c,v 1.9 1999/10/25 19:18:11 drochner Exp $ */ /* @@ -62,6 +62,7 @@ #include <netinet/in_var.h> #include <netinet/in_systm.h> #include <netinet/ip.h> +#include <netinet/ip_var.h> #include <netinet/ip_gre.h> #include <netinet/if_ether.h> #else @@ -247,13 +248,13 @@ gre_input(struct mbuf *m, ...) ret = gre_input2(m, hlen, IPPROTO_GRE); /* * ret == 0: packet not processed, but input from here - * means no matching tunnel that is up is found, - * so we can just free the mbuf and return. It is also + * means no matching tunnel that is up is found. + * we inject it to raw ip socket to see if anyone picks it up. * possible that we received a WCCPv1-style GRE packet * but we're not set to accept them. */ if (!ret) - m_freem(m); + rip_input(m, hlen, IPPROTO_GRE); } /* |