From: Rick Jones <rick.jones2@hp.com>
To: Hagen Paul Pfeifer <hagen@jauu.net>
Cc: Glen Turner <gdt@gdt.id.au>, David Miller <davem@davemloft.net>,
netdev@vger.kernel.org
Subject: Re: UDP path MTU discovery
Date: Wed, 31 Mar 2010 17:06:19 -0700 [thread overview]
Message-ID: <4BB3E37B.8040400@hp.com> (raw)
In-Reply-To: <20100331235149.GE3042@nuttenaction>
Hagen Paul Pfeifer wrote:
> * Glen Turner | 2010-04-01 10:12:03 [+1030]:
>
>
>>Does select() return from its blocking so the application can make
>>use of this indication immediately, rather than after the
>>application's exponentially-increasing wait?
>
>
> Yes, poll() will return immediately with POLLERR.
>
>
>>Is an incoming ICMP the only cause of EMSGSIZE? That is, can an
>>application safely retransmit immediately?
>
>
> IIRC, yes.
Under Linux perhaps, and assuming it can guess which prior send triggered the
EMSGSIZE, but under HP-UX EMSGSIZE means you tried to send a datagram larger
than the socket buffer:
tusc src/netperf -t UDP_RR -- -s 1024 -r 60K
...
send(4, 0x4000ee68, 61440, 0) ............................ ERR#218 EMSGSIZE
I've not checked BSD, Solaris or AIX.
On a 2.6.22 kernel where I do the same thing, it returns ENOBUFS instead.
strace src/netperf -H localhost -t UDP_RR -- -s 1024 -r 60K
...
send(4, "netperf\0netperf\0netperf\0netperf\0n"..., 61440, 0) = -1 ENOBUFS (No
buffer space available)
Of course the send() manpage on various Linux systems I've tried says:
EMSGSIZE
The socket type requires that message be sent atomically, and
the size of the message to be sent made this impossible.
ENOBUFS
The output queue for a network interface was full. This gener-
ally indicates that the interface has stopped sending, but may
be caused by transient congestion. (Normally, this does not
occur in Linux. Packets are just silently dropped when a device
queue overflows.)
I suppose they are old on that system. Netperf interprets an ENOBUFS per the
manpage, and will not exit immediately in a UDP_STREAM test, but will simply
count the send as failed and try again. Not sure if it is worth trying to teach
netperf differently here or not.
rick jones
next prev parent reply other threads:[~2010-04-01 0:06 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-26 0:02 UDP path MTU discovery Glen Turner
2010-03-26 0:53 ` Rick Jones
2010-03-26 3:26 ` David Miller
2010-03-26 17:48 ` Rick Jones
2010-03-31 23:42 ` Glen Turner
2010-03-31 23:51 ` Hagen Paul Pfeifer
2010-04-01 0:06 ` Rick Jones [this message]
2010-03-26 3:24 ` David Miller
2010-03-28 8:41 ` Andi Kleen
2010-03-31 23:57 ` Glen Turner
2010-04-01 0:57 ` Andi Kleen
2010-03-28 8:50 ` Andi Kleen
2010-03-29 17:01 ` Rick Jones
2010-03-29 20:14 ` Andi Kleen
2010-03-29 20:25 ` Rick Jones
2010-03-29 20:50 ` Edgar E. Iglesias
2010-03-29 21:01 ` Rick Jones
2010-03-29 21:29 ` Eric Dumazet
2010-03-29 23:38 ` Templin, Fred L
2010-03-30 5:20 ` Andi Kleen
2010-03-30 6:06 ` Eric Dumazet
2010-03-30 6:16 ` Andi Kleen
2010-03-30 6:17 ` UDP path MTU discovery II Andi Kleen
2010-03-30 6:16 ` UDP path MTU discovery Edgar E. Iglesias
2010-03-30 6:19 ` Andi Kleen
2010-03-30 8:20 ` Edgar E. Iglesias
2010-03-30 14:12 ` Andi Kleen
2010-03-30 22:04 ` Edgar E. Iglesias
2010-03-30 15:58 ` Templin, Fred L
2010-03-30 16:06 ` Andi Kleen
2010-03-31 23:43 ` Glen Turner
2010-04-01 0:55 ` Andi Kleen
2010-04-02 5:41 ` Glen Turner
2010-04-04 10:25 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BB3E37B.8040400@hp.com \
--to=rick.jones2@hp.com \
--cc=davem@davemloft.net \
--cc=gdt@gdt.id.au \
--cc=hagen@jauu.net \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).