Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Nebula | 12,541 | 125 | 2 days ago | 49 | June 01, 2023 | 125 | mit | Go | ||
A scalable overlay networking tool with a focus on performance, simplicity and security | ||||||||||
Netshoot | 6,578 | 25 days ago | 23 | apache-2.0 | Shell | |||||
a Docker + Kubernetes network trouble-shooting swiss-army container | ||||||||||
Mininet | 4,913 | 7 days ago | 352 | bsd-3-clause | Python | |||||
Emulator for rapid prototyping of Software Defined Networks | ||||||||||
Realreachability | 3,069 | 100 | a year ago | 13 | October 22, 2018 | 11 | mit | Objective-C | ||
We need to observe the REAL reachability of network. That's what RealReachability do. | ||||||||||
Pms Docker | 2,605 | a month ago | 5 | Smarty | ||||||
Plex Media Server Docker repo, for all your PMS docker needs. | ||||||||||
Reactivenetwork | 2,508 | 75 | 10 months ago | 28 | September 17, 2019 | 36 | apache-2.0 | Java | ||
Android library listening network connection state and Internet connectivity with RxJava Observables | ||||||||||
Sup | 2,312 | 3 | 2 years ago | 7 | January 21, 2022 | 55 | mit | Go | ||
Super simple deployment tool - think of it like 'make' for a network of servers | ||||||||||
Nagioscore | 1,339 | 8 days ago | 3 | November 17, 2022 | 222 | gpl-2.0 | C | |||
Nagios Core | ||||||||||
Evillimiter | 928 | 2 years ago | 38 | mit | Python | |||||
Tool that monitors, analyzes and limits the bandwidth of devices on the local network without administrative access. | ||||||||||
Ncrack | 927 | 7 months ago | 1 | February 27, 2018 | 59 | other | C | |||
Ncrack network authentication tool |
P4-Utils is an extension to Mininet that makes P4 networks easier to build, run and debug. P4-utils is strongly inspired by p4app. Here we only provide a quick summary of the main information about P4-Utils. Check out the online documentation for more details about P4-Utils installation and usage.
In order to work, P4-Utils needs different programs coming from different sources as prerequisites. Since the installation process can be long and cumbersome, we provide different methods to make the deployment easier for the users:
P4-Utils can run in a virtual machine to keep its environment separated from the rest of the system. Moreover, since P4-Utils is only available on Linux, other OS users can run it in a linux VM.
Running P4-Utils in a completely separated environment can be beneficial: in this way, installation and execution errors, that may arise, will not affect the whole system. For this reason, we recommend using a virtual machine.
You can choose to download and use one of our preconfigured VMs or to build it by yourself.
If you have already installed all the requirements, you can simply install P4-Utils using the following commands:
git clone https://github.com/nsg-ethz/p4-utils.git
cd p4-utils
sudo ./install.sh
Attention!
The install script will usepip -e
to install the project in editable mode, meaning that every time you update the files in this repository, either by pulling or doing local edits, the changes will automatically take place without the need of installing the package again.
If you want to uninstall run:
sudo ./uninstall.sh
This will remove all the scripts that were added to /usr/bin
as well as uninstall the python package using pip
.
P4-Utils depends on the following programs in the given order:
Since the installation process is long and cumbersome, we provide a Bash script that automatically installs the dependencies.
P4-Utils creates virtual networks using Mininet and extended nodes that run P4-enabled switches. To create hosts, Mininet uses a bash process running in a network namespace, in order words, all the processes that run within the network namespaces have an isolated network stack. Switches are software-based switches like Open vSwitch, Linux Bridge, or BMV2 switches. Mininet uses virtual ethernet pairs, which live in the Linux kernel to connect the emulated hosts and switches.
For more information see:
P4-Utils adds on top of Mininet:
p4run
) to instantiate networks.mx
) to run processes in namespaces.P4Host
, P4Switch
, P4RuntimeSwitch
, FFRouter
nodes (based on BMV2 and FRRouting).p4app_example.json
and related documentation).runtime_CLI
and simple_switch_CLI
as Python objects to use in controller code.