Kernel and TC patches

The ADSL-optimizer Queues module is dependent on some kernel and TC/iproute2 patches.

Most of the patches in mainline: kernel 2.6.24

Theory

The kernel and TC patch is a link layer overhead modeling patch, which accounts for the overhead on ADSL. This include accounting for the ATM / AAL5 cell alignment and the specific type of ADSL encapsulation overhead.
Chapter 5, describes the ADSL protocol stack, which concerns the ATM/AAL5 cell alignment and a description of the types of ADSL encapsulation. Section 5.2 provides an overview of the different encapsulation methods and their specific overhead.
Chapter 6, contains a description and evaluation of the link layer overhead modeling. Section 6.1.2 gives a description of the patch, which describes the shortcomings of the Linux Traffic Control implementation of the "rate table" lookup system (which is used by all the Token Bucket based schedulers) and how this is turned into an advantage when doing ATM cell alignment.

Patches

Most of the patches in mainline: kernel 2.6.24

The patch consists of two parts a kernel and TC/iproute2 patch. The kernel patch is kept small, where the TC/iproute2 patch is more intrusive.

Patches: Kernel

The kernel patch only makes the rate table lookups more flexible. It doesn't have any knowledge of the ADSL/ATM layer.

Patches: iproute2/tc

The TC/iproute2 patch modifies the rate tables to account for the ADSL/ATM link layer / cell alignment.
Notice: The TC patch is against the new version of the iproute2 utility.

The TC/iproute2 patch modifies "tc_core.c" which influences all Token Bucket based schedulers, but the commandline parsing of the overhead parameter is only implemented for HTB.