pyats-junos-interfaces
JunOS Interface Operations via pyATS
How to Call
PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"<command>"}'
Commands
Interface Status
All Interfaces — Summary
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces terse"}'
Compact table: interface name, admin/oper status, protocol, address. Fastest way to check up/down state across all interfaces.
All Interfaces — Full
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces"}'
Full interface details: physical properties, speed, MTU, MAC, traffic stats, error counters.
All Interfaces — Descriptions
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces descriptions"}'
Interface descriptions only — useful for verifying circuit IDs and peer identifiers. Also: show interfaces descriptions ge-0/0/0.
All Interfaces — Statistics
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces statistics"}'
Input/output bytes, packets, errors, drops across all interfaces. Also: show interfaces statistics ge-0/0/0.
All Interfaces — Extensive
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces extensive"}'
Maximum detail including MAC stats, filter stats, CoS queuing stats, logical interfaces. Also: show interfaces extensive no-forwarding.
Specific Interface
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces ge-0/0/0"}'
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces ge-0/0/0 detail"}'
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces ge-0/0/0 extensive"}'
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces ge-0/0/0 terse"}'
Terse with Match (Filter)
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces terse | match ge-0/0"}'
Filter interface list to a specific FPC/PIC slot.
Interface Policers & Queues
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces policers ge-0/0/0"}'
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces queue ge-0/0/0"}'
Optics Diagnostics
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces diagnostics optics"}'
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show interfaces diagnostics optics ge-0/0/0"}'
SFP/XFP/QSFP optical power levels (tx/rx dBm), laser bias current, temperature, voltage. Critical for detecting failing optics — low rx power indicates fiber or SFP issue.
LACP (Link Aggregation)
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show lacp interfaces ae0"}'
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show lacp statistics interfaces ae0"}'
LACP state, actor/partner system ID, port priority, key, member link status. Statistics show LACP PDU tx/rx counts and errors.
Class of Service
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show class-of-service interface ge-0/0/0"}'
CoS configuration and queue mapping for a specific interface — forwarding class, scheduler, transmit rate.
LLDP Neighbors
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show lldp"}'
LLDP neighbor table — remote system, port, chassis ID. Cross-reference with pyats-topology for neighbor discovery.
ARP Table
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show arp"}'
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show arp no-resolve"}'
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show arp | no-more"}'
ARP cache: MAC address, IP address, interface. no-resolve skips DNS lookups (faster). | no-more disables paging.
IPv6 Neighbors
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show ipv6 neighbors"}'
IPv6 NDP neighbor table — link-layer address, state (reachable/stale/incomplete), interface.
BFD Sessions
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show bfd session"}'
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show bfd session address 10.1.1.2 detail"}'
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show bfd session address 10.1.1.2 extensive"}'
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show ppm transmissions protocol bfd detail"}'
BFD session state, interval, multiplier, neighbor. Use for fast-failover validation on OSPF/BGP/LDP sessions.
Traffic Monitoring
pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"monitor interface traffic"}'
Real-time interface traffic rates — bytes/sec, packets/sec per interface. Note: This is a streaming command; pyATS will capture a snapshot.
Workflows
1. JunOS Interface Health Check
show interfaces terse → identify down interfaces
→ show interfaces extensive {down_intf} → error counters, drops
→ show interfaces diagnostics optics {intf} → optical power levels
→ show lldp → verify expected neighbors
→ Severity-sort (down=CRITICAL, errors=WARNING, low optics=WARNING)
→ GAIT
2. LACP Audit
show interfaces terse | match ae → identify LAG interfaces
→ show lacp interfaces {ae_intf} → member status, actor/partner
→ show lacp statistics interfaces {ae_intf} → PDU counters, errors
→ show interfaces {ae_intf} extensive → aggregate stats
→ Flag: missing members, LACP mismatches, PDU errors
→ GAIT
3. Optics Fleet Scan
pyats_list_devices → identify JunOS devices (parallel)
→ show interfaces diagnostics optics per device
→ Flag: rx power < -20 dBm (WARNING), < -25 dBm (CRITICAL)
→ Cross-reference SFP serial numbers with NetBox
→ GAIT
4. ARP/Neighbor Audit
show arp no-resolve → collect ARP table
→ show ipv6 neighbors → collect NDP table
→ Cross-reference with NetBox/Nautobot IPAM → flag unknown MACs
→ show lldp → verify physical neighbors match expected topology
→ GAIT
Integration with Other Skills
| Skill | Integration |
|---|---|
| pyats-junos-system | Chassis/system context for interface issues (FPC/PIC status) |
| pyats-junos-routing | Routing protocol status complements interface state |
| junos-network | JunOS MCP for config changes; pyATS for operational verification |
| pyats-topology | LLDP + ARP data feeds topology discovery |
| netbox-reconcile | Cross-reference interface IPs, MACs, optics serials with NetBox |
| pyats-parallel-ops | pCall pattern for fleet-wide interface audits |
| gait-session-tracking | Every command logged in GAIT |
Guardrails
- All commands are read-only — show and monitor commands only
- No interface config changes — never use
set interfacesvia this skill - Cross-reference optics — always compare diagnostic values against vendor specifications
- Record in GAIT — every command execution must be logged
More from automateyournetwork/netclaw
pyats-topology
Network topology discovery via CDP/LLDP neighbors, ARP tables, routing peers, and interface mapping to build complete network maps. Use when mapping the network, building a diagram, discovering what is connected to what, or documenting device neighbors and links.
20drawio-diagram
Generate draw.io network diagrams — native .drawio files with CLI export (PNG/SVG/PDF), plus browser-based Mermaid/XML/CSV via MCP server. Use when creating network topology diagrams, generating architecture visuals, exporting diagrams to PNG or PDF, or building draw.io files from discovery data.
19aws-architecture-diagram
AWS architecture diagrams — generate visual network topology diagrams from live AWS infrastructure. Use when drawing AWS network diagrams, visualizing VPCs, mapping Transit Gateway topology, or generating architecture documentation.
19grafana-observability
Grafana observability platform — dashboards, Prometheus PromQL, Loki LogQL, alerting, incidents, OnCall schedules, annotations, datasource queries, panel rendering (75+ tools). Use when querying Grafana dashboards, running PromQL for interface metrics, searching Loki logs for syslog events, investigating firing alerts, or checking who is on call.
18pyats-health-check
Comprehensive network device health monitoring - CPU, memory, interfaces, hardware, NTP, logging, environment, and uptime analysis. Use when running a device health check, monitoring CPU or memory usage, checking interface errors, or validating NTP sync.
17aws-security-audit
AWS security auditing — IAM users/roles/policies, CloudTrail API events, security posture analysis. Use when auditing IAM permissions, investigating security incidents, checking MFA compliance, or tracing API activity in CloudTrail.
16