BGP
Why BGP Gets Stuck in Active State — And How to Fix It
July 2026 · 8 min read
BGP stuck in Active is one of the most common issues in enterprise networks. The Active state means BGP is trying to establish a TCP connection to its neighbor but hasn't succeeded. Here's the systematic approach to diagnose it — with real debug commands and output.
R1# show bgp summary
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.0.0.2 4 65002 0 0 0 0 0 00:02:13 Active
The fix starts with confirming TCP reachability, then checking source interface, then MD5 authentication mismatches. The video below walks through all three scenarios with live debug output.
Watch the full video ↗
IPSec
IKEv2 Phase 1 Fails Silently: A Debug Walkthrough
June 2026 · 12 min read
IKEv2 failures are notoriously hard to diagnose because error messages are vague. This walkthrough covers the most common Phase 1 failure causes — encryption mismatch, DH group incompatibility, and pre-shared key errors — with the exact debug commands and what to look for.
R1# debug crypto ikev2
IKEv2:(SESSION ID = 1,SA ID = 1):Sending packet to 203.0.113.2
IKEv2:(SESSION ID = 1,SA ID = 1):Failed to find a matching policy
IKEv2:(SESSION ID = 1,SA ID = 1):Abort exchange
Watch the full video ↗
Automation
Netmiko vs Paramiko: Which One Should You Use?
June 2026 · 6 min read
Both libraries let Python talk to network devices over SSH, but they solve different problems. Paramiko is a raw SSH library — flexible but verbose. Netmiko is built on top of Paramiko specifically for network devices, handling prompt detection, enable mode, and pagination automatically.
netmiko_example.py
from netmiko import ConnectHandler
device = {'device_type': 'cisco_ios', 'host': '10.0.0.1',
'username': 'admin', 'password': 'cisco'}
conn = ConnectHandler(**device)
output = conn.send_command('show bgp summary')
print(output)
Watch the full video ↗