[dtaht/ceropackages-3.10] bc4960: Rationalize the handling of ifb devices

GitHub noreply at github.com
Sun Apr 20 17:39:37 EDT 2014


  Branch: refs/heads/master
  Home:   https://github.com/dtaht/ceropackages-3.10
  Commit: bc4960c90b475441c0be80a27dbd02b21d0a41cc
      https://github.com/dtaht/ceropackages-3.10/commit/bc4960c90b475441c0be80a27dbd02b21d0a41cc
  Author: Sebastian Moeller <moeller0 at gmx.de>
  Date:   2014-04-17 (Thu, 17 Apr 2014)

  Changed paths:
    M net/sqm-scripts/files/usr/lib/sqm/functions.sh

  Log Message:
  -----------
  Rationalize the handling of ifb devices

The GUI currently can only create and tear down one SQM instance.
The limiting factor is that ifb devices are hard coded in run.sh,
in a quite inflexible way. This commit creates functions in functions.sh
that for a given interface will try to find an already existing ifb
defined for that device for tear down or re-use. Alternatively
the code will try to offer a currently unused IFB that has an
index <= numifbs. Work in progress.
Needs scrutiny!


  Commit: bfd74bc6d2d9ef69cd2d76167b98a38ad424dcce
      https://github.com/dtaht/ceropackages-3.10/commit/bfd74bc6d2d9ef69cd2d76167b98a38ad424dcce
  Author: Sebastian Moeller <moeller0 at gmx.de>
  Date:   2014-04-20 (Sun, 20 Apr 2014)

  Changed paths:
    M net/sqm-scripts/files/usr/lib/sqm/functions.sh

  Log Message:
  -----------
  Change the IFB selection routines to avoid reusing IFBs that are UP

Instead of hard codind IFB device numbers in run.sh, we now try
to slelect available IFBs somewhat smarter, to allow other concurrent
uses of IFBs in the system, like manualy set up qdiscs on other interfaces
than ge00. Unfortunately "tc -d qdisc" still reports unused IFBs and
I do not know an efficient way to figure out whether a given IFB is
"attached" to any other interface; so instead we now avoid the re-use of
IFBs that show up in "ifconfig". Note this works well with multiple htb
shapers on multiple interfaces IFF stop.sh makes sure to take IFBs down after use.


  Commit: 5ea612e5e6364e16a0495d1325e8fb08bfe1734d
      https://github.com/dtaht/ceropackages-3.10/commit/5ea612e5e6364e16a0495d1325e8fb08bfe1734d
  Author: Sebastian Moeller <moeller0 at gmx.de>
  Date:   2014-04-20 (Sun, 20 Apr 2014)

  Changed paths:
    M net/sqm-scripts/files/usr/lib/sqm/stop.sh

  Log Message:
  -----------
  Take IFBs down when they are not used anymore

Make sure unused IFBs get marked as down so that the IFB selection
routines in functions.sh know these can be reused.


  Commit: 51fda54d1db1086e2a507b837dde39ee60831568
      https://github.com/dtaht/ceropackages-3.10/commit/51fda54d1db1086e2a507b837dde39ee60831568
  Author: Sebastian Moeller <moeller0 at gmx.de>
  Date:   2014-04-20 (Sun, 20 Apr 2014)

  Changed paths:
    M net/sqm-scripts/files/usr/lib/sqm/run.sh

  Log Message:
  -----------
  Remove IFB device selection from run.sh

Selecting which IFB to use for SQM on a given interface was handeled
statically in run.sh until now. This worked well for single IFB instances
but has two short commings. a) it does not honor people using theses IFB
before calling SQM and b) it does not play well with multiple SQM instances
as it assumes IFB device num to depend on the position in the SQM config file.
And that breaks if say the second of three instances gets disabled and/or removed.
It turns out that functions.sh and stop.sh are much better suited to
take care of selecting IFB numbers and have been changed to actually do this.
Needs eyeballs and testing...


  Commit: 128d4b64620c986a09dd785d9f4e7261645d5785
      https://github.com/dtaht/ceropackages-3.10/commit/128d4b64620c986a09dd785d9f4e7261645d5785
  Author: Sebastian Moeller <moeller0 at gmx.de>
  Date:   2014-04-20 (Sun, 20 Apr 2014)

  Changed paths:
    M net/sqm-scripts/files/etc/config/sqm

  Log Message:
  -----------
  Change the default target calculation to auto

To held SQM work smoother on low bandwidth links we try to increase
the codel/fq_codel target and interval variables to account for the
long times required at low speeds to transfer even one packet per interval.
This is based on work done by the french ISP free. Needs testing...


  Commit: 9b7f4e907ae190bb22f9b14436ad90314ce548d7
      https://github.com/dtaht/ceropackages-3.10/commit/9b7f4e907ae190bb22f9b14436ad90314ce548d7
  Author: Sebastian Moeller <moeller0 at gmx.de>
  Date:   2014-04-20 (Sun, 20 Apr 2014)

  Changed paths:
    M luci/luci-app-sqm/files/sqm-cbi.lua

  Log Message:
  -----------
  Exose the ability to create SQM instances for multiple interfaces in the GUI

Since the sqm-scripts now can handle creating and tear-down of multiple
SQM instances expose this capability in the GUI. Note nothing prevents the
user to request multiple SQM instances on the same interfaces, of which the
last one takes precedence. Needs eyeballs and testing.


Compare: https://github.com/dtaht/ceropackages-3.10/compare/43f5e3093227...9b7f4e907ae1


More information about the Cerowrt-commits mailing list