summaryrefslogtreecommitdiffstats
path: root/sys/net/if_gre.c
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2004-01-26 12:33:56 +0000
committersobomax <sobomax@FreeBSD.org>2004-01-26 12:33:56 +0000
commit7029665c48134fdfa0d0a791cad666b9395e1437 (patch)
tree5c5c96b17f9d310360115eac89b4737a0956a175 /sys/net/if_gre.c
parentcbc4150e39de8a374e24f7dd77eaace267720350 (diff)
downloadFreeBSD-src-7029665c48134fdfa0d0a791cad666b9395e1437.zip
FreeBSD-src-7029665c48134fdfa0d0a791cad666b9395e1437.tar.gz
Add support for WCCPv2. It should be enablem manually using link2
ifconfig(8) flag since header for version 2 is the same but IP payload is prepended with additional 4-bytes field. Inspired by: Roman Synyuk <roman@univ.kiev.ua> MFC after: 2 weeks
Diffstat (limited to 'sys/net/if_gre.c')
-rw-r--r--sys/net/if_gre.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/net/if_gre.c b/sys/net/if_gre.c
index 7eb1732..aab7068 100644
--- a/sys/net/if_gre.c
+++ b/sys/net/if_gre.c
@@ -178,6 +178,7 @@ gre_clone_create(ifc, unit)
sc->sc_if.if_flags |= IFF_LINK0;
sc->encap = NULL;
sc->called = 0;
+ sc->wccp_ver = WCCP_V1;
if_attach(&sc->sc_if);
bpfattach(&sc->sc_if, DLT_NULL, sizeof(u_int32_t));
LIST_INSERT_HEAD(&gre_softc_list, sc, sc_list);
@@ -407,6 +408,10 @@ gre_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
sc->g_proto = IPPROTO_GRE;
else
sc->g_proto = IPPROTO_MOBILE;
+ if ((ifr->ifr_flags & IFF_LINK2) != 0)
+ sc->wccp_ver = WCCP_V2;
+ else
+ sc->wccp_ver = WCCP_V1;
goto recompute;
case SIOCSIFMTU:
if ((error = suser(curthread)) != 0)
OpenPOWER on IntegriCloud