[OpenAFS] Re: undpInOverflows on heavily loaded AFS clients
(Solaris 10 X86, SunRay server)
Benjamin Kaduk
kaduk@mit.edu
Thu, 20 Apr 2017 23:23:33 -0500
On Thu, Apr 20, 2017 at 07:04:34PM +0200, Karl Behler wrote:
> Deeper searching brought us to a Solaris 10 source from 2005 (?) where
> the network stack looked like the stack trace from our dtrace script.
> With the information found there it was possible to further examine the
> reason for dropping the packets: It turns out, that the extended buffer
> length from our ndd command is not used for this particular socket
> connection.
> Which implies the udpBufSize for the socket is set explicitly probably
> by openAFS itself.
>
> Examining the AFS source for the occurrence of SO_RCVBUF setsockopt()
> yields following c code
>
> len = rx_UdpBufSize;
>
> error = sockfs_sosetsockopt(so, SOL_SOCKET, SO_RCVBUF, &len,
> sizeof(len));
>
> Where rx_UdpBufSize turns out to be a constant defined in a global
> .h-file having the value 64*1024
>
> We are presently working on modifying this constant setting and testing
> if this helps.
If it does, please consider formulating a patch and submitting it at
https://gerrit.openafs.org for incorporation into a future release.
-Ben