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.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
mlc.yml

README.md

mlc-ng

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 github.com/lxc/distrobuilder/distrobuilder
  • 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
done

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
done

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.