Skip to main content

Linux Network Troubleshooting Tool

Project description

Netshow is Network Abstraction Software. It is optimized to collect core networking data from devices that contain many network interfaces.

The netshow core respository has 2 main components:

netshow-core-lib:

This is core library for retrieving network information from a device and abstracting it into Python objects.

Its core module is called netshowlib. It contains a few high levels such as iface() and system_summary(), that when called, this calls a provider that retrieves the information from the system.

A provider is module that interacts with the base system and converts relevant network information into python objects. For example, the Linux provider, when the netshow-core-lib iface() is called, can retrieve network information like MTU, speed, IP address from device running a Linux kernel.

Example:

With the Linux provider, retrieve details about the eth1 interface

import netshowlib.netshowlib as nn
eth1 = nn.iface('eth1')
>>> eth1.ip_address.allentries
[u'192.168.50.11/24']
>>> eth1.lldp
[{'adj_port': 'swp4', 'adj_mgmt_ip': '192.168.121.242', 'adj_hostname':
'clswitch'}]
>>> eth1.is_trunk()
True
>>> eth1.is_l3()
True
>>>

netshow-core:

Netshow is responsible printing and analysing the information collected from the library component of netshow. netshow-core is the core component of this functionality and uses providers (plugins) to properly print and analyse gathered by the netshowlib component of the provider(plugin). For example, the print_iface wrapper class in the Linux netshow provider, is responsible for printing linux network information collected by the Linux provider netshowlib modules.

Example

--------------------------------------------------------------------
To view the legend,  rerun "netshow" cmd with the  "--legend" option
--------------------------------------------------------------------
    Name            Speed    MTU    Mode       Summary
--  --------------  -------  -----  ---------  ----------------------------------------------------------------
UP  br-mgmt         N/A      1500   Bridge/L3  IP: 192.168.20.11/24
                                               802.1q Tag: 20
                                               STP: Disabled
                                               Untagged Members: veth5WQUVA, veth6WQOHK, veth9QKURD, vethC7T63I
                                               vethCJVLB0, vethCNHO6U, vethDH3HJN, vethIL9QSD
                                               vethJE59U0, vethKHX7YP, vethLWHN0S, vethMLNDOE
                                               vethQUF6ME, vethSNCPD3, vethUI07YQ, vethVN2PUS
                                               vethX4O674, vethYWI604
                                               Tagged Members: eth1
UP  br-vlan         N/A      1500   Bridge/L2  802.1q Tag: Untagged
                                               STP: Disabled
                                               Untagged Members: vethMALSDL
UP  brq087285e9-e4  N/A      1500   Bridge/L2  802.1q Tag: 20
                                               STP: Disabled
                                               Untagged Members: tap141463e6-4e, tapfa96896f-f0
                                               Tagged Members: eth2
UP  lxcbr0          N/A      1500   Bridge/L3  IP: 10.0.3.1/24
                                               802.1q Tag: Untagged
                                               STP: Disabled
                                               Untagged Members: veth2NPR41, veth4RRO82, veth67W8CB, veth8FTEPM
                                               veth9AVA9R, vethA6S7T7, vethCEP462, vethD2U7GF
                                               vethD4TJV0, vethHX8KQC, vethKIP4S8, vethL4R007
                                               vethOEYR65, vethPSLRGF, vethRQYX9H, vethVAUL56
                                               vethXC6NM4, vethYTPAWP

Contributing

  1. Fork it.

  2. Create your feature branch (git checkout -b my-new-feature).

  3. Commit your changes (git commit -am 'Add some feature').

  4. Push to the branch (git push origin my-new-feature).

  5. Create new Pull Request.

License and Authors

Author:: Cumulus Networks Inc.

Copyright:: 2015 Cumulus Networks Inc.

Cumulus icon

Cumulus Linux

Cumulus Linux is a software distribution that runs on top of industry standard networking hardware. It enables the latest Linux applications and automation tools on networking gear while delivering new levels of innovation and flexibility to the data center.

For further details please see: cumulusnetworks.com

This project is licensed under the GNU General Public License, Version 2.0

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

netshow-core-1.1.3.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

netshow_core-1.1.3-py2.py3-none-any.whl (9.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file netshow-core-1.1.3.tar.gz.

File metadata

File hashes

Hashes for netshow-core-1.1.3.tar.gz
Algorithm Hash digest
SHA256 6f16904ffb3744001fd9f18667112ed7cd7ff17c98f57d0f48b5ebd821fbecc6
MD5 5839b619a9d1c487f7356cd6f3b0019d
BLAKE2b-256 179e0661987e7ae95a97db684583bcd5510a7ed21dfad88ba4c585d5db5fbe81

See more details on using hashes here.

File details

Details for the file netshow_core-1.1.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for netshow_core-1.1.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f645b9205027b3d4ce27a0859ddde93caca31171d79d5d2b2b500b9a1b692c2b
MD5 647aeb0f37715638bdbe1ebda673c47a
BLAKE2b-256 bb92b97ea53c3b26589c58e1c1302c046bf4c6d512ec41fb44266dbcc39218cd

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