[En-Nut-Discussion] Network Link state on at91_emac and others

Ole Reinhardt ole.reinhardt at embedded-it.de
Tue Sep 16 11:51:57 CEST 2008


Hi Harald,

> If this is the case, then "most OSes" are plain wrong.

Sorry for me to insist on this... I checked it again and at least you
are right in some way... At least I don't understand the real bahaviour
right now...

If I connect a telnet client to whereever and pull the cable, the telnet
client is still alive, but the socket seems to be dead.

Even if there is an opened connection the interface is brought down by
the kernel (ifconfig show an unconfigured device just after cable
disconnection) and any new socket can't be established with a network
unreachable error.

There are even other applications that survive this disconnection (ssh).

On another box, I tried before the connections behave like I described.
After a deeper analysis the different behaviour seems be influenced by
the linux network manager and as you just said, the keepalive extension.
The TCP keepalive extension must first be configured in the kernel,
berfore it is usable. There is a dbus message that is send on cable
disconnection and it seems that some services depend on this message.

> I will not getting tired to argue, that TCP is designed to keep 
> connections on broken links.

I will not getting tired to say sorry to not have tested enough before
writing my mail :)

> I will not getting tired to argue, that dropping connections on Ethernet 
> link loss will not solve any problem.

I will not getting tired to say sorry to not have tested enough before
writing my mail :)

> I will not getting tired to argue, that implementing keepalive is the 
> only correct way to detect broken links.

I will not getting tired to say sorry to not have tested enough before
writing my mail :)

> I will not getting tired to argue, that keepalive, if implemented, must 
> be disabled by default.

I will not getting tired to say sorry to not have tested enough before
writing my mail :)

No kidding! Keepalive seems to be the right way. But just implementing
keepalive will not solve the problem either or at least just after a
short time. I think if we enable keepalive we should also implement the
link down detection.

Regards,

Ole

-- 
 _____________________________________________________________
|                                                             |
| Embedded-IT          Hard- und Softwarelösungen             |
|                                                             |
| Ole Reinhardt        Tel. / Fax:        +49 (0)271  7420433 |
| Luisenstraße 29      Mobil:             +49 (0)177  7420433 |
| 57076 Siegen         eMail:    ole.reinhardt at embedded-it.de |
| Germany              Web:         http://www.embedded-it.de |
|                      UstID / VAT:       DE198944716         |
|_____________________________________________________________|




More information about the En-Nut-Discussion mailing list