Jump to: navigation, search

Difference between revisions of "Neutron/DynamicRouting/BGPSpeakersComparison"

(Add table row showing 32bit ASN support)
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Comparison of BGP speakers for [https://blueprints.launchpad.net/neutron/+spec/bgp-dynamic-routing bgp-dynamic-routing]
+
Comparison of BGP speakers for [https://blueprints.launchpad.net/neutron/+spec/bgp-dynamic-routing bgp-dynamic-routing].
 +
Another potential user is [https://blueprints.launchpad.net/neutron/+spec/neutron-bgp-vpn bgp-vpn].
  
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
Line 6: Line 7:
 
| [http://www.nongnu.org/quagga/docs/docs-info.html#BGP Quagga]
 
| [http://www.nongnu.org/quagga/docs/docs-info.html#BGP Quagga]
 
| [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]
| [http://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 22:
 
| C
 
| C
 
| Python
 
| Python
 +
| Python
 +
|-
 +
| IPv4 advertisement
 +
| yes
 +
| yes
 +
| yes
 +
| yes
 +
| no (easily added)
 
|-
 
|-
| IPv4
+
| IPv6 advertisement
 
| yes
 
| yes
 
| yes
 
| yes
 
| yes
 
| yes
 
| yes
 
| yes
 +
| no (easily added)
 
|-
 
|-
| IPv6
+
| VPNv4 advertisement
| no (planned by 2014-06)
 
 
| yes
 
| yes
 +
|
 +
|
 +
|
 
| yes
 
| yes
 +
|-
 +
| VPNv6 advertisement
 
| yes
 
| yes
 +
|
 +
|
 +
|
 +
| not yet
 
|-
 
|-
| IPv6 BGP peering
+
| 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 49: 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