I have an application (satellite rcvr) for which I want to maximize successful
UDP packet capture. As an example, a particular 4Mbps stream of 1400 character
packets have about a 20% chance of being dropped. I need to minimize that
droppage.
I believe that one part of the equation is to increase the listening UDP
socket's receive buffer size:
receive_buffer_size = SOME_LARGE_NUMBER;
setsockopt (sockfd, SOL_SOCKET, SO_RCVBUF,
&receive_buffer_size,
sizeof (receive_buffer_size));
1. Does a larger receive buffer size necessarily give me increased UDP receive
performance?
2. SO_RCVBUF is limited by the following in sock.c:
case SO_RCVBUF:
if(val > SK_RMEM_MAX*2)
val = SK_RMEM_MAX*2;
if(val < 256)
val = 256;
if(val > 65535)
val = 65535;
sk->rcvbuf = val;
return(0);
Can I increase SK_RMEM_MAX safely? Will increasing SK_RMEM_MAX and the
receive buffer size give me increased UDP receive performance?
3. What other tunings can I make to help UDP receive performance?
Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]