Correct AS path prepend count in bgpmap

(Sileht pull request #53)
https://github.com/sileht/bird-lg/pull/53/files
This commit is contained in:
Simon Marsh 2019-06-22 22:52:38 +01:00
parent 6e828ffbe1
commit 08c1d47e64
Signed by: burble
GPG Key ID: 7B9FE8780CFB6593

12
lg.py
View File

@ -534,7 +534,13 @@ def show_bgpmap():
hop_label = ""
for _as in asmap:
if _as == previous_as:
prepend_as[_as] = prepend_as.get(_as, 1) + 1
if not prepend_as.get(_as, None):
prepend_as[_as] = {}
if not prepend_as[_as].get(host, None):
prepend_as[_as][host] = {}
if not prepend_as[_as][host].get(asmap[0], None):
prepend_as[_as][host][asmap[0]] = 1
prepend_as[_as][host][asmap[0]] += 1
continue
if not hop:
@ -573,7 +579,9 @@ def show_bgpmap():
node.set_shape("box")
for _as in prepend_as:
graph.add_edge(pydot.Edge(*(_as, _as), label=" %dx" % prepend_as[_as], color="grey", fontcolor="grey"))
for n in set([ n for h, d in prepend_as[_as].iteritems() for p, n in d.iteritems() ]):
graph.add_edge(pydot.Edge(*(_as, _as), label=" %dx" % n, color="grey", fontcolor="grey"))
fmt = request.args.get('fmt', 'png')
#response = Response("<pre>" + graph.create_dot() + "</pre>")