Click here to start

Table of contents

Slide 1

Defining Quality of Service

Models for Service Differentiation 

Data QoS - High Level Overview 

QoS and Linux Kernel


Apache's mod_throttle

Shaper device

Explicit routing: Ipchains tagging 

Linux Traffic control Overview

Linux traffic Control: Overview

qdisc relationships

Overview: Building Blocks

Another view: Resource Allocation

Queuing Disciplines


Configuration Management, tc

Qdisc: CBQ

Qdisc: prio

Qdisc: Dsmark

Qdisc example: FIFO

Qdisc example: RED

Qdisc example: GRED

Qdisc example: TBF

Qdisc : ingress

Ingress qdisc

Metering + policing 

Classiffier : Ipchains and fw

Classifier example: u32

Classifier example: rsvp-v4

Classifier example: tcindex


What can you use these features for?

Putting it together: simple ingress policing

Putting it together: differentiated virtual web services

Diffserv Edge Routers

Edge Device examples

AF PHB using CBQ

EF PHB using CBQ

EF PHB using PRIO + TB

Compiling the kernel

Installing tc

Whats new?


Demo setup

Slide 46

Author: Jamal Hadi Salim
Computing Technology Labs
Nortel Networks


Further  information:

This is a tutorial given at the 1999 Ottawa Linux symposium

For general questions please first try the Linux Diffserv Mailing List. Do not email any of the code authors directly.
All of them do this in their  spare time and it would be wiser to let them use those  cycles to write more code or fix bugs etc

If you must email me directly use

The Linux QoS framework is architected by Alexey Kuznetsov. 
Werner Almesberger and the author  have contributed mostly with a diffserv emphasis.

Best viewed with