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]

Reply via email to