Feature #331
drop in replacement for openwrt's qos is hard
| Status: | In Progress | Start date: | 01/30/2012 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | Performance | Spent time: | - | |
| Target version: | 1st Public Cerowrt release |
Description
I'd like to be able to preserve the existing qos system
and then compare it against a new one.
That said, the defaults generated for the openwrt qos system
explain a lot, to me, at least. We can do WAY better
than this, now.
root@OpenWrt:/etc/init.d# tc qdisc show dev ge00
qdisc hfsc 1: root refcnt 2 default 30
qdisc sfq 100: parent 1:10 limit 16256p quantum 1514b depth 127 divisor 1024 perturb 2sec
qdisc sfq 200: parent 1:20 limit 16256p quantum 1514b depth 127 divisor 1024 perturb 2sec
qdisc red 300: parent 1:30 limit 330Kb min 28160b max 84480b ecn
qdisc red 400: parent 1:40 limit 330Kb min 28160b max 84480b ecn
qdisc ingress ffff: parent ffff:fff1 ----------------
root@OpenWrt:/etc/init.d# tc filter show dev ge00
filter parent 1: protocol ip pref 1 fw
filter parent 1: protocol ip pref 1 fw handle 0x1/0xff classid 1:10
filter parent 1: protocol ip pref 2 fw
filter parent 1: protocol ip pref 2 fw handle 0x2/0xff classid 1:20
filter parent 1: protocol ip pref 3 fw
filter parent 1: protocol ip pref 3 fw handle 0x3/0xff classid 1:30
filter parent 1: protocol ip pref 4 fw
filter parent 1: protocol ip pref 4 fw handle 0x4/0xff classid 1:40
root@OpenWrt:/etc/init.d# iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
zone_wan_MSSFIX all -- anywhere anywhere
qos_Default all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
qos_Default all -- anywhere anywhere
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain qos_Default (2 references)
target prot opt source destination
CONNMARK all -- anywhere anywhere CONNMARK restore mask 0xff
qos_Default_ct all -- anywhere anywhere mark match 0x0/0xff
MARK all -- anywhere anywhere mark match 0x1/0xff length 400:65535 MARK and 0xffffff00
MARK all -- anywhere anywhere mark match 0x2/0xff length 800:65535 MARK and 0xffffff00
MARK udp -- anywhere anywhere mark match 0x0/0xff length 0:500 MARK xset 0x2/0xff
MARK icmp -- anywhere anywhere MARK xset 0x4/0xff
MARK tcp -- anywhere anywhere mark match 0x0/0xff tcp spts:1024:65535 dpts:1024:65535 MARK xset 0x4/0xff
MARK udp -- anywhere anywhere mark match 0x0/0xff udp spts:1024:65535 dpts:1024:65535 MARK xset 0x4/0xff
MARK tcp -- anywhere anywhere length 0:128 mark match ! 0x4/0xff tcpflags: FIN,SYN,RST,PSH,ACK,URG/SYN MARK xset 0x1/0xff
MARK tcp -- anywhere anywhere length 0:128 mark match ! 0x4/0xff tcpflags: FIN,SYN,RST,PSH,ACK,URG/ACK MARK xset 0x1/0xff
Chain qos_Default_ct (1 references)
target prot opt source destination
MARK tcp -- anywhere anywhere mark match 0x0/0xff tcp multiport ports ssh,222,domain MARK xset 0x1/0xff
MARK tcp -- anywhere anywhere mark match 0x0/0xff tcp multiport ports ftp-data,ftp,smtp,www,81,8123,pop3,https,imaps,pop3s MARK xset 0x3/0xff
MARK udp -- anywhere anywhere mark match 0x0/0xff udp multiport ports domain,ntp,sip,5190 MARK xset 0x2/0xff
MARK tcp -- anywhere anywhere mark match 0x0/0xff tcp multiport ports rsync MARK xset 0x4/0xff
MARK udp -- anywhere anywhere mark match 0x0/0xff udp multiport ports rsync MARK xset 0x4/0xff
CONNMARK all -- anywhere anywhere CONNMARK save mask 0xff
Chain zone_wan_MSSFIX (1 references)
target prot opt source destination
root@OpenWrt:/etc/init.d# iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
zone_wan_MSSFIX all -- anywhere anywhere
qos_Default all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
qos_Default all -- anywhere anywhere
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain qos_Default (2 references)
target prot opt source destination
CONNMARK all -- anywhere anywhere CONNMARK restore mask 0xff
qos_Default_ct all -- anywhere anywhere mark match 0x0/0xff
MARK all -- anywhere anywhere mark match 0x1/0xff length 400:65535 MARK and 0xffffff00
MARK all -- anywhere anywhere mark match 0x2/0xff length 800:65535 MARK and 0xffffff00
MARK udp -- anywhere anywhere mark match 0x0/0xff length 0:500 MARK xset 0x2/0xff
MARK icmp -- anywhere anywhere MARK xset 0x4/0xff
MARK tcp -- anywhere anywhere mark match 0x0/0xff tcp spts:1024:65535 dpts:1024:65535 MARK xset 0x4/0xff
MARK udp -- anywhere anywhere mark match 0x0/0xff udp spts:1024:65535 dpts:1024:65535 MARK xset 0x4/0xff
MARK tcp -- anywhere anywhere length 0:128 mark match ! 0x4/0xff tcpflags: FIN,SYN,RST,PSH,ACK,URG/SYN MARK xset 0x1/0xff
MARK tcp -- anywhere anywhere length 0:128 mark match ! 0x4/0xff tcpflags: FIN,SYN,RST,PSH,ACK,URG/ACK MARK xset 0x1/0xff
Chain qos_Default_ct (1 references)
target prot opt source destination
MARK tcp -- anywhere anywhere mark match 0x0/0xff tcp multiport ports ssh,222,domain MARK xset 0x1/0xff
MARK tcp -- anywhere anywhere mark match 0x0/0xff tcp multiport ports ftp-data,ftp,smtp,www,81,8123,pop3,https,imaps,pop3s MARK xset 0x3/0xff
MARK udp -- anywhere anywhere mark match 0x0/0xff udp multiport ports domain,ntp,sip,5190 MARK xset 0x2/0xff
MARK tcp -- anywhere anywhere mark match 0x0/0xff tcp multiport ports rsync MARK xset 0x4/0xff
MARK udp -- anywhere anywhere mark match 0x0/0xff udp multiport ports rsync MARK xset 0x4/0xff
CONNMARK all -- anywhere anywhere CONNMARK save mask 0xff
Chain zone_wan_MSSFIX (1 references)
target prot opt source destination
History
Updated by Dave Täht over 1 year ago
openwrt's shaper also ignores ipv6 entirely
Updated by Dave Täht about 1 year ago
- Status changed from New to In Progress
- Target version changed from 14 to 1st Public Cerowrt release