Russ

Author Archives: Russ

Light Posting Week—IETF in Berlin

Y’all—I’m in Berlin at the IETF this week, so I won’t be posting as many “long articles” as usual. I will have my usual slate of worth reading/etc. If anyone has questions about the IETF they’d like answered, feel free to comment here… I should be back to some state closer to normal next week, but between Live last week and the IETF this week, I’ve just not had my normal dose of “writing time” to work with.

LinkedInTwitterGoogle+Facebook

The post Light Posting Week—IETF in Berlin appeared first on 'net work.

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 as we ask the code questions about how BGP actually works.

Now, let’s start with a simple question: how does BGP bring a new peer up?

It seems like we should be able to look for some file that’s named something with peering in it, but, looking at the files in the project, there doesn’t seem to be any such thing (click to show a larger version of the image below if you can’t read it).

ls-go-bgp

Hmmm… Given it’s not obvious where to start, what do we do? There are a number of options, of course, but three options stand out as the easiest.

First, you can just poke around the code for a bit to see if you find anything that looks like it might be what you’re looking for. This is not, generally, for the faint of heart. Over time, as you become Continue reading

Cisco Live: Midweek Impressions

I’m at Cisco Live this week in Las Vegas; forthwith, some observations, thoughts, and… a long rant.

First, if you’re here, look me up. I normally hang out around the Certification and/or Social areas when I’m not in meetings/etc. I’m pretty easy to find, so drop by and say hi. It’s been like old home week for me—reconnecting with people I’ve not seen in years, catching up and friendships, etc. I can’t tell you how much I appreciate the people I’ve worked with over the years in terms of friendships offered and skills learned. Seriously.

Second, I’m speaking on Thursday afternoon about understanding and managing network complexity. I’m pretty certain the session isn’t full yet, so come by and listen. It’s a 90 minute investment that could change the way you think about network design and operation. Seriously.

Third, The content seems to be deep and interesting this year, as always. This brings me to my first contrary point, though—this industry needs a show that compares with Live in depth of technical material, but isn’t tied to a particular vendor. Are you listening, Interop? I know, it’s hard to talk deep technology in the modern networking world—which leads me to Continue reading

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 lot of different things, from writing things in XML, HTML, CSS, Python Javascript, C, and just about anything else. This is an open source project hosted on the Notepad++ web site with the code hosted at github.
  • Atom is a more GUI oriented “programmer’s editor.” This is a more full featured editor, going beyond basic syntax highlighting into projects, plugins that pull diffs in side by side windows, and the like. I don’t really have a build environment set up right now, so I don’t know how it would interact with compiled code, but I assume it would probably have a lot of the tricks I’m used to, like being able to trace calls through the code, etc. Atom is available here.

I haven’t actually chosen one or the other—I tend to use both pretty interchangeably, so you’re likely to see screen shots from Continue reading

DC Fabric Segment Routing Use Case (1)

A couple of weeks ago, I attended a special segment routing Networking Field Day. This set me to thinking about how I would actually use segment routing in a live data center. As always, I’m not so concerned about the configuration aspects, but rather with what bits and pieces I would (or could) put together to make something useful out of these particular 0’s and 1’s. The fabric below will be used as our example; we’ll work through this in some detail (which is why there is a “first part” marker in the title).

benes-segment

This is a Benes fabric, a larger variation of which which you might find in any number of large scale data center. In this network, there are many paths between A and E; three of them are marked out with red lines to give you the idea. Normally, the specific path taken by any given flow would be selected on a somewhat random basis, using a hash across various packet headers. What if I wanted to pin a particular flow, or set of flows, to the path outlined in green?

Let’s ask a different question first—why would I want to do such a thing? There are Continue reading