[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