Date: 12 Dec 2003 17:35:50 -0000 From: John Narron <jnarron@cdsinet.net> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/60183: No WCCPv2 support in gre Message-ID: <20031212173550.78358.qmail@radius2.cdsinet.net> Resent-Message-ID: <200312121740.hBCHeI4U084666@freefall.freebsd.org>
index | next in thread | raw e-mail
>Number: 60183
>Category: kern
>Synopsis: No WCCPv2 support in gre
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Fri Dec 12 09:40:18 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: John Narron
>Release: FreeBSD 5.1-RELEASE-p11 i386
>Organization:
CDS/CDSinet, LLC
>Environment:
System: FreeBSD radius2.cdsinet.net 5.1-RELEASE-p11 FreeBSD 5.1-RELEASE-p11 #14: Thu Dec 11 16:16:13 CST 2003 zeek@radius2.cdsinet.net:/usr/obj/usr/src/sys/RADIUS i386
>Description:
The gre driver has support for WCCP, but lacks WCCPv2 support. WCCPv2 packets, when arriving on a gre device, appear as IPv0 packets.
>How-To-Repeat:
Can't repeat something that isn't supported now can we?
>Fix:
Attached is a patch to check if m->m_data+hlen is a IPv4 header. If so its assumed the packet is WCCPv1, otherwise its WCCPv2 and hlen is incremented by 4.
--- ip_gre.c Fri Dec 12 16:50:49 2003
+++ ip_gre.c.wccpv2 Fri Dec 12 16:58:13 2003
@@ -172,8 +172,26 @@
switch (ntohs(gip->gi_ptype)) { /* ethertypes */
case ETHERTYPE_IP: /* shouldn't need a schednetisr(), as */
+ isr = NETISR_IP;
+ break;
case WCCP_PROTOCOL_TYPE: /* we are in ip_input */
- isr = NETISR_IP;
+ isr = NETISR_IP;
+ /*
+ * jnarron@cdsinet.net
+ * WCCPv1 and WCCPv2 packet encapsulations differ by 4 octets
+ * WCCPv2 adds:
+ * octet 0: Flags
+ * octet 1: Service ID
+ * octet 2: Reserved?
+ * octet 3: Primary bucket index
+ *
+ * So far I haven't found any use for those 4 octets, so for now
+ * we just strip them out and move on.
+ */
+
+ if(!((*(m->m_data + hlen)) & 0x40))
+ hlen += 4;
+
break;
#ifdef NETATALK
case ETHERTYPE_ATALK:
>Release-Note:
>Audit-Trail:
>Unformatted:
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031212173550.78358.qmail>
