[squid-users] Squid delay pools using DS/Precedence field to limit BW

From: David Wilson <dave@dont-contact.us>
Date: Thu, 22 Nov 2001 14:02:01 +0200

Hi Pedro & all

Well done on your Squid patches! They look great.

I've desperately been looking for some answers for about 2 years now
regarding setting up Squid ACL's to match on IP DS/Precedence bit fields so
that I can apply them to Squid's delay pools.
Please have a look at my posts below if you have time.
If you could help in anyway possible I'd really appreciate it.

Another possibility of course is that if I could get Squid not to reset the
original DS/precedence bit field I could put a Packeteer between our network
and our Squid proxy. At the moment Squid resets the original value so it all
shows up as marked with a 0, "no value" so that doesn't work to well, if
anyone can think of a patch that well tell Squid to keep the original
DS/Precedence bit value please let me know.

Anyone that can help on squid-users is welcome to mail me back, I'd
appreciate it.

Many thanks.

Here is my original posting:
>Hi guys, howzit going ?
>We limit all our clients international bandwidth usage based on what
>they purchase from us. i.e. a client pays for a limited 32K of
>bandwidth but has unlimited Local (South African) bandwidth.
>We limit the clients International bandwidth based on their subnet range
>using a Packeteer Packet shaper.
>When we started selling these "Limit international bandwidth" packages we
>had to ditch our transparent Squid proxy, because the proxy would obviously
>fetch everything on behalf of the client at what ever bandwidth was
>available on our main pipe, and thus the client was not getting limited at
>whatever bandwidth was specified for that clients subnet range.
>Putting our transparent proxy back would be a really great idea as long as
>we can limit the bandwidth which our "bandwidth limited" clients use.
>I have seen that delay pools would be perfect for the task, the problem is
>that we would have to enter in every local IP range to discriminate between
>local and international websites.
>At the moment our upstream bandwidth provider "colors" or marks the
>TOS/Precedent bit field of all our incoming international traffic, which
>packeteer then picks up and utilizes to discriminate between international
>and local traffic.
>Is there any way to patch Squid or use some external utility along with
>Squid to recognize TOS/IP precedence fields and make delay pool decisions
>it ?
>If this is possible then our transparent proxy will then be implemented
>again. ;-)

Another posting:
>Hi guys, howzit going ? ;-)
>A nice juicy question:
>We are an ISP and we allocate our leased line clients subnets of IP's.
>At the moment we use a Packeteer traffic shaper to limit our each of
>international bandwidth to 16K international & 64K Local.
>The Packeteer is able to distinguish between local & international traffic
>because our bandwidth provider marks our incoming packets "precedence"
>fields of all international traffic with a "2" and all local traffic with a
>Obviously because of this we cannot run a transparent Squid cache because
>all allows our clients to request that our Cache fetches web content on
>behalf of each client, thus their HTTP traffic is not limited to that set
>the Packeteer.
>To use transparent caching we need to setup "delay pools" in Squid that
>would limit each client to their allocated bandwidth, we also need Squid to
>distinguish between local & international traffic by looking at the
>"precedence" fields in each incoming packet so that each client is limited
>to their 16K international & 64K local bandwidth allowances.
>I have looked around and cannot find any info on how to do this, except by
>going for an integrated hardware cache/traffic shaper.
>Surely there is away to do this... even if we get our router to split the
>international & local traffic and apply "Cisco route maps, based on
>precedence bit" to forward the HTTP traffic to 2 separate transparent
>(1 Squid for international traffic & 1 Squid for local), then on each we
>implement "delay pools" for each client ?
>Surely someone has done this before to enable Squid to limit bandwidth
>on precedence bit ?
>Thanks, any guidance would be most appreciated.

David Wilson
Technical Support Centre
The S.A Internet
0860 100 869
Received on Thu Nov 22 2001 - 05:02:32 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 17:04:25 MST