(sorry - replying to myself after further investigation)

Guy Helmer wrote:
Amos Jeffries wrote:
I had a WCCP2 configuration (using a gre tunnel) working with Squid 3.0
+ sslBump patches, but would like to move up to Squid 3.1 to resolve
some quirks.

Here is the wccp configuration I was using with Squid 3.0:
wccp2_router 10.10.10.1
wccp2_address 10.10.10.250
wccp2_service dynamic 80
wccp2_service_info 80 protocol=tcp flags=dst_ip_hash priority=240
ports=80,443

Hmm, WCCP didn't really change between 3.0 and 3.1. Just a config update
to allow the wccp2_*_method options to be named instead of numerics.

The send may not be an immediate action. It's scheduled for every 10sec I
think, so check the log further down form the Initialising all WCCPv2
lists" may have something.

I've added some debug to show when it sends the here-i-am anyway. If you
apply http://www.squid-cache.org/Versions/v3/3.1/changesets/b9377.patch
you should see whether or not Squid is attempting to send a here-i-am.


Amos

Here is the log after building with your patch:
2009/01/15 08:25:50| Starting Squid Cache version 3.1.0.3 for i386-portbld-freebsd7.1...
2009/01/15 08:25:50.631| wccpInit: Called
2009/01/15 08:25:50.631| wccp2Init: Called
2009/01/15 08:25:50.631| wccp2InitServices: called
2009/01/15 08:25:50.631| wccp2Init: scheduled 'HERE_I_AM' message to 1routers.
2009/01/15 08:25:50.631| wccpConnectionOpen: Called
2009/01/15 08:25:50.631| WCCPv1 disabled.
2009/01/15 08:25:50.631| wccp2ConnectionOpen: Called
2009/01/15 08:25:50.631| Accepting WCCPv2 messages on port 2048, FD 13.
2009/01/15 08:25:50.631| Initialising all WCCPv2 lists
2009/01/15 08:25:51.631| wccp2HereIam: Called
2009/01/15 08:25:52.632| wccp2HereIam: Called

I had a tcpdump running during the restart to capture UDP port 2048 packets, and there were no packets captured.

I looked at wccp2HereIam() and noticed that it will reschedule the event and exit early if "StoreController::store_dirs_rebuilding && Config.Wccp2.rebuildwait", but I'm running without a cache directory (using squid with the intention of content adaptation, not caching) -- could that be the root of the problem?
Setting "wccp2_rebuild_wait off" has made my squid 3.1 work with my WCCP2 router. I assume this means StoreController::store_dirs_rebuilding isn't getting cleared...

Guy

--
Guy Helmer, Ph.D.
Chief System Architect
Palisade Systems, Inc.

Reply via email to