Local vs Directed Broadcasts VMware NSX-V - Replication Modes VMware Standard, Distributed and Logical vSwitches Explained Network-Centric vs Host-Centric Overlay's VMware NSX - The Controller Cluster Nuage Networks - Useful Commands Nuage - VRS VPLS Backhaul Traffic Behaviour A 1000ft View into Nuage VSP (Virtualized Services Platform) Nuage Networks: What is VCS (Virtualized Cloud Services)? The OSPF Adjacency Process How to Configure EIGRP Named Mode Equal and Unequal Cost Traffic Distribution in EIGRP Cisco IOS: First Hop Redundancy Protocols (Part 1) - HSRP Cisco IOS: First Hop Redundancy Protocols (Part 2) - VRRP Cisco IOS: First Hop Redundancy Protocols (Part 3) - GLBP Recommended Interface for Cisco vPC Keep-Alive Link A Beginners Guide to MPLS What is ETSI MANO? What is Oasis TOSCA? NFV: System Optimization (NUMA, CPU Pinning and Huge Pages) What is Segment Routing? NFV and The Native Linux Datapath What is SR-IOV? What is DPDK? What is BFD? How to Build an OpenStack Lab using Kolla-Ansible What is PIM (Protocol Independent Multicast)? Building a Basic Neutron Network via the OpenStack CLI The History of Spine and Leaf Architectures What is a BGP Path Attribute? Cisco IOS - A Look into BGP Peer Groups ETSI Magazine - Issue #1 Just Released A Look into the BGP MED Attribute A Look into BGP's LOCAL_PREF Attribute OCP and its Networking Initatives - OCNP and ONIE NSX vSphere 6.4.1+ Licensing Updates How to Build an OpenStack Lab using RDO Packstack How to Build a Virtualized Nuage SDN Lab (Part 1 - Install VSD) How to Build a Virtualized Nuage SDN Lab (Part 2 - Install VSC) How to Build a Virtualized Nuage SDN Lab (Part 3 - Install VRS) vSAN Network Design - Key Points What is a FlexibleLOM? A Brief Introduction to HPE's Virtual Connect MTU, Jumbo Frames and MSS Explained What is an Autonomous System Number (ASN)? iSCSI - SAN Protocols Explained How to Build a Virtualized NSX-V SDN Lab (Part 1 - vSphere Infra) VMware NSX and Micro-Segmentation Fibre Channel - SAN Protocols Explained How to Build a Virtualized NSX-V SDN Lab (Part 2 - NSX Manager) FCoE - SAN Protocols Explained How to Build a Virtualized NSX-V SDN Lab (Part 3 - Controller Cluster) How to Build a Virtualized NSX-V SDN Lab (Part 4 - VXLAN Dataplane) Routing Protocols Compared - Distance Vector, Path Vector, Link State and Hybrid How do CDNs work with Anycast based DNS servers? What Are the Key Differences Between Cisco IOS and IOS-XE? How to Build a Spine and Leaf Fabric with Ansible Nuage Networks Integration Models: OpenStack vs VSD-Managed How to Build an NXOS-9000v Based EVPN VXLAN Fabric OSPF Area’s Explained TL;DR - What is NSX-T? A Beginners Guide to Mobile Communication Infrastructure FREE OpenSource Networking, SDN/NFV Training Videos Open Infrastructure Days UK 2019 (1st-2nd April) Open Infrastructure Days UK 2019 - Takeaway's Top 3 Recommended Networking Podcasts Python - Creational Design Patterns How to View the Network Namespaces in Kubernetes Kubernetes - Network Policies Python - Inheritance vs Polymorphism Netbox - How to Limit LDAP Authentication to Certain Users Python - Inheritance vs Composition ARP, RARP, Proxy ARP and GARP Explained Python - A Look into Generators Python - Threading vs Multiprocessing A Beginners Guide to Subnetting OpenStack Neutron - Port Security Explained Cisco IOS - BGP Summarization Cisco IOS - How to Configure VRF-Lite Python - What does property() do ? A Hands-on Guide to Network Source of Truth (NSoT) NetDevOps CI/CD with Ansible, Jenkins and Cisco VIRL (Part 1 - What is NetDevOps?) NetDevOps CI/CD with Ansible, Jenkins and Cisco VIRL (Part 2 - Components & Tools) NetDevOps CI/CD with Ansible, Jenkins and Cisco VIRL (Part 3 - Configuration & Walkthrough) Python - What are Static and Class Methods? IT Blog Awards 2019 Finalist Python's Walrus Operator A Hands-on Guide to Multi-Tiered Firewall Changes with Ansible and Batfish (Part 1) A Hands-on Guide to Multi-Tiered Firewall Changes with Ansible and Batfish (Part 2) A Hands-on Guide to Multi-Tiered Firewall Changes with Ansible and Batfish (Part 3) What is Cisco vPC (Virtual Port Channel)? My Top 5 Ansible Tips and Tricks What is NetDevOps? What Is the Difference between QEMU and KVM? Network Automation 101 - The What and the Why? What is Idempotency? Network Automation 101 - Tooling Landscape Network Automation 101 - Hands-on with Python, Jinja and YAML Network Automation 101 - Skills and Technologies A Beginners Guide to Docker and VS Code (Part 1) A Beginners Guide to Docker and VS Code (Part 2) Network Automation 101 My Top 3 Recommended VS Code Extensions Top 5 Up and Coming Network Automation Tools My Top 3 Recommended Docker Tools An Introduction to Batfish Python - Data Classes Virtual Networking Devices - TUN, TAP and VETH Pairs Explained PacketFlow Newsletter #001 - Nov2020 A Hands-on Guide to Multi-Tiered Firewall Changes with Ansible and Batfish Fundamentals Configuration Analysis Control Plane Analysis Routing Table Analysis Forwarding Analysis PacketFlow Newsletter #002 - Dec2020 Style your Python Code like a Pro ACL Analysis The Power of Linting Packetflow Member Updates #000 3 VSCode Shortcuts to Save you Time What is a BGP Route Reflector? OSPF - The DR and BDR Roles PacketFlow Newsletter #003 - Jan2021 How to Security Lint your Code TTP Parsing The Unicorn of Python Libraries What is Netmiko? Hands-on Labs/Environment Connecting to the Device Sending Commands Device Configuration Delay Factor Tuning Multithreading Logging Genie Parsing TextFSM Parsing Compliance Reporting with NAPALM PacketFlow Newsletter #004 - Feb2021 VScode’s Latest Extension - Git Graph Packetflow Member Updates #001 NetDevOps CI/CD with Ansible, Jenkins and Cisco VIRL A Beginners Guide to Docker and VS Code The King of the Network Automation Toolbox PacketFlow Newsletter #005 - March2021 Forgotten to Commit? Here's a Small Trick! Simplify Parsing with Cisco's Genie Dq 🎉 Announcing PacketFlow Nebula Centralized Route Analysis with Batfish PacketFlow Newsletter #006 - April2021 Announcing the New PacketFlow Monthly Meetup Quickly Spot Container Vulnerabilities with Docker Scan How to Build a Custom Parser The Key to Automation Success PacketFlow Newsletter #007 - May2021 An Introduction to pyATS Installing pyATS [Exciting News] PacketFlow Announcement! Genie Parse Genie Learn Network Testing with Cisco pyATS Genie Diff Genie Conf Testbeds Hands-on Environment/Lab Interaction - CLI vs Python Dq Parallel Call Test Cases with Python (AETest and Easypy) Network Analysis with Batfish Network Configuration with Netmiko Network Automation Courses Announcing - Packet Coders! Packet Coders - June Meetup Reduce ACL Clutter with Batfish Packet Coders Newsletter #008 - June2021 Packet Coders Meetup Reminder Diff`ing the Network (difflib) - Part 1 Introduction to Scrapli Basics Transports Scrapli AsyncIO Sending Commands Sending Configuration Scrapli Parsing Support TTP Parsing Genie Parsing Netmiko vs Scrapli Installing Scrapli Hands-on Environment/Lab Scrapli Netconf Network Configuration with Scrapli TextFSM Parsing Scrapli Cfg Nornir Scrapli New Course! - Network Configuration with Scrapli Packet Coders July Meetup Announcing Our New YouTube Channel Packet Coders Newsletter #009 - July2021 Diff`ing the Network (jsondiff) - Part 2 Community Updates - August Packet Coders Newsletter #010 - August2021 Trick! How to Split Pip Requirements Network Observability with Suzieq Introduction to Suzieq Architecture and Components Installing Suzieq CLI Python Library Namespaces, Services and Tables Assertions Time-Based Analysis REST API GUI New Course! - Network Observability with Suzieq Member Updates - August 2021 Webinar Recording - Batfish 101 (Nail Your Network Analysis) Network Analysis with Batfish - 2 Day Bootcamp Member Updates - Sept 2021 Packet Coders Newsletter #011 - Sept2021 Batfish 101 Webinar Replay Member Updates (Sept - Pt2) Batfish Bootcamp - 1 Week to Go Batfish Bootcamp - Registration Closes Today Panda DataFrames - iterrows vs itertuples Member Updates - Oct 2021 Packet Coders Newsletter #012 - Oct2021 What Else? Summary SuzieQ`s Network Config Time-Machine We Need Your Help ... Save Time When Writing Python Classes Packet Coders Newsletter #013 - Nov2021 3 Supercool Pytest Commands Black Friday Offer - 30% Off Annual Membership Network Testing with Pytest Introduction to Pytest Installing Pytest Hands-on Environment Pytest vs Unittest Command-Line Options Creating and Running Your First Test Introduction to Fixtures Yield Fixtures Sharing Fixtures Fixture Scopes CLI Fixture Data Introduction to Parametrization Test Parametrization Fixture Parametrization Customizing Parameter IDs Introduction to Integrations Pytest Plugins Integrating Pytest with Nornir and NAPALM Integrating Pytest with Batfish Integrating Pytest with Suzieq Improve Your Code Quality with AutoFlake TL;DR - Scrapli vs Netmiko Summary Member Updates (#013) ... New Pytest Course, Python OOP Live ... When Modeling Your Management Network /w Batfish, Did You Know ... ? How to Build a Network Automation Stack with Nornir, NAPALM and NetBox Packet Coders Newsletter #015 - Jan2022 3 Tips When Beginning Network Automation Automating Python Code Quality Introduction to Python Code Quality Environment Setup Introduction to Formatters Black isort yamllint Summary GitHub Actions (CI) autoflake Introduction to Linters bandit flake8 pydocstyle Introduction to Type Checking mypy Introduction to Methods of Execution make pre-commit Python Type Checking 101 Batfish Behaviour TL;DR - Impact Analysis and Named References Network Observability with SuzieQ Packet Coders Newsletter #016 - Feb2022 Python's super() Useful Feature What's the Difference? Pytest vs pyATS Packet Coders Newsletter #017 - March2022 Top 3 Features in SuzieQ 0.16.0 Nornir Components Nornir Configuration via Python Network Automation with Nornir Nornir Failures Nornir Processor Events/Methods Adding Nornir Progress Bars /w Rich Summary Task Changes NAPALM Plugin Scrapli Plugin Jinja2 Plugin Introduction to Nornir Processors Print Result Function Print Title Function Introduction to Nornir Plugins Nornir Utils Plugin Netmiko Plugin Introduction to Nornir Functions Result Structure Result Inspection Basic Filtering Create a Task Grouping Tasks Accessing Inventory from Tasks Introduction to Nornir Results Inspecting the Inventory Injecting Credentials Advanced Filtering (F Object) Introduction to Nornir Tasks Running a Task Introduction to the Nornir Inventory Static Inventory Dynamic Inventory (Netbox) Introduction to Nornir Configuration Nornir Configuration via YAML Inspecting the Nornir Configuration Intro to Nornir Installing Nornir Hands-on Environment Running Your 1st Nornir Task Packet Coders Newsletter #018 - April2022 Nornir 101 How to Speed Up Pytest Improve Your Python Code With This Quick Else-if Tip Ansible vs Nornir Grafana and Prometheus 101 Batfish Deep Dive Schema Validation /w Cerberus ContainerLab 101 GitOps 101 pyATS Mock Devices Python Poetry 101 Python OOP (Part1) Python OOP (Part2) RegEx 101 Packet Coders Newsletter #019 - May 2022 Using Code as a Source of Truth Member Updates (#025) - Go Tech Session, PyScript, UI updates + More Network Automation with Go IPFabric 101 Packet Coders Newsletter #020 - June 2022 How to Inject Credentials into Your Python Scripts NAPALM 101 Packet Coders Newsletter #021 - July 2022 Intro to PyScript Intro to REST API's Python Tip - How to Dynamically Assign Attributes Automating ACL's /w Capirca Packet Coders Newsletter #022 - August 2022 How to Use Jinja Custom Filters within Nornir Packet Coders Newsletter #023 - September 2022 CI/CD with GitHub Actions An Introduction to Nornir Inspect Packet Coders Newsletter #024 - October 2022 JSON Parsing with JSONata Member Updates (#032) - JSON Parsing with JSONata, upcoming tech sessions Network Testing 101 /w Cisco pyATS (Recording + Code) The Linux Return Code Packet Coders Newsletter #025 - November 2022 Member Updates (#033) - Tech Session Updates An Intro to Graph Databases An Intro into Ansible's Built-In Debugger Packet Coders Newsletter #026 - December 2022 TL;DR - How to Write Good Git Commit Messages Building CLI's /w Python Typer Our Top Recommended Network Automation Projects of 2022 Packet Coders Newsletter #027 - January 2023 An Intro to Python Poetry 5-Day Network Automation Bootcamp Network Automation /w OpenAI Automating Firewall ACL's with Aerleon Packet Coders Newsletter #028 - February 2023 Network Automation with Python - Fundamentals Automating Config Management with Nornir, NAPALM & Jinja Python's Quest for Simplicity REST API's with Django Ninja Dynamically Generating Tests with Pytest Parametrization Automating Network Diagrams with N2G Improve Your Python Code with These Best Practices! Network Analysis with Pandas Introduction to Pandas Pandas Workflow Installing Pandas Data Structures Panda Data Types Basic Data Attributes Basic Methods Panda Options Demo: Data Import from NX-API Importing from JSON Importing from Excel Importing from CSV Importing from Dicts and Lists Introduction to Importing Data JSON Normalization Introduction to Data Manipulation Concatenating Data Frames Adding New Columns Applying Custom Functions Demo: Manipulate Data from NX-API Demo: Comparing Routes Merging DataFrames Introduction to Data Exploration Demo: Exploring NXOS Data Chaining Closing Thoughts Introduction to Data Cleaning Detecting Missing Values Dropping Columns/Rows Filling Missing Data Renaming Columns Replacing Data Changing Data Types Demo: Cleaning Data from NX-API Accessing Data by Location Sorting Values Iterating over DataFrames Filtering Data Grouping and Aggregating Data Introduction to Exporting Data Exporting to a Dictionary Exporting to JSON Exporting to CSV Exporting to Markdown Interpolate Exporting to HTML Demo: NXOS Interface HTML Report Environment Set-up Text UI's for Networking with Textual 3 Python Libraries to Simplify Your UI Development Network Automation Newsletter #031 - May 2023 Automating UI's with PyVibe Enhance Your Network Automation: 15 Essential VSCode Extensions Automating Cloud Networks with Terraform - 1-Day Secrets Management and HashiCorp Vault 101 Ansible Lightspeed Introducing Nebula: Packet Coders' New Platform Launching August 1st FastAPI for Network Automation Simplify JSON Parsing with JSONata Scrapli and Legacy Devices - no matching key exchange method found Tech Sessions 5 Week NetDevOps Bootcamp Programme Mastering NetBox User Access with Permission Constraints Go Fundamentals for Network Automation Python vs Go for Network Automation Automating NetBox with Ansible: How to Create Devices with Primary IPs Black vs Ruff - What's the difference? Network Automation Newsletter #037 - November 2023 Network Automation with Python - Bootcamp What is Schema Validation? Member Updates (#050) - Design Sessions, Batfish Updates + More!