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 _______________________________________________ Babel-users mailing list Babel-users@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/babel-users