Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jul 2001 09:09:51 -0700
From:      "Bulger, Tim" <TBulger@ea.com>
To:        "'zebra@zebra.org'" <zebra@zebra.org>, net@freebsd.org
Subject:   RE: [zebra 9666] Re: Linux/Ethernet interface status? Linux & BSD
Message-ID:  <FDEDA1BCEEBFD4118FFB00508BB1940B03419296@eahq-mb2>

next in thread | raw e-mail | index | archive | help
I agree completely re: Zebra being in control of the static route handling
process.  If it is capable of determining the interface status (kernel
up/down is recognized), it can add or remove the static routes as necessary.
If the kernel is aware of the interface status but continues to consider
itself connected to that network (by maintaining the connected route in the
table), there is no way to configure a backup route to that network using
the very basic concept of networking that is routes with different
metrics...  As I said, for a workstation to maintain its routing table
despite the interface status is great because without a routing daemon you
don't have to directly manage it after a down/up event.  For a router or a
server that is employing routing for a backup solution, this is inadequate.
An option in the kernel to allow this behavior would be ideal.

(Sorry for the long, rambling email)

Tim.

-----Original Message-----
From: Daniel C. Sobral [mailto:daniel.sobral@tcoip.com.br]
Sent: Friday, July 27, 2001 4:09 AM
To: zebra@zebra.org; net@freebsd.org
Subject: [zebra 9666] Re: Linux/Ethernet interface status? Linux & BSD


Bulger, Tim wrote:

> Well, the verdict is in... FreeBSD does know the interface status (per
> ifconfig), but neither the kernel nor zebra reacts to the cable being
> pulled.  This seems basically broken from a kernel perspective.  It
doesn't
> make sense to retain connected and/or static routes in the routing table
for
> an interface that is down.  If you have two static routes for the same
> network with different metrics as a simple failover scheme, it will not
work
> on these systems because the route with the lower metric is never removed
> from the table.......  Perhaps this is OK from a workstation perspective,
> but this is not suitable for a router.  I will be investigating ways to
work
> around this problem without compromising sanity.

The kernel _should not_ react in any such way. In first place, an "no 
route to host" error is a very different one from lost packets, so the 
kernel must not presume any knowledge of what you want. Second, if it 
deletes the static routes it will not know what these are when the 
interface conectivity is restored.

A routing demon, such as Zebra, would be in a proper place to take 
decisions like this.

This would be an ideal application for kqueue. Is there any kqueue 
events for interface status?

-- 
Daniel C. Sobral                   (8-DCS)
Daniel.Sobral@tcoip.com.br
dcs@newsguy.com
dcs@freebsd.org
capo@notorious.bsdconspiracy.net

Maybe Computer Science should be in the College of Theology.
		-- R. S. Barton

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FDEDA1BCEEBFD4118FFB00508BB1940B03419296>