# QoS configuration for OpenWrt # INTERFACES: config interface wan option classgroup "Default" option enabled 1 option overhead 1 option upload 1024 option download 1024 # RULES: config classify option target "Bulk" option srchost "192.168.1.20" config classify option target "Bulk" option dsthost "192.168.1.20" config classify option target "Bulk" option ipp2p "all" config classify option target "Bulk" option layer7 "edonkey" config classify option target "Bulk" option layer7 "bittorrent" config classify option target "Priority" option ports "22,53" config classify option target "Normal" option proto "tcp" option ports "20,21,25,80,110,443,993,995" config classify option target "Express" option ports "5190" config default option target "Express" option proto "udp" option pktsize "-500" config default option target "Express" option proto "udp" option srcports "27000-27030" config default option target "Express" option proto "udp" option dstports "27000-27030" config default option target "Express" option proto "udp" option srcports "6112-6113" config default option target "Express" option proto "udp" option dstports "6112-6113" config default option target "Bulk" option portrange "1024-65535" config reclassify option target "Priority" option proto "icmp" config reclassify option target "Priority" option proto "tcp" option pktsize "-128" option mark "!Bulk" option tcpflags "SYN" config reclassify option target "Priority" option proto "tcp" option pktsize "-128" option mark "!Bulk" option tcpflags "ACK" # Don't change the stuff below unless you # really know what it means :) config classgroup "Default" option classes "Priority Express Normal Bulk" option default "Normal" ### Params: # # maxsize: # limits packet size in iptables rule # # avgrate: (note: sum(avgrates) ~ 100) # rt m1 = avgrate / sum (avgrate) * max_bandwidth # rt m2 = avgrate * max_bandwidth / 100 # ls m1 = rt m1 # # packetsize & packetdelay: (only works if avgrate is present) # rt d = max( packetdelay, 'time required for packetsize to transfer' ) (smaller ps -> smaller d) # ls d = rt d # # priority: # ls m2 = priority / sum (priority) * max_bandwidth # # limitrate: # ul rate = limitrate * max_bandwidth / 100 config class "Priority" option packetsize 400 option maxsize 400 option avgrate 49 option priority 10 # u/d sum_avgrate = 10/10 config class "Express" option packetsize 1000 option maxsize 800 option avgrate 49 option priority 10 # u/d sum_avgrate = 60/60 config class "Normal" option avgrate 1 option packetsize 1500 option packetdelay 100 option priority 5 config class "Bulk" option avgrate 1 option packetdelay 300 option priority 1 # [EOF]