-
Notifications
You must be signed in to change notification settings - Fork 1
Mininet
Is there a particular feature that you would like to see added to Mininet?
Why not try prototyping it at the SIGCOMM Hackathon!!
We can chat on Hackathon slack and I will try to help you out.
These are just starter ideas - you can do whatever you want and whatever you think might be useful! Also I didn't come up with all of these ideas but I can try to decipher them if needed.
-
Enhance
ServerNode
(host with enhanced isolation)- get
ServerNode
to work with Ubuntu 18.04/16.04/14.04 - (unfortunately the overlayfs API changed across kernels)
- add tests
- rebase and merge against master
- get
-
Native/upstream support for P4 switches in Mininet (there is some existing work in ONOS)
- BMv2
- TAP4S
- eBPF
- Intel DPDK switch (need to get you more details)
-
Better support for IPv6
- make sure
IP()
andsetIP()
work properly - automatic IPv6 address assignment
- make sure
-
New (heavyweight) host/node types
-
DockerHost
(there are multiple existing implementations of this) LxcHost
KvmHost
-
-
New Switch/Router/forwarding node types
-
QuaggaRouter
- Some prior work in ONOS
- eBPF switch
- possible improvements to or derivatives of
LinuxRouter
- others?
-
-
Better support for mobile/WiFi network modeling
- make it easy to model mobile hosts
- make it easy to model abstracted access points
-
Easy support for AS (Autonomous System/ISP) modeling (notably BGP support)
- See
QuaggaRouter
above - or maybe BIRD etc.
- Some prior work in ONOS, Faucet
- ideally easy
mn
command-line dynamic generation and automatic configuration
- See
-
Merge in MultiOVS support
- Faster startup for large networks
-
MiniEdit
(GUI) enhancements? -
Upstream support for new controllers (e.g. Faucet, ONOS)
-
Running Mininet in Docker (or with Docker)
- In industry, helpful for CI testing and deployment
- Make research more reproducible (how?)
-
Cluster Edition; there is a lot of prior work, but still opportunities to enhance or try new approaches
- build a solid test infrastructure for Cluster Edition using
ServerNode
- simplify installation and configuration of Cluster Edition
- test and verify the various link type
- perhaps add other link types if it's useful?
- Could use Kubernetes or Docker Swarm?
- build a solid test infrastructure for Cluster Edition using
-
Vagrant support for Mininet environment (lower priority) ?
-
'Pure Python' Mininet
- rewrite
mnexec
in python
- rewrite
-
Fix interoperability between
TCLink
and OVS's bandwidth limits- there is prior work on this
-
Fix interoperability between
TCLink
andUserSwitch
queues -
Generate VMs on hosted CI infrastructure
- regular "nightly build" VMs
- Ubuntu VMs for x86
- Ubuntu VMs for Raspberry Pi
- Projects that leverage OpenFlow or P4Runtime for SDN are good candidates (some examples of using Mininet in ONOS project)
- Closed-loop network automation and enhancement using ML
- ONOS for network control and telemetry; Tensorflow? for model training
- Implement a new network control-plane protocol from recent research (as an ONOS application)