Skip to content

Instantly share code, notes, and snippets.

@beardicus
Last active February 10, 2026 19:57
Show Gist options
  • Select an option

  • Save beardicus/1415a09537b28681f46e to your computer and use it in GitHub Desktop.

Select an option

Save beardicus/1415a09537b28681f46e to your computer and use it in GitHub Desktop.

Revisions

  1. beardicus revised this gist Oct 21, 2015. No changes.
  2. beardicus revised this gist Oct 20, 2015. No changes.
  3. beardicus revised this gist Jan 20, 2015. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion edgerouter-qos
    Original file line number Diff line number Diff line change
    @@ -51,7 +51,6 @@ set interfaces ethernet eth1 traffic-policy out download
    set traffic-policy shaper upload
    set traffic-policy shaper upload bandwidth 5Mbit


    # high priority, interactive, ssh, dns, icmp
    set traffic-policy shaper upload class 2 bandwidth 10%
    set traffic-policy shaper upload class 2 ceiling 100%
  4. beardicus revised this gist Jan 20, 2015. 1 changed file with 70 additions and 9 deletions.
    79 changes: 70 additions & 9 deletions edgerouter-qos
    Original file line number Diff line number Diff line change
    @@ -1,32 +1,93 @@

    #
    # fair-queue based settings for EdgeRouter Lite traffic shaping
    #

    # download is typically 30 and change. everything is “default” right
    # now, so this isn’t doing much
    # download is typically 30 and change. everything can burst to 100%
    # of bandwidth, priority rules keep the garbage in check

    set traffic-policy shaper download
    set traffic-policy shaper download bandwidth 30Mbit
    set traffic-policy shaper download default bandwidth 100%

    # set default download priority
    set traffic-policy shaper download default bandwidth 70%
    set traffic-policy shaper download default ceiling 100%
    set traffic-policy shaper download default priority 3
    set traffic-policy shaper download default queue-type fair-queue

    # megasuper priority dns and ssh and icmp
    set traffic-policy shaper download class 10 bandwidth 10%
    set traffic-policy shaper download class 10 ceiling 100%
    set traffic-policy shaper download class 10 priority 5
    set traffic-policy shaper download class 10 queue-type fair-queue
    set traffic-policy shaper download class 10 match icmp ip protocol icmp
    set traffic-policy shaper download class 10 match ssh ip source port 22
    set traffic-policy shaper download class 10 match dns ip source port 53

    # semipriority http and https
    set traffic-policy shaper download class 20 bandwidth 10%
    set traffic-policy shaper download class 20 ceiling 100%
    set traffic-policy shaper download class 20 priority 4
    set traffic-policy shaper download class 20 queue-type fair-queue
    set traffic-policy shaper download class 20 match http ip source port 80
    set traffic-policy shaper download class 20 match https ip source port 443

    # garbage bittorrent
    set traffic-policy shaper download class 30 bandwidth 10%
    set traffic-policy shaper download class 30 ceiling 100%
    set traffic-policy shaper download class 30 priority 1
    set traffic-policy shaper download class 30 queue-type fair-queue
    # FIXME: no port ranges in QOS rules.
    # instead, mark packets in a firewall rule and match on that
    #set traffic-policy shaper download class 30 match bittorrent ip source port 6881-6889
    set traffic-policy shaper download class 30 match transmission ip source port 51413

    set interfaces ethernet eth1 traffic-policy out download


    # upload is typically 5.5-ish. should be clamped at less than 100%
    # of advertised bandwidth to avoid buffer bloat and lag

    set traffic-policy shaper upload
    set traffic-policy shaper upload bandwidth 5Mbit

    # guarantee default traffic at least 50% of bandwidth
    set traffic-policy shaper upload default bandwidth 50%

    # high priority, interactive, ssh, dns, icmp
    set traffic-policy shaper upload class 2 bandwidth 10%
    set traffic-policy shaper upload class 2 ceiling 100%
    set traffic-policy shaper upload class 2 priority 5
    set traffic-policy shaper upload class 2 queue-type fair-queue
    set traffic-policy shaper upload class 2 queue-limit 16
    set traffic-policy shaper upload class 2 match icmp ip protocol icmp
    set traffic-policy shaper upload class 2 match ssh ip destination port 22
    set traffic-policy shaper upload class 2 match dns ip destination port 53

    # high priority but not quite so much, http, https
    set traffic-policy shaper upload class 5 bandwidth 10%
    set traffic-policy shaper upload class 5 ceiling 100%
    set traffic-policy shaper upload class 5 priority 4
    set traffic-policy shaper upload class 5 queue-type fair-queue
    set traffic-policy shaper upload class 5 match http ip destination port 80
    set traffic-policy shaper upload class 5 match https ip destination port 443

    # everything else is middle-of-the-road priority
    set traffic-policy shaper upload default bandwidth 60%
    set traffic-policy shaper upload default ceiling 100%
    set traffic-policy shaper upload default priority 3
    set traffic-policy shaper upload default queue-type fair-queue

    # crashplan traffic only guaranteed 10%
    # crashplan traffic only, set DSCP to 32 in crashplan, matches 8 here (?)
    set traffic-policy shaper upload class 10 bandwidth 10%
    set traffic-policy shaper upload class 10 ceiling 90%
    set traffic-policy shaper upload class 10 match crashplan ip dscp 8
    set traffic-policy shaper upload class 10 ceiling 100%
    set traffic-policy shaper upload class 10 priority 2
    set traffic-policy shaper upload class 10 queue-type fair-queue
    set traffic-policy shaper upload class 10 match crashplan ip dscp 8

    # bulk, bittorrent from transmission client on default port
    set traffic-policy shaper upload class 20 bandwidth 10%
    set traffic-policy shaper upload class 20 ceiling 100%
    set traffic-policy shaper upload class 20 priority 1
    set traffic-policy shaper upload class 20 queue-type fair-queue
    set traffic-policy shaper upload class 20 match bittorrent ip source port 51413

    set interfaces ethernet eth0 traffic-policy out upload
    set interfaces ethernet eth0 traffic-policy out upload
  5. beardicus created this gist Dec 19, 2014.
    32 changes: 32 additions & 0 deletions edgerouter-qos
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,32 @@
    #
    # fair-queue based settings for EdgeRouter Lite traffic shaping
    #

    # download is typically 30 and change. everything is “default” right
    # now, so this isn’t doing much
    set traffic-policy shaper download
    set traffic-policy shaper download bandwidth 30Mbit
    set traffic-policy shaper download default bandwidth 100%
    set traffic-policy shaper download default ceiling 100%
    set traffic-policy shaper download default queue-type fair-queue

    set interfaces ethernet eth1 traffic-policy out download


    # upload is typically 5.5-ish. should be clamped at less than 100%
    # of advertised bandwidth to avoid buffer bloat and lag
    set traffic-policy shaper upload
    set traffic-policy shaper upload bandwidth 5Mbit

    # guarantee default traffic at least 50% of bandwidth
    set traffic-policy shaper upload default bandwidth 50%
    set traffic-policy shaper upload default ceiling 100%
    set traffic-policy shaper upload default queue-type fair-queue

    # crashplan traffic only guaranteed 10%
    set traffic-policy shaper upload class 10 bandwidth 10%
    set traffic-policy shaper upload class 10 ceiling 90%
    set traffic-policy shaper upload class 10 match crashplan ip dscp 8
    set traffic-policy shaper upload class 10 queue-type fair-queue

    set interfaces ethernet eth0 traffic-policy out upload