netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ben Greear <greearb@candelatech.com>
To: "'netdev@oss.sgi.com'" <netdev@oss.sgi.com>
Subject: An interface goes away while a socket is bound to it..what happens?
Date: Mon, 17 Jan 2005 19:28:27 -0800	[thread overview]
Message-ID: <41EC825B.4030603@candelatech.com> (raw)

I've been playing around with multi-link PPP interfaces, and
have noticed something strange (kernel 2.6.9+hacks, pppd 2.4.1b2 ).

My application binds tight to the local IP address and the
interface.  In the instance tested, I was using UDP traffic
but TCP seems to behave the same.

Suppose I am pulling the T1 interfaces to cause
a failover:   If I pull both at once for a few seconds and then
replace them, ppp0 will dissappear, and then quickly be rebuilt.

My application discovers interfaces based on their name, by
parsing /proc/net/dev every 30 seconds or so.  Often, it does not
detect that the interface ever went away (and came back), so it
cannot take any evasive action.

The interesting part to me is that I do not appearantly see any errors
while continuing to send UDP packets on the socket that was bound to the
original ppp0 interface, and yet no packets are ever routed over the new
ppp0 interface.  I would expect it to either fail the write, or to just
magically keep working.

So first:  Is this happily-write-down-a-black-hole issue a bug?

and:  What is a good way to discover the coming and going of interfaces
    as it happens?  (I looked around Netlink, but it does not appear to do
    notifications.)

Thanks,
Ben

-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

             reply	other threads:[~2005-01-18  3:28 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-18  3:28 Ben Greear [this message]
2005-01-18  3:39 ` An interface goes away while a socket is bound to it..what happens? David S. Miller
2005-01-18  6:44   ` Ben Greear
2005-01-18 21:18     ` Ben Greear

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=41EC825B.4030603@candelatech.com \
    --to=greearb@candelatech.com \
    --cc=netdev@oss.sgi.com \
    /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).