Messages in this thread | | | Date | Tue, 15 Dec 1998 01:51:38 +0000 | From | Jamie Lokier <> | Subject | Re: UDP bugs |
| |
On Mon, Dec 14, 1998 at 06:26:28PM +0300, kuznet@ms2.inr.ac.ru wrote: > > The reason I expect this is that an application dealing with a UDP > > socket shouldn't have to know the UDP, IP and MAC header sizes. What if > > you pass it a non-ethernet bound address, and IPV6 bound socket, some > > other datagram type, an IP with source route, etc.? > > Look at RFCs. Sane application should not send frames longer 576 bytes, > if it is not sure that destination will accept this. > For IPv6 this limit is changed to 1500, not more. 8) > And it is full frame size... Take into account that > fragmentation is strongly discouraged too 8)8)
That was not my point. I agree, that the default buffer size should be small.
I'm saying that SO_RCVBUF should change the maximum _application_ packet size, not the raw size with UDP, IP and MAC headers included.
So setsockopt(fd, SOL_SOCKET, SO_RCVBUF, 16384) should be enough to permit receiving 16384 _application_ bytes per packet.
> What's about maximal received frame size, I'd set default maximum > to 4K. Apps, which really expect larger packets, must increase it themselves. > > Remeber, if host does not have gobs of unused memory 64K skb is serious > pain for our memory allocator, 128K is reliable death.
Agree, agree, but I think you missed my point :-)
-- Jamie
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |