On Wed, Nov 29, 2006 at 06:08:51PM -0500, John Heffner wrote: > >However the send(2) manpage doesn't make this clear. At least, the version > >I > >have installed in CentOS 4.4 says: > > > > If the message is too long to pass atomically through the > > underlying > > protocol, the error EMSGSIZE is returned, and the message is > > not > > transmitted. > >... > > EMSGSIZE > > The socket type requires that message be sent atomically, > > and > > the size of the message to be sent made this impossible. > > > >It doesn't hint that a retry may succeed. > > > >Also, presumably send() returns -1 in this case - how would the application > >learn what the actual MTU limit encountered was? > > With a getsockopt() of IP_MTU (man 7 ip). Thanks. Just as a note, ip(7) says: IP_MTU_DISCOVER Sets or receives the Path MTU Discovery setting for a socket. When enabled, Linux will perform Path MTU Discovery as defined in RFC1191 on this socket. The donâ??t fragment flag is set on all outgoing datagrams. The system-wide default is controlled by the ip_no_pmtu_disc sysctl for SOCK_STREAM sockets, and dis- abled on all others. But I can still see packets being sent with DF=1 from a SOCK_DGRAM socket. Regards, Brian. - To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html