mirror of
https://github.com/sileht/bird-lg.git
synced 2024-12-22 04:24:42 +01:00
eaf531eee2
Due to the change in the output of `show route for <prefix> all` since bird-2.0, this patch is necessary to correctly parse aspaths. Without this patch, `build_as_tree_from_raw_bird_ouput()` fails with the following exception if the backend is bird-2.0. ``` Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1836, in __call__ return self.wsgi_app(environ, start_response) File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1820, in wsgi_app response = self.make_response(self.handle_exception(e)) File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1403, in handle_exception reraise(exc_type, exc_value, tb) File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1817, in wsgi_app response = self.full_dispatch_request() File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1477, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1381, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1475, in full_dispatch_request rv = self.dispatch_request() File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1461, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "./lg.py", line 522, in show_bgpmap response = Response(graph.create_png(), mimetype='image/png') File "/usr/lib/python2.7/dist-packages/pydot.py", line 1735, in <lambda> lambda f=frmt, prog=self.prog: self.create(format=f, prog=prog) File "/usr/lib/python2.7/dist-packages/pydot.py", line 1905, in create self.write(tmp_name) File "/usr/lib/python2.7/dist-packages/pydot.py", line 1830, in write data = self.to_string() File "/usr/lib/python2.7/dist-packages/pydot.py", line 1600, in to_string graph.append(node.to_string() + '\n') File "/usr/lib/python2.7/dist-packages/pydot.py", line 865, in to_string node += ' [' + node_attr + ']' TypeError: unsupported operand type(s) for +=: 'NoneType' and 'str' ``` Consequently, `show route for <prefix> (bgpmap)` shows an error icon. |
||
---|---|---|
init | ||
static | ||
templates | ||
.gitignore | ||
bird.py | ||
COPYING | ||
gpl-3.0.txt | ||
lg.cfg | ||
lg.py | ||
lg.wsgi | ||
lgproxy.cfg | ||
lgproxy.py | ||
lgproxy.wsgi | ||
README.mkd | ||
toolbox.py |
BIRD-LG
This is a looking glass for the Internet Routing Daemon "Bird".
Software is split in two parts:
-
lgproxy.py:
It must be installed and started on all bird nodes. It act as a proxy to make traceroute and bird query on the node. Access restriction to this web service can be done in file "lgproxy.cfg" (only IP address based restriction for now).
-
lg.py:
This is the frontend, a web based UI that request informations to all lgproxy.py nodes. The domain and the list of all bird nodes can be done.
***************
+--> * lgproxy.py *
| ***************
|
******** ******************* | ***************
* USER * ----> * webserver/lg.py *--+--> * lgproxy.py *
******** ******************* | ***************
|
| ***************
+--> * lgproxy.py *
***************
bird-lg depends on :
- python-flask >= 0.8
- python-dnspython
- python-pydot
- python-memcache
- graphviz
- whois
- traceroute
Each services can be embedded in any webserver by following regular python-flask configuration.
Source code is under GPL 3.0, powered by Flask, jQuery and Bootstrap.
Copyright © 2012 Mehdi Abaakouk sileht@sileht.net
Happy users
- https://lg.ovh.net/
- http://lg.beta.as6453.net/
- https://lg.hamburg.freifunk.net/start
- http://lg.ring.nlnog.net/
- https://lg.tetaneutral.net/
- https://lg.gitoyen.net/
- http://lg.as5580.net/
- https://lg.ldn-fai.net/
- http://lg.arn-fai.net
- https://lg.grenode.net/
- http://lg.dataix.ru/
- https://lg.blix.com/
- https://lg.man-da.de/
- http://route-server.belwue.net/
- https://lg.exn.uk/
- http://lg.meerfarbig.net/
- http://lg.netnation.com/
- http://lg.edxnetwork.eu/
- https://lg.hivane.net/
- https://atw.hu/looking-glass
- http://lg.sibir-ix.ru/
- http://lg.interlan.ro/
- http://lg.as35266.net/
- https://lg.atw.co.hu/
- http://lg.as60362.net/
- http://lg.stuttgart-ix.de/
- http://www.bet3000.tv/
- https://lg.franceix.net/
- https://lg.fullsave.net/
- http://lg.catnix.net/
- https://lg.worldstream.nl/