snaproute Go BGP Code Dive (6): Starting a Peer

1 August 2016 | Comments Off on snaproute Go BGP Code Dive (6): Starting a Peer

In our last post on BGP code, we unraveled the call chain snaproute’s Go BGP implementation uses to bring a peer up. Let’s look at this call chain a bit more to see if we can figure out what it actually does—or rather, how it actually works. I’m going to skip the actual beginning of…

snaproute Go BGP Code Dive (5): Starting a Peer

25 July 2016 | Comments Off on snaproute Go BGP Code Dive (5): Starting a Peer

Last time we looked at the snaproute BGP code, we discovered the peer bringup process is a finite state machine. With this in mind, let’s try to unravel the state machine into a set of calls, beginning from our original starting point, a debug message that prints on the screen when a new peering relationship…

snaproute Go BGP Code Dive (4): Starting a Peer

18 July 2016 | Comments Off on snaproute Go BGP Code Dive (4): Starting a Peer

In the last three episodes of this series, we discussed getting a copy of SnapRoute’s BGP code using Git, we looked at the basic structure of the project, and then we did some general housekeeping. At this point, I’m going to assume you have the tools you need installed, and you’re ready to follow along…

snaproute Go BGP Code Dive (3)

12 July 2016 | Comments Off on snaproute Go BGP Code Dive (3)

This week, I want to do a little more housekeeping before we get into actually asking questions of the bgp code. First there is the little matter of an editor. I use two different editors most of the time, Notepad++ and Atom. Notepad++ is a lightweight, general purpose text editor that I use for a…

snaproute Go BGP Code Dive (2)

5 July 2016 | Comments Off on snaproute Go BGP Code Dive (2)

Now that you have a copy of BGP in Go on your machine—it’s tempting to jump right in to asking the code questions, but it’s important to get a sense of how things are structured. In essence, you need to build a mental map of how the functionality of the protocol you already know is…

snaproute Go BGP Code Dive (1)

27 June 2016 | 2 Comments

I often tell network engineers they need to learn to codeā€”and they sometimes take my advice and run off to buy a book, or start an online program (which reminds me, I’m way, way behind in my own studies about right now). But learning to code, and being able to use that skill for anything…