Le 2014-07-03 16:11, Baptiste Jonglez a écrit :
I just wrote a proof-of-concept in Python, to get a feeling on how this
can be done.  A first version of the code is available here:

  http://ze.polyno.me/babel/babelcli.py

Nice.

Caveat: I didnt read the code, and may have not fully understood your explanations. But it looks like you are taking the opposite view to what I had in mind.

For me, only routes are "reliable", because they are the only thing which give you accurate information about paths between nodes (thanks to router-ids). Neighbours, on the other hand, are identified by their interfaces, and there is no explicit relationship between a neighbour and a router-id (but you can try to guess it using routes with a null reference metric). You could even imagine a neighbour relaying packets but announcing no route at all (hence "hidden", without any way to infer its router-id).

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). Then, you can enrich information based on neighbours if you manage to link them to a router-id. Yes indeed, some of the "edges" that you get in fact contain more hops that you don't know about, and showing them with a different style as you do is probably a good idea.

This is still a bit confused in my head, I hope it makes sense (it certainly helped to write it down). Please, prove me wrong or ask more questions. It would also helped if you described (your understanding of) "the same method as babelweb".

- we currently rebuild the whole graph at each update: it's possible to be
  way more efficient

And way more buggy. I tried, trust me, you don't want to go down that route except if you monitor thousands of nodes and need sub-second latency for your graph updates. (Or maybe I'm just not a good enough programmer. But remember Knuth.)

Best,
--
Gabriel

_______________________________________________
Babel-users mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/babel-users

Reply via email to