[Babel-users] link costs
Harald Geyer
harald at lefant.net
Wed Jan 7 03:01:54 UTC 2009
> > a) There are many cases where the automatic detection if an interface is
> > wireless fails. [...] having some way to do this on an per interface
> > basis would be nice.
>
> Yes, although if Babel is mis-detecting, then you're probably doing
> something wrong, such as running Babel over tunnels over wireless (which
> breaks ETX computation).
Yes, tunnel over wireless are broken - and I don't care what babel is
doing in this case (though setting some high link cost would be nice).
But there are other issues - mostly related with bridge setups:
For example at funkfeuer we have devices that connect to some other
router via cable, but forward all incoming traffic via a wireless
interface - thus acting as a second antenna for the router.
But babel thinks it is an wired link because it actually *is* a wired
interface - just using some strange bridge setup. We have this mostly
because olsr is pretty dumb concerning wired links, so we try to
save some hops.
I have solved this special problem by configuring the device as a
brouter (bridging olsr related traffic, routing babel related traffic)
and installing babel on this device too. But the general issue remains.
> > b) Currently the default costs 96 for wired links and 256 for ETX=1 links
> > are hardcoded into the program. In practice I want to set these costs on
> > a per interface basis too:
>
> Yes, although as you justly note, in most cases you can get away with route
> filtering.
>
> But I fully agree with you that we need some facilities for per-interface
> configuration. The issue is designing a suitable user interface; I think
> I've been pretty good at keeping the babel.conf syntax simple and regular,
> and I'd like to keep it this way.
I agree the current syntax is very nice.
> I'm currently thinking of something like
>
> interface eth* wireless no cost 128
Would this make babel listen on all interfaces eth*, that it can find
or would babel only listen on those interfaces given on the command
line.
In the latter case it might be a cause of user errors that the
interface configuration is split in two parts, one on the command line,
the other one in the config file...
> The keyword ``interface'' is followed with a shell regexp, which specifies
> which interfaces this clause applies to. The rest is a sequence of
> keyword/value pairs.
>
> What are the per-interface properties we need? I'm thinking of
>
> wireless
> cost
> hello-interval
> idle-time
> idle-hello-interval
>
> Anything else?
This seems to be fine. I think it is rather unlikely that anybody will
optimize the idle-hello-interval on a per interface basis, but who
knows ...
Harald
More information about the Babel-users
mailing list