parallelize Python programs using deco

During my first struggles with threading and multiprocessing, a colleague told me about deco. This package enables you to parallelize a simple function in a very easy way, making it run significantly faster. The package author Alex Sherman puts it like this: [Read More]

SaltStack pillar data and map files.

Right when I was starting out with SaltStack, I learned about the pillar. The pillar is an interface designed to offer values that the master distributes to (proxy) minions. Many of the examples floating around aim to show you how to use this pillar interface. This is mostly done by... [Read More]

Arista configure session

To configure an Arista, you can jump in configuration mode and start firing off your configuration commands one after the other and have the changes take effect immediately. Quite a few people that I have spoken with, people that have been working with Arista’s for several years, took this approach... [Read More]


Up until this point in my career, most of my scripting efforts involved PyEZ, Paramiko and Netmiko. But after having to work with multiple vendors inside SaltStack, I started looking into NAPALM. This post is a short summary of what I have learned so far about NAPALM in general. [Read More]

6VPE between Juniper MX and Cisco IOS XR

In this post, we will enable an existing MPLS L3VPN for IPv6 using 6VPE. We will extend the cust-1 VPN in the topology we used during my last post, MPLS L3VPN between Juniper MX and Cisco IOS XR, and enable 6VPE across Cisco IOS XR and MX routers to connect... [Read More]

Exploring the Arista eAPI using pyeapi.

The Arista EOS command API, or eAPI, has been maturing ever since EOS 4.12. Recently, I started to look into ways to use this API for information retrieval. In this article, I am sharing what I learned exploring the eAPI using a library called pyeapi. [Read More]

Templating for network engineers in SaltStack.

Templating in SaltStack is an absolute joy. It makes the generation of text-based configurations for networking devices very easy. This write up is to give you some tips and insights that I could have used when I started templating myself. After walking you through an easy way to render templates... [Read More]

Getting your facts straight.

The Salt grains interface is a very powerful tool. The interface presents Salt with grains of information about the system that is being managed. One of the things you can use grains for is to make your templating more effective. As a network engineer, I mostly work with proxy-minions. And... [Read More]

Troubleshooting packet loss with firewall filters

Packet loss can be caused by all sorts of reasons. Could be faulty hardware, a software issue on a device, a congested link or some policers and shapers that are working against you. In order to fix packet loss in a network, you first have pinpoint where the packets are... [Read More]
Tags: juniper

Introducing packet loss with RED

Recently, a customer had several issues going on at the same time. The customer had an MPLS L3VPN with a default route towards a central firewall in the datacenter. Behind this firewall, there was some rackspace and a cloud environment. A lot of components were involved and after solving the... [Read More]
Tags: juniper

Q-in-Q on EX, QFX or VCF

Configuring Q-in-Q, or dot1q tunneling can lead to some confusion. I’ve seen confusion due to changes in the new enhanced Layer 2 CLI configuration and because of a mismatch in Ethertype. This is a short article on how QinQ can be configured on an EX, QFX or VCF. I’ll configure... [Read More]
Tags: juniper

Huawei basic layer 3 MPLS VPN

Normally, I use Huawei for all sorts of CPE stuff. But this time, instead of connecting a Huawei CPE to an MPLS VPN, I thought I’d use Huawei to create the Layer 3 MPLS VPN itself. Using eNSP, the free and open Enterprise Simulation Platform, I created the following scenario:... [Read More]
Tags: huawei

Policy based LSP mapping with Junos OS

LSPs can be configured with a whole variety of characteristics. You can police traffic that is send onto an LSP, steer the LSP through certain location in the network and much more. When you create several LSPs towards the same destination router, prefixes using that router as a next-hop are... [Read More]
Tags: juniper

Basic BGP import filtering example on Junos OS

What your BGP peers decide to advertise is out of your control. What you accept is not. This is a short article on basic route-filtering using Junos. The focus here is on a BGP import policy for public peering. Let’s start of by rejecting all routes: [Read More]
Tags: juniper