|
The support for quality of service
is available from linux kernel versions
2.1.90. However, the support is
more comprehensive in the more recent ker-
nels. This document is written with reference to the kernel version 2.2.1.
This
kernel also has support for di_erentiated services in the form of a patch, that
can be downloaded from
ftp://lrcftp.ep.ch/pub/linux/di_serv/patches/ds-
3.patch.gz. This patch needs to be applied
in order to exercise all the QoS
2
features supported in linux.
The latest linux kernels can be downloaded from
http://www.kernelnotes.org/.
1. Apply the di_-serv
patch to the linux-2.2.1 source tree.
2. Do a 'make xcon_g'
or 'make menucon_g' or 'make make con_g' in the
/usr/src/linux
directory.
3. Set the EXPERIMENTAL OPTIONS to
'y'.
4. Under networking options, say
'y' to the following kernel options: Ker-
nel/User netlink
socket, Routing messages,TCP/IP networking and
QoS and/or fair queueing.
After turning on the QoS and/or fair queu-
ing option, enable the CBQ, CSZ,
PRIO, RED, SFQ, TEQL, TBF,
GRED, DS MARK, 'tcindex' classi_er, Packer Classi_er API, U32 clas-
si_ers and routing table based classi_er.
5. Do a 'make dep;
make clean; make bzilo'
6. Reboot the linux
box using the new kernel image.
Having discussed the con_guration of the QoS support
in linux, let us
now discuss the details involved in
the implementation of these features. The
location of all the kernel related
_les referred to in the rest of this document
are speci_ed
with respect to the /usr/src/linux directory.
|