napalm-c2950
NAPALM driver for the Cisco Catalyst 2950 (WS-C2950G-48-EI) — a Layer-2-only
switch running classic IOS 12.1(x)EA. The official napalm-ios driver assumes
modern IOS syntax and features (e.g. show mac address-table, LLDP) that this
platform predates or lacks, so this dedicated driver targets the old CLI.
- Transport:
netmiko(device_type=cisco_ios) - Base class:
napalm.base.NetworkDriver
Install
pip install napalm-c2950
Usage
from napalm import get_network_driver
driver = get_network_driver("c2950") # resolves to napalm_c2950.C2950Driver
with driver("192.0.2.10", "admin", "secret") as device:
print(device.get_facts())
print(device.get_vlans())
Supported getters
| Getter | Status | Command(s) |
|---|---|---|
get_facts |
✅ done | show version, show ip interface brief |
get_interfaces |
✅ done | show interfaces |
get_interfaces_ip |
✅ done | show interfaces |
get_interfaces_counters |
✅ done¹ | show interfaces |
get_mac_address_table |
✅ done | show mac-address-table |
get_arp_table |
✅ done² | show ip arp |
get_vlans |
✅ done | show vlan brief |
get_config |
✅ done³ | show running-config, show startup-config |
get_users |
✅ done | show running-config |
get_snmp_information |
✅ done | show running-config |
get_ntp_servers |
✅ done | show running-config |
get_ntp_stats |
✅ done⁴ | show ntp associations |
get_environment |
✅ done⁵ | show env all |
get_ntp_peers |
❌ n/a | no ntp peer on this platform |
get_lldp_neighbors_detail |
❌ n/a | 2950 has no LLDP (CDP only) — see notes |
_get_cdp_neighbors_detail |
✅ done⁶ | show cdp neighbors detail |
Everything else raises NotImplementedError.
¹ The 2950 does not report unicast counts or a TX multicast/broadcast split;
those six fields are returned as -1.
² IOS reports ARP age in minutes; it is converted to seconds. vrf is accepted
for API compatibility but ignored (single routing table).
³ Candidate config is not supported (candidate is always ""). sanitized=True
uses NAPALM's CISCO_SANITIZE_FILTERS.
⁴ The disp column is mapped to jitter; type is not reported (empty string).
⁵ Only fan and power status are exposed by show env all; temperature/cpu
are empty and memory fields are -1.
⁶ Not part of the NAPALM schema (there is no CDP getter). Provided as a private
method because the 2950 has no LLDP; kept private so the NAPALM
method-signature test still passes.
Tested firmware
- IOS 12.1(22)EA9 on WS-C2950G-48-EI
Notes
- The 2950 does not implement LLDP.
get_lldp_neighbors_detailcurrently raisesNotImplementedError; a CDP-based (show cdp neighbors detail) alternative can be added if desired, though it is not standard NAPALM LLDP semantics.
License
Apache 2.0
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file napalm_c2950-0.1.0.tar.gz.
File metadata
- Download URL: napalm_c2950-0.1.0.tar.gz
- Upload date:
- Size: 39.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e2c35c0bac5553646c2e80df6a453437fec8cbd0a34f049262eaae81633248d
|
|
| MD5 |
b44871a20f3fb2f5780283ac6721c049
|
|
| BLAKE2b-256 |
819719308fb286871cbc8234b5b29a20260a40980ebe0c80e3a1a06f9f328a04
|
File details
Details for the file napalm_c2950-0.1.0-py3-none-any.whl.
File metadata
- Download URL: napalm_c2950-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c01fc56d037221cf9702daf3406edbe7ce165065552b0cf3d05307bdd9237fb
|
|
| MD5 |
6dd63209124df2a53e8e47f91b03e8ed
|
|
| BLAKE2b-256 |
5b6dd9a02482026d8ef18af88e0dbfd62b4ffffa3497303955724dcfac158193
|