On Fri, Oct 10, 2008 at 7:27 PM, Amos Jeffries <squid3@xxxxxxxxxxxxx> wrote: > Pranav Desai wrote: >> >> Hello All, >> >> I am running >> Squid Cache: Version 2.6.STABLE12 >> configure options: '--prefix=/usr/squid' '--exec-prefix=/usr/squid' >> '--sysconfdir=/usr/squid/etc' '--enable-snmp' >> '--enable-err-languages=English' '--enable-underscores' >> '--enable-linux-netfilter' '--enable-storeio=ufs,aufs,coss' >> '--with-pthreads' '--enable-coss-aio-ops' '--with-aufs-threads=24' >> '--enable-linux-tproxy' '--enable-removal-policies=lru,heap' >> '--enable-internal-dns' '--with-maxfd=65535' '--enable-allowdot' >> >> The cache is at ~500req/s load. >> >> I need to bind the outgoing data to a particular interface so I have >> added the following code in comm_connect_addr > > <snip> > > 1) Please use a more recent squid. Particularly if buidling it yourself. > 2.6 is now an old version. > That maybe be difficult, but will definitely try it out to see if the problem persists. > 2) see "tcp_outgoing_address" and "udp_outgoing_address" setting already > available in Squid. They do exactly what you are trying to patch. > I already use that, but that is not exactly what SO_BINTODEVICE does. I have 2 default gateway (mgmt for ssh etc. and data) and I have experienced cases where the data goes out of the wrong interface depending on which default gw gets added first in routing table. This is in spite of explicitly using the bind() call. It seems like the only way to force the usage of a particular interface is to use SO_BINDTODEVICE. -- Pranav > Amos > -- > Please use Squid 2.7.STABLE4 or 3.0.STABLE9 >