Skip to main content

RoSh - Router Shell

About

This is an interactive diagnostic shell for Linux-based routers. It is inspired by the CLI of classic network devices (e.g. Cisco IOS) and implements diagnostic functions similar to iproute2/bridge/ethtool/tc/wireguard. It is explicitly not intended for configuration changes, but to support the analysis of software routers by network engineers.

RoSh demo

Commands

The following commands are available:

disable
  interface        disable (shutdown) an interface
    {ifname}
enable
  interface        enable (no shutdown) an interface
    {ifname}
exit               exit from rosh
help               show command help
identify
  interface        initiate the adapter identify by sight procedure
    {ifname}
ifstatecli         run ifstatecli command
  <apply|check|shell|show|showall>
lbu                run lbu command
  <commit|ci|diff|exclude|include|list|ls|list-backup|lb|package|pkg|revert|status|st>
mtr                run mtr command
netns              change active netns namespace for subsequent commands
  {netns}
ping               run ping command
renegotiate
  interface        restart auto-negotiate on an interface
    {ifname}
reset
  interface        reset an interface
    {ifname} <flags|mgmt|irq|dma|filter|offload|mac|phy|ram|dedicated|all>
shell              launch a interactive system shell
show
  bridge
    fdb            show bridge forwarding database
      [dst <{ipv6}>] [ifindex <{ifname}>] [state <{state}>]
  interface        show interface details
    {ifname} [channels|coalesce|driver|eee|features|module|pause|priv-flags|ring|settings|stats|tstamp|tunnels]
  ip
    address        show assigned ipv4 addresses
      [index <{ifname}>]
    neighbour      show ipv4 neighbour cache entries (ARP)
      [dst <{ip}>] [ifindex <{ifname}>] [state <{state}>]
    route          show ipv4 routes
      [dst <{pfx}>] [gateway <{ip}>] [oif <{ifname}>] [proto <{proto}>] [scope <{scope}>] [table <{table}>]
    rule           show ipv4 routing policy rules
      [dst <{pfx}>] [iif <{ifname}>] [oif <{ifname}>] [proto <{proto}>] [src <{pfx}>] [table <{table}>]
  ipv6
    address        show assigned ipv6 addresses
      [index <{ifname}>]
    neighbour      show ipv4 neighbour cache entries
      [dst <{ipv6}>] [ifindex <{ifname}>] [state <{state}>]
    route          show ipv6 routes
      [dst <{pfxv6}>] [gateway <{ipv6}>] [oif <{ifname}>] [proto <{proto}>] [scope <{scope}>] [table <{table}>]
    rule           show ipv6 routing policy rules
      [dst <{pfxv6}>] [iif <{ifname}>] [oif <{ifname}>] [proto <{proto}>] [src <{pfxv6}>] [table <{table}>]
  netns            show netns namespaces
    {netns}
ssh                run ssh command
tcpdump            run tcpdump command
telnet             run telnet command
traceroute         run traceroute command

Install

Alpine Linux

RoSh is available in the community repository of Alpine Linux edge.

PyPi

RoSh is available at PyPi and can be installed via pip:

$ pip install rosh

Metadata

Release files for rosh 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rosh 0.1.8
File Size Uploaded
rosh-0.1.8.tar.gz 35.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rosh 0.1.8
File Interpreter ABI Platform
rosh-0.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 83.4 kB

Release files / rosh-0.1.8.tar.gz

Download URL rosh-0.1.8.tar.gz
Size 35.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a0ffba17e98916d6734abae3f17586497bfa6c894f19ea42344456ceba42d6c9
BLAKE2b-256 checksum
How to use checksums
3acf8c4bf9713de3e529188a68e729d1cf9ea0e4fc9734f6b61ffbfe1f91ec18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release files / rosh-0.1.8-py3-none-any.whl

Download URL rosh-0.1.8-py3-none-any.whl
Size 47.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b21930197ea1841099c9bac9beb807aa9acfe30ef17f3ca80d38c786fc75810
BLAKE2b-256 checksum
How to use checksums
e41c15d6932c9901137406ffe759891d1d477c3eddd3b4cbeb51203ce4c95e3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release history Release notifications | RSS feed

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page