=====Linux Traffic Control===== * Hardware: PC Engines APU (1) * OS: Voyage Linux 0.11 * **eth0:** management * **eth1:** bridge with eth1 * **eth2:** bridge with eth2 ==== Create bridge ==== * Install required packages:apt-get install bridge-utils * Configure network:cat > /etc/network/interfaces <<'EOF' auto lo iface lo inet loopback source /etc/network/interfaces.d/* EOF cat > /etc/network/interfaces.d/eth0.conf <<'EOF' auto eth0 iface eth0 inet dhcp EOF cat > /etc/network/interfaces.d/br0.conf <<'EOF' allow-hotplug eth1 iface eth1 inet manual allow-hotplug eth2 iface eth2 inet manual auto br0 iface br0 inet manual bridge_ports eth1 eth2 bridge_stp on bridge_maxwait 0 EOF ====Control traffic==== Emulate lower bandwidth, packet loss, latency, etc. * Example: # Clear queue discipline tc qdisc del dev eth1 root tc qdisc del dev eth2 root # Add 500msec latency tc qdisc add dev eth1 root handle 1:0 netem delay 500msec # Inspect rules tc -s qdisc ls dev eth1 qdisc pfifo_fast 0: root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 894508 bytes 1187 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 # Never allow more than 50mbit tc qdisc add dev eth1 handle 1: root htb default 11 tc class add dev eth1 parent 1: classid 1:1 htb rate 50mbit tc class add dev eth1 parent 1:1 classid 1:11 htb rate 50mbit tc qdisc add dev eth2 handle 1: root htb default 11 tc class add dev eth2 parent 1: classid 1:1 htb rate 50mbit tc class add dev eth2 parent 1:1 classid 1:11 htb rate 50mbit {{tag>[linux network traffic control]}}