Re: Squid<->Pinger communication (Squid 2.2STABLE5)

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Wed, 21 Jun 2000 22:05:06 +0200

Bert Driehuis wrote:
>
> I'm running Squid-2.2STABLE5 on BSD/OS, and have a problem with it. On
> BSD/OS, IPC_DGRAM is implemented using socketpair(2).

That is actually one of my patches I think, not part of the official
release.

> BSD/OS has a pretty small default SO_RCVBUF and SO_SNDBUF on
> socketpairs, so I had to throw in a setsockopt(2) to increase
> those. But even bumping them to 64K, the pinger occasionally dies
> because it gets an ENOBUF. Of course, I can bump them to even higher
> limits, but I'm wondering why Squid communicates the entire 8K
> packet to the pinger, rather than just letting the pinger take
> care of it.

As Duane said, this is not how it is supposed to be doing. The messages
should be pretty small.

> I noticed the tip of the CVS Squid got rid of the use of socketpair()
> altogether, but it still seems to communicate the entire payload
> between Squid and the pinger, increasing the risk of running out of
> network resources.

It has never been in the CVS..

If you are using my patch, then try changing ICP_DGRAM in src/defines.h
to
#define IPC_DGRAM ICP_UDP_SOCKET
or replace IPC_DGRAM in src/icmp.c with IPC_UDP_SOCKET.

Doing so would revert Squid to use UDP rather than unix-domain sockets
for communicating with the pinger helper.

--
Henrik Nordstrom
Squid hacker
Received on Wed Jun 21 2000 - 14:20:34 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:31 MST