6989190: SO_SNDBUF/SO_RCVBUF limits should only be checked when setsockopt fails (sol)

Alan Bateman Alan.Bateman at oracle.com
Mon Oct 4 02:36:20 PDT 2010


I need a reviewer for a small change to the networking code. On Solaris, 
the SO_SNDBUF/SO_RCVBUF parameters are clamped by the values of the 
tcp_max_buf and udp_max_buf parameters. Unfortunately the code in 
net_util_md.c has been using a private/unsupported interface that no 
longer exists in Solaris 11. That one is going to take a while to sort 
out so I'd like to propose a short term solution which is to simply 
change the fallback values to the out the box defaults (1MB for TCP, 2MB 
for UDP). That will eliminate the test failures for all cases except 
where ndd has been used to change the system defaults (probably rare). 
While I was there, I changed the implementation to just attempt to set 
the socket options before clamping. The rational is that it should be 
rare that applications attempt to set these socket options to values 
larger than the system limit anyway.

One other change included in this webrev is a small change to the newly 
added ThrowUnknownHostExceptionWithGaiError to address a few compiler 
warnings.

The webrev the changes is here:
  http://cr.openjdk.java.net/~alanb/6989190/webrev/

Thanks,
Alan.





More information about the net-dev mailing list