UDP bugs

Richard Gooch (rgooch@atnf.csiro.au)
Sun, 13 Dec 1998 13:50:25 +1100


Hi, all. I've been sending UDP packets around, and have come across
some limitations in the maximum packet size. I use the write(2) call
on a connected UDP socket. Below are shown the maximum packet sizes
for different combinations of sender and receiver OS:

Linux 2.0.36 -> Solaris 2.5.1 65507

Linux 2.1.126 -> Linux 2.1.126 65476
Linux 2.1.126 -> Solaris 2.5.1 65507

Linux 2.1.131 -> Linux 2.1.131 65476
Linux 2.1.131 -> Solaris 2.5.1 65507

Solaris 2.5.1 -> Linux 2.0.36 51792
Solaris 2.5.1 -> Linux 2.1.126 65476
Solaris 2.5.1 -> Linux 2.1.131 65476

Solaris 2.5.1 -> Solaris 2.5.1 65535 (what you expect)

>From this it appears Linux 2.1.x has an output limit of 65507 bytes
and an input limit of 65476 bytes. Further, Linux 2.0.36 has an output
limit of 65507 bytes (same as 2.1.x) and an input limit of 51792
bytes.

Packets which exceed the maximum size go to the big bit bucket in the
sky. RIP. This is a problem for programmes which "know" that they can
send 65535 byte packets over UDP.

Regards,

Richard....

-
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/