Re: [patch 4/10] s390: network driver.
From: Paul Jakma
Date: Mon Nov 15 2004 - 02:54:31 EST
On Sat, 13 Nov 2004, Jeff Garzik wrote:
Queues are DESIGNED to fill up under various conditions.
What happens when they are full? Blocking isnt good, at least not
from GNU Zebra / Quagga's POV.
Would not the zebra routing software have the same problems with
cable pull under an e1000 or tg3 gigabit NIC?
If they block further writes, yes.
The most popular drivers -- e1000, tg3, etc. -- do not do this, for
very good reasons.
The problem is that GNU Zebra / Quagga uses a single raw socket for
certain protocols, eg OSPF. Blocking the socket because one NIC has a
cable pulled is undesireable, and there's no point queueing the
packets, by the time the link comes back, if ever, its highly
unlikely there is any use in sending the packets (sending OSPF
hello's from X minutes ago on a link that just came back is useless).
The kernel really shouldnt get too much in the way of an application
that already is fully aware of reliability issues - at least that
is the application's expectation in this case.
We could change it to use a socket/interface on Linux, but it seems a
bit unnecessary to me, at least for raw socket/included-header
1. an application must be if its uses raw sockets surely? Even for
non-raw/header-included sockets, eg BGP tcp sockets, a user like GNU
Zebra / Quagga would much prefer packets to be dropped.
Paul Jakma paul@xxxxxxxx paul@xxxxxxxxx Key ID: 64A2FF6A
My interest is in the future because I am going to spend the rest of my
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/