Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This aims to be a simplified version of the original mlc by @axn. OpenWrt can run inside LXC containers and therefore and are even supported via distrobuilder.

Likely this is just a collection of scripts, not a real replacement of mlc.

Use distrobuilder to generate metadata and rootfs for LXC

  • Install golang
  • Install distrobuilder via go build
  • sudo $GOPATH/bin/distrobuilder build-lxc mlc.yml

Now the current folder should contain meta.tar.xz and rootfs.tar.xz.

Create mlc-base image

This image is the base for all further nodes. Via overlayfs the storage usage is minimized.

  • sudo lxc-create -t local -B overlayfs mlc-base -- -m meta.tar.xz -f rootfs.tar.xz

Create mlc-N nodes

These nodes run actually the routing protocols, the name schema is mlc-N.

for i in {1..5}; do
    sudo lxc-clone -n mlc-base -N mlc-$i -B overlayfs -s

Start your containers and run command

for i in {1..5}; do
    sudo lxc-start mlc-$i
    sudo lxc-attach mlc-$i -- bmx7 -f0 dev=eth1.11

Add delay and drops to a bridge

sudo tc qdisc add dev lxcbr0 root netem delay 1000ms
sudo tc qdisc change dev lxcbr0 root netem loss 0.1%
You can’t perform that action at this time.