Add shaping to interfaces
authorMichael Spang <mspang@csclub.uwaterloo.ca>
Thu, 8 Jul 2010 22:09:25 +0000 (18:09 -0400)
committerMichael Spang <mspang@csclub.uwaterloo.ca>
Thu, 8 Jul 2010 22:13:22 +0000 (18:13 -0400)
routing/interfaces
routing/setup-routing [deleted file]

index 9ae14b7..653222e 100644 (file)
@@ -13,10 +13,10 @@ iface eth0 inet static
        address 129.97.134.42
        netmask 255.255.255.0
        gateway 129.97.134.1
+
+       # campus routes are checked first and are maintained here
        up   ip rule add from all lookup campus prio 1
        down ip rule del from all lookup campus prio 1
-       up   ip rule add from all lookup orion prio 2
-       down ip rule del from all lookup orion prio 2
        up   ip route add 129.97.0.0/16  via 129.97.134.1 dev eth0 table campus realm campus
        down ip route del 129.97.0.0/16  via 129.97.134.1 dev eth0 table campus realm campus
        up   ip route add 10.0.0.0/8     via 129.97.134.1 dev eth0 table campus realm campus
@@ -26,6 +26,22 @@ iface eth0 inet static
        up   ip route add 192.168.0.0/16 via 129.97.134.1 dev eth0 table campus realm campus
        down ip route del 192.168.0.0/16 via 129.97.134.1 dev eth0 table campus realm campus
 
+       # orion routes are checked second and are maintained by a cronjob
+       up   ip rule add from all lookup orion prio 2
+       down ip rule del from all lookup orion prio 2
+
+       # Traffic shaping - 100M cogent, 200M orion, 700M campus.
+       # Note that the border router is configured with a similar policy, but will
+       # drop rather than queue excess packets. These rules keep them from dropping.
+       up   tc qdisc  add dev eth0 parent root handle 1: htb default 2 r2q 10000
+       up   tc class  add dev eth0 parent 1:   classid 1:1 htb rate 1000Mbit
+       up   tc class  add dev eth0 parent 1:1  classid 1:2 htb rate 100Mbit
+       up   tc class  add dev eth0 parent 1:1  classid 1:3 htb rate 200Mbit
+       up   tc class  add dev eth0 parent 1:1  classid 1:4 htb rate 700Mbit ceil 1000Mbit
+       up   tc filter add dev eth0 parent 1:   protocol ip pref 2 route to orion  flowid 1:3
+       up   tc filter add dev eth0 parent 1:   protocol ip pref 1 route to campus flowid 1:4
+       down tc qdisc  del dev eth0 parent root
+
 auto eth0:mirror
 iface eth0:mirror inet static
        address 129.97.134.71
diff --git a/routing/setup-routing b/routing/setup-routing
deleted file mode 100644 (file)
index 199636d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# This file configures the packet scheduler
-
-tc qdisc  del dev eth0 parent root
-tc qdisc  add dev eth0 parent root handle 1: htb default 2 r2q 10000
-tc class  add dev eth0 parent 1:   classid 1:1 htb rate 1000Mbit
-tc class  add dev eth0 parent 1:1  classid 1:2 htb rate 100Mbit
-tc class  add dev eth0 parent 1:1  classid 1:3 htb rate 200Mbit
-tc class  add dev eth0 parent 1:1  classid 1:4 htb rate 700Mbit ceil 1000Mbit
-tc filter add dev eth0 parent 1:   protocol ip pref 2 route to orion  flowid 1:3
-tc filter add dev eth0 parent 1:   protocol ip pref 1 route to campus flowid 1:4