/nispor

Unified interface for Linux network state querying

Primary LanguageRustApache License 2.0Apache-2.0

The nispor(Network Inspector) project is designed to providing unified interface for Linux network state querying.

Currently providing:

  • Rust crate
  • Python binding
  • C binding
  • Varlink interface -- npd
  • Command line tool -- npc

Install

make
sudo PREFIX=/usr make install

Usage

Print all network status

npc

Print network status of certain NIC

npc bond99

Print route entries

npc route

Varlink service

systemctl start nispor.socket

Varlink client

# Please install `libvarlink-util` pacakge beforehand
varlink call unix:/run/nispor/nispor.so/info.nispor.Get

Supported features

  • IPv4/IPv6 address
  • Bond
  • Linux Bridge
  • Linux Bridge VLAN filtering
  • VLAN
  • VxLAN
  • Route
  • Dummy
  • TUN/TAP
  • Veth
  • VRF(Virtual Routing and Forwarding)
  • SR-IOV
  • MacVlan
  • MacVtap

TODO:

  • Error handling instead of unwrap()/panic!/etc
  • SR-IOV VF-PF relation is possible
  • VLAN QoS
  • Route rule
  • Traffic control
  • Manpage for npc/npd
  • pkgconfig file for nispor C library