Archive for the ‘IPv6’ Category

IPv6 going mainstream in squid

December 17, 2007

Well folks, things are getting underway again just in time for the new year.

Starting with the Dec 16th daily snapshot of squid3-HEAD includes the long-awaited squid3-ipv6 branch of squid.

http://www.squid-cache.org/Versions/v3/HEAD/

To build the feature just add –enable-ipv6 to your configure options. There are other IPv6 settings for some setups, but most will not need them. Expect it to accept your existing 3.0 squid.conf while allowing you to tweak it slightly for IPv6 purposes if you have a v6/NG connection or desire to do so.

The new releases coupled with an IPv6 link as simple as a single-host tunnel add the ability to:

* source traffic from either IPv4 or IPv6 as needed or provided

* proxy web traffic between IPv4 and IPv6 seamlessly

* gateway an IPv4 or IPv6 -native network to the full transitioning web

* accelerate a website on both IPv4 and IPv6 Internets even if the web server itself is stuck without access to one protocol.

* measure network availbility over both IPv4 and IPv6 for peers and source selection

Some expected configuration problems and their solutions can be found in the Squid wiki FAQ

http://wiki.squid-cache.org/SquidFaq/ConfiguringSquid

Squid-2.6 IPv6

September 30, 2007

In case you didn’t know, there’s a work in progress for IPv6 support in Squid-2.6. You’ll find a patch here which, reportedly, is being used in production at a few sites.

If you’d like to see IPv6 in a future Squid-2 release - its a very large change to introduce in the squid-2.6 release so it would appear in a 2.7 or 2.8 release - then please join the squid-users mailing list and let us know.

(I hear a lot of people complaining about how Squid doesn’t “support IPv6″ and yet won’t try Squid-3+IPv6 or even try googling for alternatives. The truth is that there’s been unofficial patches to Squid-2 to support IPv6 in some fashion for a number of years now - heck, there was an IPv6 patch to Squid-1! - but noone volunteered to stand up, tidy it up and get it in shape for inclusion into the main tree. If IPv6 is important to you then please say so; please test the stuff thats out there and don’t hesitate to donate to the Squid project with a note saying “for IPv6!”.)

WebDAV tester wanted.

August 4, 2007

One of the IPv6 squid testers has reported strange errors with a WebDAV enabled squid3-ipv6 build. Unfortunately he had no time available to track these down, and I don’t have WebDAV capability setup for use or testing.

I am seeking someone who does have the time and setup to test WebDAV in squid under an IPv6 setup. I am willing to act as a free consultant in the IPv6 side of the setup in exchange for this testing if needed.

Further Info on IPv6 - Where the official site actually is…

July 3, 2007

Since people seem to be redirected here in preference to the official pages on the squid IPv6 branch. I think its about time I made some quick references back there so all of you trying to use this wonderful branch can find the actual code and know how to do so.

The IPv6 work in squid is all currently documented at http://devel.squid-cache.org/squid3-ipv6/ and related pages. My contacts, or those of any developer is kept on to maintain it should be referenced from there.

How-To’s, configuration, patches, etc, etc, ‘all the guff’ as they say, will be available there shortly as well.

Beta testing begun.

June 25, 2007

A few days ago I posted the official announcement to the Squid-Dev mailing list and current list of known testers.  It’s time for it to be fully public and told here.

The code has reached a stable enough state that I am now using it full-time myself and have pushed it to Beta testing (pre-pre-PRE release) in the hopes that use by others might find it useful, prove its worthiness, or wrinkle out some more bugs (which, code being code I expect to happen).

Baring a few OS that have known problems:

* Win32 users are out in the cold due to MS choice of stack, even in Vista.

* Debian builds and runs, but does not playing nice to some tests. I’m beginning to think it is the test itself rather than the main squid code.

IPv6 sees daylight

June 8, 2007

Still early days in the testing, but squid3-ipv6 now seems to be over its teething segfaults (seems the cache-store was built of some old strange matter) and has been running for a few hours so well.

This post is the first fully browsed to, written and posted from IPv6 :-)

Like so:

::1 -> 2001:5c0:9388:0:217:9aff:febe:30e5(squid) -> 60.234.233.111 (squid) -> wordpress.com
Thank you to everyone who helped get it this far.

