Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jun 2012 20:38:32 +0200
From:      Ruben de Groot <fbsd-stable@bzerk.org>
To:        sthaug@nethelp.no
Cc:        freebsd-stable@freebsd.org, animelovin@gmail.com, hselasky@c2i.net
Subject:   Re: How to bind a route to a network adapter and not IP
Message-ID:  <20120615183832.GA82739@ei.bzerk.org>
In-Reply-To: <20120615.195452.74691488.sthaug@nethelp.no>
References:  <201206151819.32398.hselasky@c2i.net> <4FDB6AA3.3040606@gmail.com> <20120615.195452.74691488.sthaug@nethelp.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 15, 2012 at 07:54:52PM +0200, sthaug@nethelp.no typed:
> > Perhaps you can ask the very same question in another way so its easier
> > to understand why you losing packets? All in all I always thought TCP/IP 
> > was the basic unit in Internet based networking but feel free to correct 
> > me if you have any news I might have missed... :)
> 
> This is an old and well known problem, with no solution as of today
> (unless you want to run quagga/zebra or similar).
> 
> With Cisco and Juniper (and probably lots of other big name) routers,
> if I create a static route pointing to a next hop on one interface,
> and the interface goes down (e.g. Ethernet cable is unplugged),
> 
> 1. the static route is removed from the routing table.
> 
> But then, when the interface later comes back up
> 
> 2. the static route is reinstalled in the routing table.
> 
> With FreeBSD point 1 above happens, but not point 2.
> 
> I would love to have the functionality where FreeBSD would reinstall
> the route as in point 2 above. I think this is definitely the least
> surprising behavior (POLA), and should happen even without running an
> explicit routing system like quagga.

This can be quite easily programmed with kqueue, use EVFILT_NETDEV for
notices of interface up/down events and adjust the routing table
accordingly. Big chance Cisco and Juniper are doing something similar.

--
Ruben




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