Below is the file 'doc/README.wccpv2' from this revision. You can also download the file.
This version of squid has been patched with the wccpv2 support patch. To enable this option, use the --enable-wccpv2 option on the configure script. Wccpv2 allows a single cache to associate itself with multiple routers, and also allows multiple wccp services to be defined. The other advantage of wccpv2 is that the cisco IOS uses CEF to switch the packets. Example simple web cache ------------------------ Internet <-> fa0/0 2621 fa0/1 <-> cache, internal network squid.conf: wccp2_router 192.168.2.1:2048 wccp2_version 4 wccp2_forwarding_method 1 wccp2_return_method 1 wccp2_service standard 0 Router config: ip wccp web-cache ! interface FastEthernet0/0 description uplink ip address 192.168.1.200 255.255.255.0 ip wccp web-cache redirect out duplex auto speed auto ! interface FastEthernet0/1 description local network ip address 192.168.2.1 255.255.255.0 duplex auto speed auto ! Note the cache is on the internal network (Fa0/1), the interception occurs on the uplink interface(0/0). Linux (Kernel 2.6.10, i386) side of things: #!/bin/sh echo "1" > /proc/sys/net/ipv4/ip_forward echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter iptunnel add gre1 mode gre remote 192.168.2.1 local 192.168.2.2 dev eth0 ifconfig gre1 up 127.0.0.2 iptables -t nat -F # iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 iptables -t nat -A PREROUTING -i gre1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.2:3128 TODO ---- * The wccp2 router configuration need to have a better configuration interface (it currently uses ip:port when only the ip address is needed). * A shutting-down cache should generate a removal query, informing the router (and therefore the caches in the group) that this cache is going away and no new traffic should be forwarded to it. * Some more documentation, examples, etc.