Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Linux host network operations via pyATS — interface configuration, routing tables, network connections, and multi-table route inspection across fleet hosts. Use when checking Linux interface status, viewing routing tables, auditing host network config, or comparing routes across hosts.
.claude/skills/automateyournetwork-pyats-linux-network/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 320% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 142% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 313% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 145% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 53% | 0% |
Linux hosts must be defined in the pyATS testbed with os: linux. See pyats-linux-system for the testbed YAML format.
All commands use pyats_run_linux_command:
bashPYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_linux_command '{"device_name":"linux-host-01","command":"<command>"}'
bashPYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_linux_command '{"device_name":"linux-host-01","command":"ifconfig"}'
Returns all interfaces with: IP address, netmask, broadcast, MAC address, MTU, RX/TX packets, RX/TX errors, RX/TX bytes, flags (UP/RUNNING/MULTICAST).
What to check:
bashPYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_linux_command '{"device_name":"linux-host-01","command":"ifconfig eth0"}'
Common interfaces to inspect:
eth0 / ens192 — Primary management interfacedocker0 — Docker bridge networklo — Loopback (verify 127.0.0.1)bond0 — NIC bonding/teamingvlan100 — VLAN sub-interfacetun0 / wg0 — VPN tunnel interfacesbr-* — Docker/bridge networksbashPYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_linux_command '{"device_name":"linux-host-01","command":"ip route show table all"}'
Returns routes from ALL routing tables — main, local, custom policy tables. This is the most comprehensive route view on a Linux host.
What to check:
bashPYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_linux_command '{"device_name":"linux-host-01","command":"route"}'
Legacy route command — shows the kernel IP routing table (main table only). Prefer ip route show table all for complete view.
bashPYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_linux_command '{"device_name":"linux-host-01","command":"route -n"}'
The -n flag shows numeric addresses (no DNS resolution). Other useful flags:
route -n — Numeric output (faster, no DNS dependency)route -e — Extended information (like netstat -r)bashPYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_linux_command '{"device_name":"linux-host-01","command":"netstat -rn"}'
netstat -rn shows the kernel routing table in numeric format. Equivalent to route -n but with netstat-style output columns: Destination, Gateway, Genmask, Flags, MSS, Window, irtt, Iface.
Route flags:
U — Route is upG — Route uses a gatewayH — Target is a host (not a network)D — Created by ICMP redirectM — Modified by ICMP redirectpyats_list_devices → identify Linux hosts in testbed
→ pyats_run_linux_command(host, "ifconfig") → check interface states
→ pyats_run_linux_command(host, "ip route show table all") → verify routing
→ pyats_run_linux_command(host, "netstat -rn") → cross-reference routes
→ Flag: interfaces down, missing routes, error counters > 0
→ Severity-sort → GAITpyats_list_devices → identify all Linux hosts
→ pyats_run_linux_command per host ("ifconfig") → collect interface data
→ Cross-reference IPs with NetBox/Nautobot IPAM → flag drift
→ pyats_run_linux_command per host ("ip route show table all") → collect routes
→ Verify default gateways match expected values
→ GAITpyats_run_linux_command(host-1, "ip route show table all") → host 1 routes
→ pyats_run_linux_command(host-2, "ip route show table all") → host 2 routes
→ Compare: same subnets, same gateways, same metrics?
→ Flag asymmetric routing or missing routes
→ GAITpyats_run_linux_command(host, "ifconfig") → check all interfaces
→ Identify interfaces with non-zero RX/TX errors or drops
→ pyats_run_linux_command(host, "ifconfig eth0") → deep dive on problem interface
→ Correlate with network device interfaces (pyats-network show commands)
→ GAITServiceNow CR must be in Implement state
→ pyats_run_linux_command(host, "ifconfig") → verify interface state post-change
→ pyats_run_linux_command(host, "ip route show table all") → verify routes post-change
→ pyats_run_linux_command(host, "netstat -rn") → confirm routing table
→ Compare against pre-change baseline
→ GAITRun network checks across multiple Linux hosts concurrently:
bash# Host 1 PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_linux_command '{"device_name":"linux-host-01","command":"ifconfig"}' # Host 2 PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_linux_command '{"device_name":"linux-host-02","command":"ifconfig"}' # Host 3 PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_linux_command '{"device_name":"linux-host-03","command":"ifconfig"}'
| Skill | Integration | |-------|-------------| | pyats-network | Correlate Linux host interfaces with network device interfaces — verify end-to-end connectivity | | pyats-routing | Compare Linux host routes with network device routing tables (OSPF, BGP, EIGRP) | | pyats-linux-system | System-level commands (ps, docker, ls) complement network-level inspection | | pyats-linux-vmware | VMware ESXi host networking (vSwitch, vmkernel) via vim-cmd | | pyats-parallel-ops | pCall pattern for fleet-wide Linux network audits | | pyats-troubleshoot | Linux host network data feeds into OSI-layer troubleshooting | | netbox-reconcile | Cross-reference ifconfig IP/MAC data against NetBox IPAM and DCIM records | | nautobot-sot | Same as NetBox — validate Linux host IP addresses against Nautobot | | subnet-calculator | Verify subnet masks and CIDR notation from ifconfig output | | gait-session-tracking | Every Linux network command logged in GAIT |
pyats_list_devices first — verify Linux hosts exist in the testbedip addr add, ip route add, ifconfig up/down, or iptables via this skillOther measured skills in the registry, with their headline benchmark lift.