About the Project

In the early 1990s, I managed to persuade the powers that be within Cisco’s European training organization that they needed a deep-dive BGP course, resulting in a three-day (later extended to five days) Advanced BGP Configuration and Troubleshooting (ABCT) course3. I was delivering that course for close to a decade, allowing me to gradually build a decent story explaining the reasoning and use cases behind most of (then available) BGP features, from simple EBGP sessions to BGP route reflectors and communities2.

Now imagine having more than a dozen hands-on labs following the “BGP from rookie to hero” story available for any platform of your choice4. Welcome to the Open-Source BGP Configuration Labs project.

The project uses netlab5 to set up the labs and FRRouting containers or a few other devices as external BGP routers. You can use whatever networking devices you wish to work on1, and if they happen to be supported by netlab, you’ll get lab topology and basic device configuration for each lab set up in seconds6. Most lab exercises include device configurations for the external BGP routers for people who love wasting time with GUI.

You’ll find the lab topology files and initial device configurations in a GitHub repository, but you might explore the lab exercises first.

I also created a long list of labs that would be nice to have. I probably missed something important – please open an issue or a discussion, or (even better) become a contributor and submit a PR.

  1. Including physical hardware if you have a few extra Cumulus switches and are willing to do some crazy stuff to set things up. 

  2. The echoes of those ideas are still visible (if you know where to look) in the Configuring BGP on Cisco Routers course – ABCT eventually morphed into CBCR and became part of the original CCIP curriculum in the early 2000s, but that’s another story. 

  3. If you happen to have the original ABCT course description, please send it over. I tried to find it in Web Archive, but it’s been way too long… 

  4. As long as it’s supported by netlab

  5. When you happen to have a Hammer of Thor handy, everything looks like a nail waiting to be hit ;) 

  6. Unless you love using resource hogs like Nexus OS, IOS XR, or some Junos variants.