From: "Stuart MacDonald" <stuartm@connecttech.com>
To: "'Andi Kleen'" <ak@suse.de>
Cc: <linux-kernel@vger.kernel.org>
Subject: RE: TCP stack behaviour question
Date: Mon, 18 Sep 2006 09:20:44 -0400 [thread overview]
Message-ID: <000001c6db25$3f778c30$294b82ce@stuartm> (raw)
In-Reply-To: <p73slip4lyf.fsf@verdi.suse.de>
From: On Behalf Of Andi Kleen
Thanks for replying, I appreciate it.
> Stevens is a good reference to BSD networking, but not
> necessarily to Linux.
Which is why I posted here. I was wondering about the specific
implementation.
What happened was this: I had a run where I captured output with
tcpdump. My original post was based on that, and the results of the
debug output from my app. For whatever reason, it appears the stack
didn't generate all of the packets it should have. When the log showed
a second-last to last retransmit time of about 27 seconds, and then a
gap of about 400 to the very next packet of any kind, I assumed that
meant the stack had given up on the retransmits when it appears
something else was going on.
I did some digging into the kernel and on the next run found that all
the expected retransmit packets were being generated, and that once
the stack gives up on the retransmits then system calls return errors.
> > Question 2a: How can my app find out the EHOSTUNREACH error
> > immediately? IP_RECVERR is not implemented on TCP, and
> SO_ERROR always
> > reports no error (0).
>
> Did you really read the manpages? It is implemented and it's
> documented.
Yes I did and no it's not, according to the man page. I quoth:
# man 7 ip
..
Note that TCP has no error queue; MSG_ERRQUEUE is
illegal on SOCK_STREAM sockets. Thus all errors are returned by
socket function return or SO_ERROR only.
Maybe the man page is wrong? That's from my FC 3 install.
..Stu
next prev parent reply other threads:[~2006-09-18 13:21 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-15 17:28 TCP stack behaviour question Stuart MacDonald
2006-09-18 8:29 ` Andi Kleen
2006-09-18 13:20 ` Stuart MacDonald [this message]
2006-09-18 13:54 ` Andi Kleen
2006-09-18 14:19 ` Stuart MacDonald
2006-09-18 14:31 ` Andi Kleen
2006-09-18 15:38 ` Michael Kerrisk
2006-09-18 17:01 ` Stuart MacDonald
2006-09-19 6:13 ` Michael Kerrisk
2006-09-19 6:47 ` Andi Kleen
2006-09-19 14:50 ` Michael Kerrisk
2006-09-20 9:55 ` Andi Kleen
-- strict thread matches above, loose matches on Subject: below --
2006-09-18 18:29 Stuart MacDonald
2006-09-19 12:03 ` Samuel Tardieu
2006-09-19 14:00 ` Stuart MacDonald
2006-09-20 9:54 ` 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='000001c6db25$3f778c30$294b82ce@stuartm' \
--to=stuartm@connecttech.com \
--cc=ak@suse.de \
--cc=linux-kernel@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