The alteration patch is so large, I am planning a daily tarball for the IPv6 code. But that is still a ways off.

For now those continuing with the testing will need to grab clean code from the June 9 daily snapshot and squid3-ipv6 patch when it gets built. Then do a full reconfigure on the binary and destructive rebuild of the testing cache-dir.

This is necessary since most of the segfaults have been traced to a few data store and transfer points causing corruption in transit.

I’m now open for feature-to-be-converted requests.

IPv4 shines through into IPv6

June 3, 2007

Squid3-ipv6 performed its full page load across the IPv4-IPv6 boundary two hours ago!

The goal is within sight, blinking orange icons and all.

It’s still operating with limits. There is a bug apparently in the ipcache that causes it to die a few minutes after starting. Also some unchanged socket logic means IPv4 clients are hamstrung and cannot access IPv6 servers yet. Same thing makes split-stack (win32) a long way off.

Still, even one page load is a large milestone for previously dead code. Google never looked so good.

Squid updates

May 27, 2007

A few updates, as we’ve all been busy:

  • Amos is pushing forward his IPv6 work slowly; its probably going to wait for Squid-3.0 to be released and made stable but its making progress
  • I’ve done some profiling on Squid-3’s performance and I’m working on a few cheap methods to gain a few percent by not zero’ing buffers that don’t need zero’ing - another possible Squid-3.1 candidate
  • We learnt how C++ will “upgrade” types where the correct constructor is available - part of some performance regressions in Squid-3 (and the more noticable crashes!) popped up after some changes were made to neaten the code up…
  • Duane and Alex are still working hard to bring Squid-3’s behaviour close to stable as they can - hopefully a Squid-3.0 STABLE release will occur soon!
  • I’ve been working a little on /dev/poll (Solaris, IRIX) support for Squid-2 and I think I’ve finally solved the behaviour issues. This should drastically improve Squid’s performance under Solaris and IRIX.

Squid-3 IPv6 support

May 16, 2007

I have had some requests about what capabilities the squid3-ipv6 work has so here are some details for the testers and other interested parties.

Please keep in mind that this post describes a completely theoretical set of capabilities. While they are supposedly possible now. They still need testing to find the bugs that might stop it being so.

I have so far been concentrating on the client side of squid. Where it locates the pages requested.

Features page is at:
http://devel.squid-cache.org/squid3-ipv6/features.html

Combined the bits roughly make a request-path from a URI -> DNS -> ACL -> Remote Server and back to storage. (NOTE: this does NOT include Auth). It is not yet listening for requests on IPv6 from clients.

There are two important points to notice: Firstly clients still have to be in IPv4, Secondly the URI being in the path allows them to request domains or direct IPA that are within IPv6 netspace.

The goal and jackpot for testers is to see the dancing turtle at www.kame.net from a machine in IPv4 through squid.

Setup:

Squid3-ipv6 needs presently (for IPv6 to work) to be running on a machine with both IPv4 and IPv6 addresses, v4 to receive requests and v6 to test how well it copes there. I won’t go into the setup of IPv6 on a machine here.

squid.conf can contain IPv6 addresses if an IPv4 was previously valid there AND if the configured feature is in the experimental list. IPv6 equivalent of ipv4:port is [ipv6]:port

debug_options ALL,1 14,9

Right now there are around 4-dozen points in the code where it unconditionally requests an IPv4 address to be used from that point on. Please report to me any info squid spits out about bad .conf options or stack backtraces of where it says “Cannot convert non-IPv4 to IPv4.” (its expected to crash there for now) along with any other bugs not in the squid bugzilla.

IPv6 News of the week

May 15, 2007

I’ll make it quick since I’m posting from the wrong end of tommorrow for most of you.

This week one very important and one not so important things have happend to the world of IPv6.

In world news: the ‘end of IPv4′ has been recalculated with a better model and found to be much closer than thought. It was expected ‘next decade’. Now the big crunch is expected to start on or around 21 Dec 2009.

In local breaking news: the ident ACLs in squid got updated a few minutes ago. Now lets hope ident servers around the world can reply.