Welcome to this Deep Dive on Network Analysis with Batfish.
Batfish is an open-source network analysis tool taking the network automation world by storm! With Batfish not only can you perform configuration analysis across multi-vendor environments, but you can also perform analysis that has never been possible before, such as performing impact analysis by virtually disabling links and nodes to analyze the effect on traffic.
In this guide, we will provide you with everything you need to follow along and get hands-on with the examples provided.
Topics
- The What and the Why (Free)
- What is Batfish?
- Batfish Use Cases and Features
- Fundamentals (Members Only)
- Installation
- Snapshots
- Snapshot Validation
- Sessions
- Questions
- Configuration Analysis (Members Only)
- Validating IP Owners
- Validating Interface Properties
- Validating BGP Configuration
- Control Plane Analysis (Members Only)
- Validating a BGP Control Plane
- Validating an OSPF Control Plane
- Routing Analysis (Members Only)
- Validating Loopback Advertisments via OSPF
- Forwarding Analysis (Members Only)
- Reachability Analysis
- Layer 3 Edges
- Layer 1 Topology
- Layer 1 Edges
- Reachability Analysis with Layer 1 Edges
- Layer 2 Forwarding/Analysis Behaviour
- ACL Analysis (Members Only)
- Test Filters
- Search Filters
- Test Filter Lins
- Filter Line Reachability
- Ansible (Coming Soon)
- Advanced (Coming Soon)
- Integration with CI (Coming Soon)
Batfish - The What and the Why
This post is part of the Batfish Guide [https://packetflow.co.uk/batfish-guide].What is Batfish?Batfish is an open-source multi-vendor network analysis tool that allows you tovalidate configuration data, query control plane state, verify ACL rule sets,analyze routing/flow paths, as well as simul…

Batfish - Fundamentals
This post is part of the Batfish Guide [https://packetflow.co.uk/batfish-guide].What is Batfish?Batfish is an open-source multi-vendor network analysis tool. It allows you to validate configuration data, query control plane state, verifyACL rule sets, analyze routing/flow paths, as well as simul…
Batfish - Configuration Analysis
This post is part of the Batfish Deep Dive[/network-analysis-with-batfish-deep-dive].First of all, let’s dive into usingBatfish by performing some configuration analysis. For the scope of this sectionwe will validate the following: * No duplicate IP addresses are configured. * Jumbo frames are…
Batfish - Control Plane Analysis
This post is part of the Batfish Guide [https://packetflow.co.uk/batfish-guide].This is where Batfish really starts to come into its own. Using Batfish we cannot only analyze the configuration settings of the network, but we can alsoanalyze the behaviour of control plane protocols such as BGP or …

Batfish - Routing Table Analysis
This post is part of the Batfish Guide [https://packetflow.co.uk/batfish-guide].Let’s now turn our attention to routing table analysis via the bfq.routes() question. This question allows you to view every single route within yournetwork topology. As shown below: >>> bfq.routes().answer().frame()…

Batfish - Forwarding Analysis
This post is part of the Batfish Guide [https://packetflow.co.uk/batfish-guide].Batfish provides the ability to perform forwarding analysis by verifying andtracing the path of flows across your network topology. Traditionally we haveused ping or traceroute to achieve this, which involved sending …

Batfish - ACL Analysis
This post is part of the Batfish Guide [https://packetflow.co.uk/batfish-guide].Within this section we will look at the various questions and options availablefor performing ACL analysis. Example TopologyFor this section, the snapshot we will be using is based on a topology in whichACLs are app…