summaryrefslogtreecommitdiffstats
path: root/extra/iproute2-qos/qos.confd
diff options
context:
space:
mode:
Diffstat (limited to 'extra/iproute2-qos/qos.confd')
-rw-r--r--extra/iproute2-qos/qos.confd314
1 files changed, 0 insertions, 314 deletions
diff --git a/extra/iproute2-qos/qos.confd b/extra/iproute2-qos/qos.confd
deleted file mode 100644
index 60d409372..000000000
--- a/extra/iproute2-qos/qos.confd
+++ /dev/null
@@ -1,314 +0,0 @@
-###########################################################################################################
-#
-# Traffic Control configuration
-#
-# Copyright (c) 2009 iilluzion
-#
-# Distributed under GPL-2
-#
-###########################################################################################################
-##### MAIN CONFIGURATION PARAMETERS
-####
-### uplink and downlink rates should be set very precisely
-## RATE_SUB_PERCENT should be set to allow the Router to control a queue
-#
-###########################################################################################################
-# Specify the upload speed of your internet connection (kbit, mbit).
-# Since ISPs tend to overestimate the speeds they offer, it would
-# probably be best if you measure this on a free line.
-#
-### UPLINK_RATE=128kbit
-### UPLINK_RATE=256kbit
-UPLINK_RATE=512kbit
-
-
-###########################################################################################################
-# Specify the download speed of your internet connection (kbit, mbit).
-#
-### DOWNLINK_RATE=256kbit
-### DOWNLINK_RATE=512kbit
-DOWNLINK_RATE=1024kbit
-
-
-###########################################################################################################
-# In order to prevent traffic queuing at the ISP side or in your modem,
-# we shape to a slightly lower rate. This way the bottleneck is the router,
-# not the ISP or modem, which allows us more direct control of shaping.
-#
-### RATE_SUB_PERCENT=20
-### RATE_SUB_PERCENT=15
-RATE_SUB_PERCENT=10
-
-
-###########################################################################################################
-# Specify the local network speed (kbit, mbit)
-#
-LAN_RATE=9mbit
-
-
-###########################################################################################################
-##### ADVANCED CONFIGURATION PARAMETERS
-####
-###
-##
-#
-###########################################################################################################
-# Helper Functions
-#
-# Convert rate to bites per second format (bits)
-bits()
-{
- RATE=0
- R_RATE=$1
- R_NUMBER=`echo "$R_RATE" | sed -e "s/[^0-9]//g"`
- R_UNIT=`echo "$R_RATE" | sed -e "s/[0-9]//g"`
-
- if [ "$R_UNIT" == "" ]; then
- R_UNIT="kbit"
- fi
-
- if [ "$R_UNIT" == "kbps" ]; then R_RATE=$(($R_NUMBER * 1024 * 8))
- elif [ "$R_UNIT" == "mbps" ]; then R_RATE=$(($R_NUMBER * 1024 * 1024 * 8))
- elif [ "$R_UNIT" == "mbit" ]; then R_RATE=$(($R_NUMBER * 1024 * 1024))
- elif [ "$R_UNIT" == "kbit" ]; then R_RATE=$(($R_NUMBER * 1024))
- elif [ "$R_UNIT" == "bps" ]; then R_RATE=$(($R_NUMBER * 8))
- else
- echo "Unknown unit '$R_UNIT' (mbps, mbit, kbit, bps)"
- fi
-
- echo "$R_RATE"
-}
-
-###########################################################################################################
-# Define supported Queuing Disciplines
-#
-QDISCS="prio|tbf|htb|hfsc|sfq|red|pfifo"
-
-
-###########################################################################################################
-# Traffic Control parameters will be calculated depending on link directions
-#
-DIRECTION=$1
-
-
-###########################################################################################################
-# Specify the network devices that are connected to the internet.
-# If you are a dialup or PPPoE user, you have to re-run the QoS script
-# every time you connect.
-#
-### WAN_DEVICES="ppp0"
-WAN_DEVICES="$(ip route show 0.0.0.0/0 | grep dev | sed 's/.*dev //' | awk '{print $1}')"
- WAN_DEVICES="$WAN_DEVICES $(ip addr | grep gre | egrep -v "gre0" | awk '/^[0-9]/ { gsub(":", ""i, $2); print $2}' | cut -f 1 -d'@')"
-
-
-###########################################################################################################
-# Specify the network devices which are connected with your local network segments.
-#
-### LAN_DEVICES="eth1"
-LAN_DEVICES=`awk -F: 'NR > 2 { print $1 }' /proc/net/dev | egrep -v "lo|gre0|$(echo $WAN_DEVICES | sed s/" "/"|"/g)"`
-
-
-###########################################################################################################
-# Calculaton of WAN up/down link rates
-#
-DIRECTION=${DIRECTION:-ALL}
- if [ $DIRECTION = "ALL" ]; then
- DEVICES="$WAN_DEVICES $LAN_DEVICES"
- fi
-
- if [ $DIRECTION = "UP" ]; then
- WAN_RATE=`bits $UPLINK_RATE`
- DEVICES=$WAN_DEVICES
- fi
-
- if [ $DIRECTION = "DOWN" ]; then
- WAN_RATE=`bits $DOWNLINK_RATE`
- DEVICES=$LAN_DEVICES
- fi
-
- WAN_SUB_RATE=$((WAN_RATE - (RATE_SUB_PERCENT * WAN_RATE / 100)))
- INTERACTIVE_RATE=$((WAN_SUB_RATE / 5))
- PRIVILEGED_RATE=$((WAN_SUB_RATE / 2))
- BESTEFFORT_RATE=$((WAN_SUB_RATE / 3))
-
- OUT_OF_WAN_RATE=`bits $LAN_RATE`
- OUT_OF_WAN_RATE=$((OUT_OF_WAN_RATE - WAN_RATE))
-
-
-###########################################################################################################
-# Specify root Queuing Disciplines
-#
-# Recommendations:
-# htb: if link is not congested or you want to control busrts of traffic; recommended for downstream.
-# hfsc: if link is congested and you need to control guarantees of delay; recommended for upstream.
-# dmax = 50-100 [ms] = 50000-100000 [microsec]
-# umax = MIN (rate * (dmax / 1000), 1500) [b]
-# prio: if rate is variable and you want to be sure that interactive traffic has ultimate priority
-# none: if no egress shaping is desired
-# (in this case you may want to setup only ingress policing)
-#
-DOWNLINK_QDISC=htb
-### DOWNLINK_QDISC=hfsc
-### DOWNLINK_QDISC=prio
-### DOWNLINK_QDISC=none
-#
-UPLINK_QDISC=hfsc
-### UPLINK_QDISC=htb
-### UPLINK_QDISC=prio
-### UPLINK_QDISC=none
-
-
-###########################################################################################################
-# Calculation of Queuing Discipline parameters
-#
-INTERACTIVE_PRIO_LATENCY=50000
-INTERACTIVE_PRIO_BURST=$((INTERACTIVE_RATE / 100 / 8))
-#
-INTERACTIVE_HFSC_DMAX=50000
-INTERACTIVE_HFSC_UMAX=$((INTERACTIVE_RATE * INTERACTIVE_HFSC_DMAX / 1000 / 1000))
- [ $INTERACTIVE_HFSC_UMAX -gt 1500 ] && INTERACTIVE_HFSC_UMAX=1500
-#
-PRIVILEGED_HFSC_DMAX=100000
-PRIVILEGED_HFSC_UMAX=$((PRIVILEGED_RATE * PRIVILEGED_HFSC_DMAX / 1000 / 1000))
- [ $PRIVILEGED_HFSC_UMAX -gt 1500 ] && PRIVILEGED_HFSC_UMAX=1500
-
-
-###########################################################################################################
-# Specify INGRESS policing
-#
-# Recommendations:
-# none: if link is not congested
-# police: if link is constantly congested
-#
-### DOWNLINK_INGRESS=police
-DOWNLINK_INGRESS=none
-### UPLINK_INGRESS=police
-UPLINK_INGRESS=none
-
-
-###########################################################################################################
-# Calculation of policing bursts
-# burst = rate / 17 (taken basing on experemental results)
-#
-POLICE_BURST_SCALE=17
- INTERACTIVE_POLICE_BURST=$((INTERACTIVE_RATE / POLICE_BURST_SCALE))
- PRIVILEGED_POLICE_BURST=$((PRIVILEGED_RATE / POLICE_BURST_SCALE))
- BESTEFFORT_POLICE_BURST=$((BESTEFFORT_RATE / POLICE_BURST_SCALE))
-
-
-###########################################################################################################
-# Specify leaf Queuing Disciplines
-# Recommendations:
-# "pfifo limit 5": Interactive, Priviledged (real-time streams, IPSEC)
-# "sfq perturb 10": Best-Effort (TCP sessions or best-effort class traffic)
-# "red <parameters>": Best-Effort (hightly congested links or high-speed Internet [> 10Mbit/sec])
-# Random Early Detect (RED) parameters calculation:
-# min = maximum delay * rate (dalay ~ 200ms = 0.2sec) [b]
-# max = 3 * min [b]
-# avpkt = 1000 (MTU 1500)
-# limit = 8 * max [b]
-# burst = (min + min + max)/(3 * avpkt) [b]
-# probability = 0.02
-INTERACTIVE_LEAF_QDISC="pfifo limit 5"
-PRIVILEGED_LEAF_QDISC="pfifo limit 5"
-### BESTEFFORT_LEAF_QDISC="sfq perturb 10"
-#
-RED_DELAY=200
-RED_MIN=$((RED_DELAY * BESTEFFORT_RATE / 1000 / 8)) # devided on 8 since rate given in bit/s so we get bytes
-RED_MAX=$((3 * RED_MIN))
-RED_AVPKT=1000
-RED_PROB=0.02
-RED_BURST=$(((RED_MIN + RED_MIN + RED_MAX) / (3 * RED_AVPKT)))
-RED_LIMIT=$((8 * RED_MAX))
-#
- BESTEFFORT_LEAF_QDISC="red min $RED_MIN max $RED_MAX burst $RED_BURST limit $RED_LIMIT probability $RED_PROB avpkt $RED_AVPKT"
-#
-LAN_LEAF_QDISC="sfq perturb 10"
-
-
-###########################################################################################################
-# Specify filter rules (see tc, tc-filters man page).
-# You may have multiple <CLASS-NAME>_FILTER_<n> items.
-# Maximum 100 filter items are allowed for each class
-#
-# Interactive Class Traffic Filters
-#
-# UDP
-#
-INTERACTIVE_FILTER_1="protocol ip prio 100 u32 match ip protocol 0x11 0xff"
-#
-# ICMP
-#
-INTERACTIVE_FILTER_2="protocol ip prio 100 u32 match ip protocol 0x1 0xff"
-#
-# ACK with payload < 64 bytes (32-bit version)
-#
-INTERACTIVE_FILTER_3="protocol ip prio 100 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u16 0x0000 0xffc0 at 2 match u8 0x10 0xff at 33"
-#
-# ACK with payload < 64 bytes
-#
-INTERACTIVE_FILTER_4="protocol ip prio 100 u32 match ip protocol 6 0xff match u8 0x10 0xff at nexthdr+13 match u16 0x0000 0xffc0 at 2"
-#
-# TOS: 0x10, 0x18, 0xb8(ef)
-#
-INTERACTIVE_FILTER_5="protocol ip prio 100 u32 match ip tos 0x10 0xff"
-INTERACTIVE_FILTER_6="protocol ip prio 100 u32 match ip tos 0x18 0xff"
-INTERACTIVE_FILTER_7="protocol ip prio 100 u32 match ip tos 0xb8 0xff"
-
-
-###########################################################################################################
-# Priviledged Class Traffic Filters
-#
-# SSH
-#
-PRIVILEGED_FILTER_1="protocol ip prio 100 u32 match ip dport 22 0xffff"
-PRIVILEGED_FILTER_2="protocol ip prio 100 u32 match ip sport 22 0xffff"
-#
-# Remote Desktop
-#
-PRIVILEGED_FILTER_3="protocol ip prio 100 u32 match ip dport 3389 0xffff"
-PRIVILEGED_FILTER_4="protocol ip prio 100 u32 match ip sport 3389 0xffff"
-#
-# ESP
-#
-PRIVILEGED_FILTER_5="protocol ip prio 100 u32 match ip protocol 0x32 0xff"
-#
-# AH
-#
-PRIVILEGED_FILTER_6="protocol ip prio 100 u32 match ip protocol 0x33 0xff"
-#
-# TOS: 0x88(af41)
-#
-PRIVILEGED_FILTER_7="protocol ip prio 100 u32 match ip tos 0x88 0xff"
-#
-# IPSEC-NAT
-#
-PRIVILEGED_FILTER_8="protocol ip prio 90 u32 match ip protocol 0x11 0xff match ip dport 4500 0xffff"
-PRIVILEGED_FILTER_9="protocol ip prio 90 u32 match ip protocol 0x11 0xff match ip sport 4500 0xffff"
-
-
-###########################################################################################################
-# Best-Effort Class Traffic Filters
-# By default ALL unclassified traffic is being assined to Best-Effort class
-# You may specify additional filters here
-#
-# Examples: Any traffic from/to 192.168.1.0/24 network will be unconditionally classified as best-effort
-#
-### BESTEFFORT_FILTER_1="protocol ip prio 3 u32 match ip src 192.168.1.0/24"
-### BESTEFFORT_FILTER_2="protocol ip prio 4 u32 match ip dst 192.168.1.0/24"
-#
-
-###########################################################################################################
-# LAN Class Traffic Filters
-#
-# Traffic Originated from router
-#
-# Example:
-###LAN_FILTER_1="protocol ip prio 10 u32 match ip src 192.168.1.10"
-
-#
-##
-###
-####
-##### END OF GENERIC ALPINE SETUP
-###########################################################################################################