FireQOS Handling link speeds
Julian Tyler <[email protected]> Thu, 27 Aug 2015 09:17:42 +1000
| Newsgroups | gmane.comp.security.firewalls.firehol.user |
|---|---|
| Message-ID | <[email protected]> |
Hello all, I've been using fireqos on a DSL link for a few years and recently i've added a cable modem as that the way my country/area is going. However after playing around with fireqos on this new connection. I've discovered something that I don't how to fix. From my server outwards there is a 1000BaseT ethernet connection to Netgear CG3100D-2BPAUS. Which then connects via a docis coax connection with 115/2.5 (DWN/UP) megabit bandwidth. See end of message for extra info and my current fireqos config for that link. When the ethernet port between the cable modem and server is configured at 1000BaseT. I see while watching this link with fireqos status, a limit between 34mbs and 48 mbs, with backlog packets (yellow numbers), the speed slows and picks up again cyclically. However when the ethernet port is configure as 100BaseT. The link sits happily around 90 (+/- 5) mbs. Both test were to the same server (rsync/ssh), in a 10 minutes window. I believe this is due to the cable modem providing bursty traffic, which i guess fq_codel sees as overloading the link and starts backlogging/dropping to slow things down (overly aggressively) What is best way apart from running the ethernet link at 100BaseT to fix this? Extra Info: Using FireQOS 2.0.0 eth2 Byte Queue Limit: 3000 (same oddness at max BQL) eth2 offloads disabled. fireqos.hfc.conf below: DEVICE=eth2 SYNC_DWN=114000 SYNC_UP=2500 INPUT_SPEED="$(($SYNC_DWN * 95 / 100))kbit" OUTPUT_SPEED="$(($SYNC_UP * 95 / 100))kbit" LINKTYPE="ethernet" server_rtp_ports="udp/10000:10100" server_lol_ports="udp/5000:5500 tcp/8393:8400,2099,5223,5222,8088" server_openvpn_ports="any/1195:1198" server_mytorrent_ports="any/49710" # ------------- INTERFACES ------------- interface $DEVICE hfc bidirectional $LINKTYPE input rate $INPUT_SPEED output rate $OUTPUT_SPEED class voip commit 100kbit pfifo server sip client sip server rtp client stun class interactive input commit 5% output commit 10% server icmp server dns client dns server ssh client ssh client teamviewer client lol class chat input commit 1000kbit output commit 100kbit client facetime server hangouts client hangouts client gtalk client jabber class vpns input commit 5% output commit 10% server pptp server GRE server openvpn class servers server http class surfing prio keep commit 10% client surfing client rsync class ftp prio keep commit 10% client ftp class synacks output commit 1000kbit match tcp syn match tcp ack class default fq_codel options "noecn" class torrents fq_codel options "noecn" client torrents server mytorrent prio 1 match sports 16384:65535 dports 16384:65535 match mark 1024 match ip X.X.X.X prio 1 -------- Below is the output: tc qdisc show dev eth2 and tc qdisc show dev eth2-ifb qdisc htb 1: root refcnt 2 r2q 1 default 5000 direct_packets_stat 527 direct_qlen 1000 qdisc pfifo 11: parent 1:11 limit 1000p qdisc fq_codel 12: parent 1:12 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 13: parent 1:13 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 14: parent 1:14 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 15: parent 1:15 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 16: parent 1:16 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 17: parent 1:17 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 18: parent 1:18 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 19: parent 1:5000 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms qdisc fq_codel 20: parent 1:20 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms qdisc ingress ffff: parent ffff:fff1 ---------------- qdisc htb 1: root refcnt 2 r2q 79 default 5000 direct_packets_stat 1353 direct_qlen 32 qdisc pfifo 11: parent 1:11 limit 32p qdisc fq_codel 12: parent 1:12 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 13: parent 1:13 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 14: parent 1:14 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 15: parent 1:15 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 16: parent 1:16 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 17: parent 1:17 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 18: parent 1:18 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc fq_codel 19: parent 1:5000 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms qdisc fq_codel 20: parent 1:20 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms _______________________________________________ Firehol-support mailing list [email protected] http://lists.firehol.org/mailman/listinfo/firehol-support