diff options
| author | Maxim Sobolev <sobomax@FreeBSD.org> | 2002-12-07 14:22:05 +0000 |
|---|---|---|
| committer | Maxim Sobolev <sobomax@FreeBSD.org> | 2002-12-07 14:22:05 +0000 |
| commit | 16199bf2d38bee2301699284d4b3b07b017e5b3f (patch) | |
| tree | 6dd2021b60097b974c5f902ec8eee2201d2afdc8 | |
| parent | 3358dbd03913e8f93947dd296a3edecda5373494 (diff) | |
Notes
| -rw-r--r-- | sys/net/if_gre.h | 7 | ||||
| -rw-r--r-- | sys/netinet/ip_gre.c | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/sys/net/if_gre.h b/sys/net/if_gre.h index a626ee7d95a7..8bed6a694419 100644 --- a/sys/net/if_gre.h +++ b/sys/net/if_gre.h @@ -105,6 +105,13 @@ struct greip { #define GRE_SS 0x0800 /* Strict Source Route */ /* + * CISCO uses special type for GRE tunnel created as part of WCCP + * connection, while in fact those packets are just IPv4 encapsulated + * into GRE. + */ +#define WCCP_PROTOCOL_TYPE 0x883E + +/* * gre_sre defines a Source route Entry. These are needed if packets * should be routed over more than one tunnel hop by hop */ diff --git a/sys/netinet/ip_gre.c b/sys/netinet/ip_gre.c index d87e887d283e..a986b4aa3cac 100644 --- a/sys/netinet/ip_gre.c +++ b/sys/netinet/ip_gre.c @@ -179,7 +179,8 @@ gre_input2(struct mbuf *m ,int hlen, u_char proto) switch (ntohs(gip->gi_ptype)) { /* ethertypes */ case ETHERTYPE_IP: /* shouldn't need a schednetisr(), as */ - ifq = &ipintrq; /* we are in ip_input */ + case WCCP_PROTOCOL_TYPE: /* we are in ip_input */ + ifq = &ipintrq; break; #ifdef NS case ETHERTYPE_NS: |
