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 [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html