Practical Automation - mod_acl

By Brandon James on 2019-12-31 Tags: Route/Switch, Automation, Programming

Managing access lists is one of the more painful parts of being a network engineer. Once you've finishing working out what should or should not be allowed, you write the ACL and then paste it into all your devices. The minute you finish, the requirements change or the business lets you know what you just broke. In the future, SGTs and SDN promise to fix this problem, but you might not be there yet. `mod_acl` is a simple and fast way to manage ACLs.

Bootstrap Router Hash Function

By Brandon James on 2019-12-06 Tags: Route/Switch, Programming

RFC 7761 describes a hash function used to load balance multicast groups between Rendezvous Point (RP) candidates when you are using Bootstrap Router (BSR). The hash function isn't straight forward and I was unable to find a resource that described it in detail. One feature of the hash function is an adjustable hash mask length. I think it's important to understand what the function does and how adjusting the mask impacts RP selection. I do my best to describe it here and provide some resources to help you select the best hash mask length for your environment.

Practical Automation - Netwatch

By Brandon James on 2019-09-12 Tags: Automation, Programming

Small data gathering utilities are one of my favorite forms of automation. They provide immediate value and have no risk of failure. Netwatch runs a set of commands periodically against a group of network devices. It features concurrency, error handling and just the right amount of customization. Netwatch was inspired by a post on Reddit and the *nix utility watch.

How I Automate - Concurrency

By Brandon James on 2019-08-01 Tags: Automation, Programming

Interacting with Network Devices can often be I/O limited. A function runs, waits for a response from the device, then another function runs so on and so forth. This is made worse by the fact that scripts are often run against multiple devices. After all the purpose of scripting is to speed up repetitive tasks.

Bitwise Operations and Subnetting

By Brandon James on 2019-07-29 Tags: Route/Switch, Programming

Back in September of 2016 I wrote a subnet calculator in C and then blogged about it. This entry is based on that old blog post.