MN(1)

πŸ’– MN(1) β€” the mn girlies' guide to making a Mininet network πŸ’–

okay so bestie, you want a whole network? like, a fake one? on purpose? say less. this is the manual for mn, a User Command, and it is literally the moment. πŸ¦‹


✨ NAME ✨

mn β€” create a Mininet network. that's it. that's the whole vibe. πŸŽ€


🌸 SYNOPSIS 🌸

mn [options]

πŸ‘‘ DESCRIPTION πŸ‘‘

(type mn -h for details) β€” yes girl, the program will explain itself if you ask nicely.

The mn utility creates Mininet network from the command line. It can create parametrized topologies, invoke the Mininet CLI, and run tests.

so like: make the network, poke at the network, or run tests on the network. main character energy across the whole lifecycle fr fr. πŸ’…


πŸ’œ OPTIONS πŸ’œ

  • -h, --help β€” show this help message and exit. the classic. the icon. 🫢
  • --switch=SWITCH β€” pick your switch. the options are:
default|ivs|lxbr|ovs|ovsbr|ovsk|user[,param=value...]
user=UserSwitch ovs=OVSSwitch ovsbr=OVSBridge ovsk=OVSSwitch
ivs=IVSSwitch lxbr=LinuxBridge default=OVSSwitch
  • --host=HOST β€” pick your host type:
cfs|proc|rt[,param=value...] proc=Host rt=CPULimitedHost{'sched':
'rt'} cfs=CPULimitedHost{'sched': 'cfs'}
  • --controller=CONTROLLER β€” pick your controller:
default|none|nox|ovsc|ref|remote|ryu[,param=value...]
ref=Controller ovsc=OVSController nox=NOX remote=RemoteController
ryu=Ryu default=DefaultController none=NullController
  • --link=LINK β€” pick your link type:
default|ovs|tc|tcu[,param=value...] default=Link tc=TCLink
tcu=TCULink ovs=OVSLink
  • --topo=TOPO β€” pick your topology shape:
linear|minimal|reversed|single|torus|tree[,param=value ...]
minimal=MinimalTopo linear=LinearTopo
reversed=SingleSwitchReversedTopo single=SingleSwitchTopo
tree=TreeTopo torus=TorusTopo
  • -c, --clean β€” clean and exit. no network, just vibes. 🧚
  • --custom=CUSTOM β€” read custom classes or params from .py file(s). bring your own lore ✨
  • --test=TEST β€” run a test:
pingall|pingpair|iperf|iperfudp|all|none|build
  • -x, --xterms β€” spawn xterms for each node. one lil terminal window per node, it's giving chaos and i'm obsessed 😭
  • -i IPBASE, --ipbase=IPBASE β€” base IP address for hosts.
  • --mac β€” automatically set host MACs.
  • --arp β€” set all-pairs ARP entries.
  • -v VERBOSITY, --verbosity=VERBOSITY β€” how much do you wanna hear about it:
debug|info|output|warning|warn|error|critical
  • --innamespace β€” sw and ctrl in namespace? (yes that's the actual question it's asking 🫠)
  • --listenport=LISTENPORT β€” base port for passive switch listening.
  • --nolistenport β€” don't use passive listening port.
  • --pre=PRE β€” CLI script to run before tests.
  • --post=POST β€” CLI script to run after tests.
  • --pin β€” pin hosts to CPU cores. ⚠️ requires --host cfs or --host rt, so set that first bestie, don't skip steps.
  • --nat [option=val...] β€” adds a NAT to the topology that connects Mininet hosts to the physical network.
⚠️ Warning: This may route any traffic on the machine that uses Mininet's IP subnet into the Mininet network. If you need to change Mininet's IP subnet, see the --ipbase option.

like. that is a real warning. read it twice. πŸ’€

  • --version β€” prints the version and exits.
  • -w, --wait β€” wait for switches to connect. patience, queen. 🌸
  • -t WAIT, --twait=WAIT β€” timed wait (s) for switches to connect.
  • --cluster=server1,server2... β€” run on multiple servers. (experimental!)
  • --placement=block|random β€” node placement for --cluster. (experimental!)

🌈 SEE ALSO 🌈

nothing else listed in here, bestie β€” this page is self-contained. iconic behaviour honestly. πŸ’…


and that's the whole page!! this manual is from mn 2.3.1b4, dated September 2025, and it lives in the User Commands section of the manual pages. tysm for reading, go build a topology, slay, periodt πŸŽ€βœ¨πŸ¦‹πŸ’–

πŸ“¦ where this page comes from