How to configure QoS for CrashPlan, which connects on HTTPS port, without affecting all other HTTPS traffic?
I think I have this working for DD-WRT + Crashplan.
First, test your connection with speedtest.net or similar performance tool.
Configure TOS in Crashplan
In Crashplan, go to Settings → Network → TCP packet TOS. Here I selected DSCP and input a value of 56. That corresponds to
0x38
; shifting right two bits gives us0xE
, which is a DSCP codepoint we can program intoIPTABLES
.I set this value for both WAN and LAN; after saving, I did a reboot.
To confirm this was OK, I installed Wireshark and did a trace on
tcp.port == 443
. After starting Crashplan I could see the output backup traffic; sure enough, expanding the IP header showed that the DS codepoint was0xE
.Enable QoS in DD-WRT
Simply enable QoS on the DD-WRT router, as described in the above comment: NAT/QOS → QoS → Start QoS (set to "Enable").
I programmed in 85% of my available upload and download bandwidth.
Create the iptables rule
Here, we configure
iptables
to pattern match on the DS code point (DSCP) and then 'set mark' to the BULK group. Go to Administration → Commands and input the following into the text box:iptables -t mangle -I POSTROUTING -m dscp --dscp 0x0e -j MARK --set-mark 40 iptables -t mangle -I PREROUTING -m dscp --dscp 0x0e -j MARK --set-mark 40
Click "Save Firewall" to commit these changes.
Finally, I followed up with a reboot.
Test
I found it difficult to produce a table or diagnostic that showed that my rules were in effect. So, I simply did the ultimate test, which was to re-run the performance test described above, while Crashplan was running. Success! The upload and download speeds are basically the same, even though Crashplan was running in the background.
There's a setting for CrashPlan to tag its packets itself:
Set the DSCP value you want via local machine policy using the process name and destination port to ensure you only tag crashplan traffic, not anything else on port 443.
I just blogged about this, including video:
http://blog.paulgeorge.co.uk/2012/06/07/crashplan-upload-traffic-with-dscp-tos-and-qos-on-windows-7/
EDIT : updated post with router setup http://blog.paulgeorge.co.uk/2012/06/11/setting-up-qos-on-draytek-2920n-router-using-dscp/