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 hackerReceived 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