Difference between revisions of "Neutron/DynamicRouting/BGPSpeakersComparison"
< Neutron | DynamicRouting
(Add table row showing 32bit ASN support) |
|||
(10 intermediate revisions by 3 users not shown) | |||
Line 8: | Line 8: | ||
| [http://bird.network.cz/?get_doc&f=bird-6.html#ss6.2 BIRD] | | [http://bird.network.cz/?get_doc&f=bird-6.html#ss6.2 BIRD] | ||
| [https://github.com/Exa-Networks/exabgp ExaBgp] | | [https://github.com/Exa-Networks/exabgp ExaBgp] | ||
+ | | [https://github.com/Orange-OpenSource/bagpipe-bgp BaGPipe] | ||
|- | |- | ||
| Protocol version | | Protocol version | ||
+ | | BGP-4 | ||
| BGP-4 | | BGP-4 | ||
| BGP-4 | | BGP-4 | ||
Line 19: | Line 21: | ||
| C | | C | ||
| C | | C | ||
+ | | Python | ||
| Python | | Python | ||
|- | |- | ||
Line 26: | Line 29: | ||
| yes | | yes | ||
| yes | | yes | ||
+ | | no (easily added) | ||
|- | |- | ||
| IPv6 advertisement | | IPv6 advertisement | ||
− | |||
| yes | | yes | ||
| yes | | yes | ||
| yes | | yes | ||
+ | | yes | ||
+ | | no (easily added) | ||
|- | |- | ||
| VPNv4 advertisement | | VPNv4 advertisement | ||
Line 38: | Line 43: | ||
| | | | ||
| | | | ||
+ | | yes | ||
|- | |- | ||
| VPNv6 advertisement | | VPNv6 advertisement | ||
Line 44: | Line 50: | ||
| | | | ||
| | | | ||
+ | | not yet | ||
|- | |- | ||
− | | | + | | RTC support ([http://tools.ietf.org/html/rfc4684 RFC4684]) |
+ | | yes | ||
+ | | ? | ||
| ? | | ? | ||
| ? | | ? | ||
+ | | yes | ||
+ | |- | ||
+ | | IPv6 BGP peering | ||
+ | | yes | ||
+ | | yes | ||
| ? | | ? | ||
| yes | | yes | ||
+ | | could inherit from ExaBGP | ||
+ | |- | ||
+ | | 32bit ASNs ([https://tools.ietf.org/html/rfc6793 RFC6793]) | ||
+ | | no | ||
+ | | ? | ||
+ | | yes | ||
+ | | yes | ||
+ | | ? | ||
|- | |- | ||
| Standalone mode (run as a standalone process) | | Standalone mode (run as a standalone process) | ||
+ | | yes | ||
| yes | | yes | ||
| yes | | yes | ||
Line 62: | Line 85: | ||
| | | | ||
| stdin/out from subprocess | | stdin/out from subprocess | ||
+ | | JSON RPC over HTTP | ||
|- | |- | ||
| Library mode (run in an agent process) | | Library mode (run in an agent process) | ||
− | | yes | + | | yes ([http://ryu.readthedocs.org/en/latest/library_bgp_speaker.html example] [http://ryu.readthedocs.org/en/latest/library_bgp_speaker_ref.html reference]) |
| | | | ||
| | | | ||
+ | | yes | ||
| yes | | yes | ||
|- | |- |
Latest revision as of 15:22, 21 April 2016
Comparison of BGP speakers for bgp-dynamic-routing. Another potential user is bgp-vpn.
Ryu BGP | Quagga | BIRD | ExaBgp | BaGPipe | |
Protocol version | BGP-4 | BGP-4 | BGP-4 | BGP-4 | BGP-4 |
Implementation Language | Python | C | C | Python | Python |
IPv4 advertisement | yes | yes | yes | yes | no (easily added) |
IPv6 advertisement | yes | yes | yes | yes | no (easily added) |
VPNv4 advertisement | yes | yes | |||
VPNv6 advertisement | yes | not yet | |||
RTC support (RFC4684) | yes | ? | ? | ? | yes |
IPv6 BGP peering | yes | yes | ? | yes | could inherit from ExaBGP |
32bit ASNs (RFC6793) | no | ? | yes | yes | ? |
Standalone mode (run as a standalone process) | yes | yes | yes | yes | yes |
Controlling API for Standalone mode | JSON RPC over WebSocket | stdin/out from subprocess | JSON RPC over HTTP | ||
Library mode (run in an agent process) | yes (example reference) | yes | yes |