Skip to main content

NAPALM driver for Cisco SMB switches (SF3xx, SF5xx, SG3xx, SG5xx)

Project description

Napalm-s350

NAPALM driver for Cisco SMB switches (SF3xx, SF5xx, SG250, SG3xx, SG5xx, CBS35x).

Status

Master: Thorough Test

Develop: Thorough Test

PyPi.org: Publish To PyPi.org

Requirements

Python 3.8+, napalm 4

Installation

pip3 install napalm_s350

CLI test

Default information (the same as call get_facts)

napalm --user USER --password PASSWORD --vendor s350 HOSTNAME

napalm --user USER --password PASSWORD --vendor s350 HOSTNAME --optional_args "force_no_enable=True"

Get interfaces

napalm --user USER --password PASSWORD --vendor s350 HOSTNAME call get_interfaces

Get configuration file

napalm --user USER --password PASSWORD --vendor s350 HOSTNAME call get_config

Debug

napalm --user USER --password PASSWORD --vendor s350 --debug HOSTNAME

Supported devices

This driver initially targets the Cisco SG350 device though other, similar, devices are be supported.

function SG250 SG300 SG500 SG350 SG550 stack SG500 stack SG550 CBS350
Send commands
cli x x x x x x x x
Config manipulation
get_config x x x x x x
get_config (filtered) x x x x x x
get_config (sanitized) x x x x x x
load_merge_candidate
load_replace_candidate
compare_config
commit_config
confirm_commit
has_pending_commit
rollback
discard_config
compliance_report
load_template
Get information
get_arp_table x x x x x x
get_arp_table (with vrf) NS NS NS NS NS NS
get_bgp_config
get_bgp_neighbors
get_bgp_neighbors_detail
get_environment
get_facts x x x x x x
get_firewall_policies
get_interfaces x x x x x x
get_interfaces_counters
get_interfaces_ip x 4 x 4 x 4 x 4 x 4 x 4
get_ipv6_neighbors_table
get_lldp_neighbors x x x x x x
get_lldp_neighbors_detail x x x x x x
get_mac_address_table
get_network_instances
get_ntp_peers
get_ntp_servers x x x x x x
get_ntp_stats
get_optics
get_probes_config
get_probes_results
get_route_to
get_snmp_information
get_users
get_vlans x x x x x x
Other actions
is_alive x x x x x x x x
ping
traceroute

NS - not supported - devices do not have support for that feature 4 - IPv4 only ...

Want to add new device support?

To be sure we can support new device we use test files.

Fetch command output tool

There is tool for getting necessary infromatin form running switch

cd test/unit

# DEVICE_TYPE as PID: in "show inventory" output
# INTERFACE an inteface
# LLDP_INTERFACE inteface for getting LLDP inforation
./fetch_command_output.sh -u USER -p PASSWORD -t DEVICE_TYPE -v s350 \
    -d SWITCH_IP_or_FQDN -i INTERFACE -l LLDP_INTERFACE 

Output files from that tool are in "test/unit/command_output/$DEVICE_TYPE"

By hand

We need text output of those commands, to add new device:

show arp
show startup-config
show version
show system
show inventory
show hosts
show interface status
show running-config
show interfaces status
show interfaces description
show ports jumbo-frame
show ip int
show lldp neighbors
show sntp status

Those commands may need parameter change to suit your configuration:

show running-config full
show lldp local FastEthernet1
show lldp neighbors FastEthernet0/1

Please add each command to separate file - command show arp to file named show_arp.txt

Make pull request to /napalm-s350/tree/develop/test/unit/mocked_data/your device type/ or if you prefer make a Issue and add files as an atachement.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

napalm_s350-0.5.1.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

napalm_s350-0.5.1-py2.py3-none-any.whl (14.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file napalm_s350-0.5.1.tar.gz.

File metadata

  • Download URL: napalm_s350-0.5.1.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for napalm_s350-0.5.1.tar.gz
Algorithm Hash digest
SHA256 be3a5d5244aaea256567afa7b791861cf9f8e69f6b182dbfe9e23b373d8f5a25
MD5 373751f7db46427dbdc00042dfacb7ac
BLAKE2b-256 1d519a0b859fb1bb139826fdb760bebbc20a19722cf9af72fa909d4a581eb2dd

See more details on using hashes here.

File details

Details for the file napalm_s350-0.5.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for napalm_s350-0.5.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dd24512e93a0ae902e04147ba4840bd1e9709ca98a0a518a6523bb5855febe45
MD5 f4270e12060d31558e7d34a9aa53a613
BLAKE2b-256 a2307300187e94c5e3cb2fd0bd279cba0f26bb9d22f3d649144a0561b362c6cc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page