[Babel-users] Aggregating and visualising data from multiple Babel routers

Gabriel Kerneis gabriel at kerneis.info
Fri Jul 4 09:00:11 UTC 2014


On Fri, Jul 04, 2014 at 03:51:32PM +0900, Baptiste Jonglez wrote:
> In any case, you're perfectly right, it is not possible to map neighbours
> to their router-id in the general case.  Maybe we should have a new TLV or
> sub-TLV for advertising router-id between neighbours ;)

I suggested such a patch to Juliusz. You can try and persuade him, but
I doubt he will change his mind on that point (the argument being that
it is an important distinction that earlier versions of babel did not
do, if I remember correctly, and he does not want to re-introduce this
confusion even for debugging purposes).

> In practice, this works most of the time, since most routers redistribute
> a route to themselves.

Agreed.

> > So my approach would be to collect all router-ids, and build edges between
> > every couple of router-ids, based on routes, keeping only the lowest metric
> > for each couple (distinguishing between routes with a refmetric of 0 and
> > others).
> 
> I'm not sure to understand: wouldn't that build a complete graph?  My goal
> is to build a graph whose edges represent neighbouring relations between
> routers; is that what you have in mind?  But maybe I misunderstood your
> explanation.

That was the fuzzy part in my head. I imagined so mechanism to prune
multi-hop routes when we can decompose them (kind of the inverse of
taking the transitive closure), based on some magical heuristic taking
metric into account. Probably just a fantasy, your approach seems more
likely to actually work :-)

> The method for building edges, using the view of a router A, is the
> following:
> 
> 1/ for each neighbour B, build an edge A -> B (guessing the router-id of B
>    as discussed above)
> 
> 2/ for each route R = (next-hop, interface, router-id), compute the
>    neighbour N associated to (next-hop, interface), and build a tentative
>    edge "N -> router-id" (again, N is a guessed router-id)

OK, that's indeed what babelweb does too (if I remember correctly).

Best,
-- 
Gabriel



More information about the Babel-users mailing list