Closed jlu5 closed 1 year ago
The edges in graph were deduplicated using (src, dst) pair. When multiple edges (routes) with the same path exist, the later occurrence will overwrite the label of the previous occurrence.
Fixed by refactoring graphing code to deduplicate based on (src, dst, label).
I tried the latest commit on my Bird instance and it seems to have made the rendering worse :(
Can you check if your whois server is working? Looks like whois lookup failed, and the name of every intermediate ASN is replaced with an empty string.
I added a test case based on your bird output for this query, and verified that the BGP routes are parsed correctly.
My current guess is that something went wrong in your ASN whois lookup process, and the name for every node was resolved into an empty string. In the latest commit, I refactored the graphing code to use plain ASNs as internal node identifiers, instead of whois results. If my theory is correct, you will get the correct graph topology, but with empty names for all the nodes.
(I also changed the behavior of handling multiple edges between same src/dst pair. Now the labels for these edges will be combined, and the result graph should be less cluttered.)
Hmm, with latest master the graph renders, but I'm not sure why the whois info is broken. I haven't changed any settings, and that part loads fine with the v1.2.0 release binary.
I use:
BIRDLG_WHOIS=172.22.0.43
For edge display, it probably makes more sense to hide the interface info for nodes after the immediate next hop?
Try the latest commit, the whois lookup bug is caused by a mistake during the initial refactoring.
Yep, it works nicely now. Thanks for the quick follow ups!
I noticed this when updating to v1.2.0.
Example: https://lg.highdef.network/route_all/las/172.20.0.53 shows
such that the preferred route comes from
ibgp_sjc2
But bgpmap on the same query incorrectly shows that the preferred route comes from
ibgp_ymq