netshow is a tool in Cumulus Linux that quickly returns a lot of information about your network configuration. It's a tool designed by network operators for network troubleshooters since existing command line tools have too many options.
netshow addresses this by leveraging the network troubleshooting experience from a wide group of troubleshooters and boiling it down to just a few important options.
netshow quickly aggregates basic network information on Linux devices with numerous interfaces.
netshow intelligently informs the administrator what network type an interface belongs to, and shows the most relevant information to a network administrator.
netshow can be used on any distribution of Linux, not just Cumulus Linux.
netshow is installed by default in Cumulus Linux.
Installing netshow on a Linux Server or in OpenStack
netshow on a Linux server, run:
Debian and Red Hat packages will be available in the near future.
netshow with no arguments displays all available command line arguments usable by
netshow --help gives you the same information.) The output looks like this:
A Linux administrator can quickly see the few options available with the tool. One core tenet of
netshow is for it to have a small number of command options.
netshow is not designed to solve your network problem, but to help answer this simple question: "What is the basic network setup of my Linux device?" By helping to answer that question, a Linux administrator can spend more time troubleshooting the specific network problem instead of spending most of their time understanding the basic network state.
Originally developed for Cumulus Linux,
netshow works on Debian-based servers and switches and Red Hat-based Linux systems.
netshow is designed by network operators, which has rarely occurred in the networking industry, where most command troubleshooting tools are designed by developers and are most useful in the network application development process.
To show all available interfaces that are physically UP, run
netshow interface all displays every interface regardless of state:
You can get information about the switch itself by running
Troubleshooting Example: OpenStack
Looking at an OpenStack Environment, here is the physical diagram:
netshow can help us see the OpenStack network configuration. The
netshow output below shows an summary of a Kilo-based OpenStack server running 3 tenants.
OpenStack interface numbering is not the easiest read, but here
netshow can quickly show you:
- A list of all the interfaces in admin UP state and carrier UP state
- 3 bridges
- That STP is disabled for all the bridges
- An uplink trunk interface with 3 VLANs configured on it
- Many tap interfaces, most likely the virtual machines
This output took about 5 seconds to get and another 1 minute to analyze. To get this same level of understanding using traditional tools such as:
- ip link show
- brctl show
- ip addr show
... could take about 10 minutes. This is a significant improvement in productivity!
netshow uses a plugin architecture and can be easily expanded. An OpenStack interface discovery module is currently in development. If
netshow is run on a hypervisor with OpenStack Keystone login environment variables like
netshow should show the above output with a better interface discovery state, where
netshow collects from OpenStack information from
neutron to overlay the virtual machine and tenant subnet information over the interface kernel state information.
Interface discovery is one of the most powerful features of
netshow. The ability to expand its interface discovery capabilities further simplifies understanding basic network troubleshooting, making the Linux administrator more productive and improving time to resolution while investigating network problems.
Other Useful netshow Features
netshow int runs
netshow sys runs
netshow will eventually support interface name autocompletion. In the near future, if you run
netshow int tap123 and there is only one interface starting with
netshow will autocomplete the command option with the full interface.
netshow is an open source project licensed under GPLv2. To contribute please contact Cumulus Networks through the Cumulus Community Forum or the Netshow Linux Provider Github Repository Home. You can find developer documentation at netshow.readthedocs.org. The documentation is still under development.