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]
MPLS L3VPN between Juniper MX and Cisco IOS XR
Lately, I have been playing around with a lab that involves Cisco IOS XR and Juniper devices. The main intention I have with it is to be able to quickly test something or to check how I could automate something. [Read More]
Using the Junos proxy minion in SaltStack.
To enable SaltStack to control devices that cannot run standard salt-minion software, we turn to proxy minions. The proxy minion is a process that Salt controls as if it were a minion. In turn, the proxy minion controls a device through the API or through CLI commands. [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]
SaltStack execution modules and the CLI.
In this article, I will first show you three examples on how you can use SaltStack to send a CLI command to a device. As we will see, different proxy minion types have their own function that you can use to send a command to a device. [Read More]
Juniper and JSON
By default, Juniper will return XML in response to your RPC calls. But if you prefer, Juniper can translate the XML into JSON for you. [Read More]
Using Junos PyEZ for information gathering
Most people that start out working with Junos using PyEZ seem to get stuck trying to figure out how to retrieve information. Since I always learn the most from short examples that I can reverse engineer or alter to fit my needs, I aim to provide you with just that.... [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]
For quite some time I have been thinking about writing some articles again. [Read More]
QFX controllerless overlay with all-active Ethernet segments.
An Introduction to Python Exceptions
In control with RSVP
6PE and 6VPE
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]
Junos OS route-reflection considerations
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]