⚙️

Switch Configuration – Network Toolkit

Bulk SSH configurator with verification & CSV results

Download the Network Toolkit

A modern Tkinter GUI powered by Netmiko and Pandas that pushes configuration to many devices concurrently, verifies changes from the running-config, and writes per-device logs and a summary results.csv.

The toolkit is split into 3 parts (25 MB each). Download all and open switch-network-toolkit.part1.rar to extract automatically.

Files: switch-network-toolkit.part1.rar, .part2.rar, .part3.rar • Version: 1.0.0

⚙️ Operating Modes

A
GLOBAL

All switches receive the same commands from commands.txt. Ideal for mass-deploying identical configurations.

B
PER_IP

Each switch has its own file <IP>.txt inside a dedicated commands/ folder. Perfect for granular configurations.

Switch between modes directly from the app’s header using the segmented toggle.

What it does

For each device in switches.txt, the app opens an SSH session using the selected Netmiko device type (e.g., cisco_ios, juniper, hp_procurve, arista_eos, etc.), enters privileged/config mode, applies the commands, optionally saves configuration, then verifies the result by parsing the device’s running‑config.

How verification works

Each command is normalized (e.g., interface Gi1/0/1interface gi1/0/1) and looked up in the device’s configuration. You can choose between full running‑config or a faster section‑based check. Missing lines are reported per device and counted in the summary table.

Quick start

  1. Download and unzip switch-network-toolkit.zip.
  2. Prepare your inputs:
    • switches.txt — one IP/hostname per line (lines starting with # are ignored)
    • GLOBAL: a single commands.txt for all devices
    • PER_IP: a folder containing <IP>.txt for each device
  3. Run the app (Windows/macOS/Linux). It launches maximized/fullscreen with a left/right split kept at 50/50.
  4. Set your credentials, choose the Netmiko device type, pick files, and press Start.
  5. Monitor progress and open per‑device outputs by double‑clicking rows in the Results tab.

Key features

  • 👥 Concurrency: configurable thread pool (default 10) with retries.
  • ⏱️ Timing control: delay_factor and max_loops for slow/long outputs.
  • 💾 Save behavior: auto‑detects write memory/copy run start in your commands; can also force save.
  • 🔍 Verification: full or section‑based running‑config check; reports missing lines.
  • 🌓 Dark/Light theme switch with persistence to settings.json.
  • 📊 Results CSV: results.csv with success, duration, missing count, and file paths.
  • 🗂️ Per‑device logs: outputs/<IP>_config.txt and outputs/<IP>_verify.txt.
  • 🧭 Usability: results tab with filter, zebra rows, horizontal scrolling, double‑click to open files.

Supported Netmiko device types

Choose the profile that matches your platform. Examples included in the UI:

cisco_ios, cisco_xe, aruba_os, aruba_oscx, aruba_os_cx, hp_procurve, huawei, juniper, arista_eos.

Tip: a wrong profile typically breaks enable/save or prompt detection.

What’s included

  • SwitchToolkit.py — the full GUI (Tkinter + Netmiko + Pandas)
  • requirements.txtnetmiko, pandas, and (optionally) ttkbootstrap
  • run-windows.bat / run-mac-linux.sh — quick launch scripts with venv setup
  • devices samples: switches.txt, commands.txt, and a per‑IP folder template
  • outputs/ (empty) — where per‑device logs will be written
  • README.md — quick instructions

Persistence & safety

  • settings.json stores UI preferences and paths. Password is saved only if you explicitly enable “remember”.
  • No data leaves your machine; the app opens SSH sessions directly to your devices.

FAQ

I get timeouts or partial outputs.

Raise delay_factor and max_loops for slow devices/high latency; reduce concurrency (threads) on fragile links.

Can I force a config save?

Yes. Either include a save command (write memory/copy run start) or enable “Force always save” in the app.

Where is the summary?

In results.csv you’ll find, per device: success, attempt, duration, missing count, error (if any), and paths to the output files.

How do I open logs quickly?

In the Results tab, double‑click the config or verify file path to open it with your OS default editor.

Back to home