Modify

Opened 11 years ago

Closed 8 years ago

#1618 closed enhancement (fixed)

Patch qos-scripts for connbytes functionality

Reported by: netprince (at) vt (dot) edu Owned by: nbd
Priority: normal Milestone: Features Paradise
Component: packages Version: Kamikaze trunk
Keywords: qos, qos-scripts, connbytes Cc:

Description

My ISP recently began allowing very high throughput for the first 10Megs of a connection, after that the throughput returns to normal speeds. (aka, powerboost) This patch allows for two IMQ devices to be utilized, one for the fast, new connections, the other for the slower, longer connections. Here is a sample config:

config interface wan
        option classgroup  "Default"
        option enabled      1
        option upload       550
        option download     5500
        option connbytes   "9437184-"

config interface wan_boosted
        option device       vlan1
        option classgroup  "Default"
        option enabled      1
        option upload       550
        option download     12000
        option connbytes   "0-9437184"

There is also a patch to allow connections to be reclassified based on how many bytes have been transfered:

config reclassify
        option target       "Bulk"
        option mark         "Normal"
        option connbytes    "9437184-"

Attachments (2)

qos_scripts-connbytes.patch (1.5 KB) - added by netprince (at) vt (dot) edu 11 years ago.
Patch adds connbytes features to qos-scripts
qos_scripts-1bursttime.patch (3.1 KB) - added by netprince (at) vt (dot) edu 10 years ago.
I have been using this for a while, works well. Posted it here because someone mentioned it on the forum…

Download all attachments as: .zip

Change History (12)

Changed 11 years ago by netprince (at) vt (dot) edu

Patch adds connbytes features to qos-scripts

comment:1 Changed 11 years ago by nbd

  • Owner changed from developers to nbd
  • Status changed from new to assigned

Interesting 'feature' that your ISP offers. But I wonder if you really need to adapt the QoS script to deal with it.
I mean shouldn't it work if you just assume the highest spead for the downstream and let your ISP downgrade the downloads for you?
The main reason why ingress shaping is done in the first place is because of overfull queues on your ISP side, which may be reduced by what your ISP is doing...

comment:2 Changed 11 years ago by netprince (at) vt (dot) edu

I think you may be right, I tried the script with the boosted speed only, ping times appear to stay low.

Interestingly, the ISP is not applying the 'boost' on a per connection basis, but over a time period. For example, if I already have a download running at full speed, and I start another download, no boost. On the other hand, if I pause a single download for a few seconds, then resume it, I get a small amount of boost to make up for the time it was paused. I suppose this makes more sense from a fairness perspective. Just out of curiosity, I wonder if this kind of behavior can be emulated with linux/openwrt??

comment:3 Changed 11 years ago by nbd

Maybe. How long is the bursting time?

comment:4 Changed 11 years ago by nbd

connbytes match added in [7091]

comment:5 Changed 11 years ago by netprince (at) vt (dot) edu

The boost seems to last for exactly 20 megabytes. When a download reaches 20 megabytes, the rate drops from about 15 mbit to 5 mbit. I was thinking about using the limit target somehow because its a token bucket filter, but it doesn't fit the problem very well. I also thought about the connrate target, but it only works on connections, not all traffic seen.

comment:6 Changed 11 years ago by nbd

hfsc has built-in support for curves that support bursting. those are used to handle prioritization between classes. maybe it would fit the model quite well, if we apply the ISP's bursting settings (15 mbit as value for m1, 10000 msec as value for d, m2 as usual).

comment:7 Changed 11 years ago by netprince (at) vt (dot) edu

thanks, I'll look into those values and see what I can find out...

comment:8 Changed 11 years ago by netprince (at) vt (dot) edu

I found that if I specify m1,d,m2 for ul instead of a constant rate, then it seems to work perfectly. Let me know if you are interested in a patch...

Changed 10 years ago by netprince (at) vt (dot) edu

I have been using this for a while, works well. Posted it here because someone mentioned it on the forum...

comment:9 Changed 8 years ago by thepeople

  • Milestone changed from Kamikaze to Kamikaze Features Paradize
  • Version set to Kamikaze trunk

comment:10 Changed 8 years ago by thepeople

  • Resolution set to fixed
  • Status changed from assigned to closed

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.