netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Established sockets remain open after iface down or address lost
@ 2013-09-26  6:04 Chris Verges
  2013-09-26 13:49 ` Eric Dumazet
  2013-10-01 16:33 ` Alexey Kuznetsov
  0 siblings, 2 replies; 9+ messages in thread
From: Chris Verges @ 2013-09-26  6:04 UTC (permalink / raw)
  To: davem, kuznet, jmorris, yoshfuji, kaber, netdev

Hello all,

I've encountered a behavior that appears to be known, but am seeking
some clarity on its rationale.  The scenario is as follows:

  (0) A TCP server socket listens on :: (v4/v6).
  (1) Connect a USB/Ethernet adapter to a Linux system.
  (2) Adapter is brought up as 'eth0' with an IP address.
  (3) A remote TCP client connects to the server socket.
  (4) 'netstat -anp' shows the socket as ESTABLISHED
  (5) The TCP server starts a blocking read waiting for data.
  (6) Physically disconnect the USB/Ethernet adapter from the USB bus.
  (7) Linux removes the 'eth0' interface and associated IP address.

At this point, the socket _still_ shows as ESTABLISHED under netstat.

This is the paradox.  Why is the blocking read not interrupted with a
socket error to indicate that the socket is no longer viable?

Thank you in advance,
Chris

P.S.  I apologize in advance if I missed this answer in the netdev
archives.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-10-01 19:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-26  6:04 Established sockets remain open after iface down or address lost Chris Verges
2013-09-26 13:49 ` Eric Dumazet
2013-10-01 13:27   ` Chris Verges
2013-10-01 15:44     ` Rick Jones
2013-10-01 16:08       ` Chris Verges
2013-10-01 17:06         ` Rick Jones
2013-10-01 16:33 ` Alexey Kuznetsov
2013-10-01 17:07   ` Chris Verges
2013-10-01 19:00     ` Alexey Kuznetsov

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).