MFS: recognize gre packets used in the WCCP protocol.

Approved by:	re
This commit is contained in:
Maxim Sobolev 2002-12-07 14:22:05 +00:00
parent 3358dbd039
commit 16199bf2d3
2 changed files with 9 additions and 1 deletions

View File

@ -104,6 +104,13 @@ struct greip {
#define GRE_SP 0x1000 /* Sequence Present */ #define GRE_SP 0x1000 /* Sequence Present */
#define GRE_SS 0x0800 /* Strict Source Route */ #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 * gre_sre defines a Source route Entry. These are needed if packets
* should be routed over more than one tunnel hop by hop * should be routed over more than one tunnel hop by hop

View File

@ -179,7 +179,8 @@ gre_input2(struct mbuf *m ,int hlen, u_char proto)
switch (ntohs(gip->gi_ptype)) { /* ethertypes */ switch (ntohs(gip->gi_ptype)) { /* ethertypes */
case ETHERTYPE_IP: /* shouldn't need a schednetisr(), as */ 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; break;
#ifdef NS #ifdef NS
case ETHERTYPE_NS: case ETHERTYPE_NS: