exabgp
rustybgp
exabgp | rustybgp | |
---|---|---|
7 | 2 | |
2,025 | 464 | |
0.3% | 0.9% | |
8.1 | 4.5 | |
20 days ago | 3 months ago | |
Python | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
exabgp
-
How to analyze a package/library?
I'm curious how ExaBGP works. In particular:
-
Java Library for BGP Peering?
I don’t know of a specific Java implementation but https://github.com/Exa-Networks/exabgp might fit in ok. Use exa to talk bgp but write java applets to “do things” with what exa hands you.
-
BGP Implemented in Go
> not to be tenable in Python
https://github.com/Exa-Networks/exabgp is written in python
- Has anyone worked with exabgp? Have question regarding return path traffic
-
More details about the October 4 outage
"Those translation queries are answered by our authoritative name servers that occupy well known IP addresses themselves, which in turn are advertised to the rest of the internet via another protocol called the border gateway protocol (BGP)."
"To ensure reliable operation, our DNS servers disable those BGP advertisements if they themselves can not speak to our data centers, since this is an indication of an unhealthy network connection."
Correct me if I am wrong, but here "DNS servers" means the computers, not the software running on them, i.e., each computer is running both DNS server software and a BGP daemon.
For example, with a BGP daemon like ExaBGP the output of a DNS query can be checked and routes could be removed if the query fails.
https://github.com/Exa-Networks/exabgp
-
Tools to Explore BGP
13 years ago I wrote a nice reference implementation for BGP "client" use - I just treated it as an API onto Cisco routers: https://github.com/BytemarkHosting/bgpfeeder is 1300 lines of Ruby, one file, no dependencies, and quite verbose.
At the time I was running a hosting company & wanted to feed updates to our IP lists from a web-based database into our routers (e.g. a customer wants a new IP to their servers, or moves their VPS images between physical hosts). But I couldn't understand how to get tight control of quagga, or the Ciscos and wondered how how to speak it directly?
It took about a week poring over the RFCs and the Net::BGP Perl module, but I can go back to it now for some useful revision. It brought a lot of disparate BGP knowledge together in one place, and re-expressed it in a language I still know. So if you know Ruby and are curious about BGP it might help you see what you can do with it.
Though if you want to use BGP to control your network devices today, you'd use https://github.com/Exa-Networks/exabgp instead. It can pull every trick you could possibly want with BGP - e.g. DDoS mitigation, anycast, and generally letting you mess with BGP via JSON. There are lots of extensions to BGP, and I only cared about the ones to send v4 & v6 routes around. Also I only wanted to write it all in one file :)
- lab env getting the full route table.
rustybgp
-
Announcing Holo: a routing protocol suite written in Rust!
Have you seen RustyBGP: https://github.com/osrg/rustybgp
-
BGP Implemented in Go
The author of GoBGP also has an implementation in Rust: https://github.com/osrg/rustybgp.
What are some alternatives?
gobgp - BGP implemented in the Go Programming Language
bgpsimple - simple BGP peering and route injection script
bgp - A modern BGP server implementation
Ryven - Flow-based visual scripting for Python
holo - Holo is a suite of routing protocols designed to support high-scale and automation-driven networks.
Cloudmare - Cloudflare, Sucuri, Incapsula real IP tracker.
netflix-proxy - Smart DNS proxy to watch Netflix
pydexcom - A simple Python API to interact with Dexcom Share service
CVE-2021-24086 - Proof of concept for CVE-2021-24086, a NULL dereference in tcpip.sys triggered remotely.
scion - SCION Internet Architecture
freeRtr - freeRouter - networking swiss army knife