MPLS Tutorial header image

MPLS Tutorial

≡ Menu

MPLS on Linux

Linux Filters and Queuing Discipline

TC is used to configure traffic control in Linux kernel. Traffic control consists of the following:

  • Shaping: Shaping is done at the outgoing interface, and includes throttling the bandwidth and/or smoothing the traffic bursts of the outgoing flows.
  • Scheduling: Scheduling is also done at the outgoing interface and makes it possible to improve interactivity for traffic that needs it while still guaranteeing bandwidth to bulk transfers.
  • Policing: Policing is done at the ingress and is primarily used for throttling the rate at which flows may arrive. [click to continue…]

How to implement filter on Linux machine using TC scripts for MPLS?

The filter implemented in the RSVP-TE daemon for DiffServ over MPLS package was implemented using the CBQ qdisc, which is known to be complicated and inefficient [26]. This filter was rewritten using the HTB qdisc for the given network topology and can be viewed on a logical level as follows [19,25]:

Fig. 8.4 TC Filter [click to continue…]

How to compile linux to create a DiffServ over MPLS router in lab?

Appendix A

( Modified from [19], for HTB support for linux kernels 2.4.19 and lesser)

1. Preparation:

1.1 Installation of the Linux kernel

The default Linux kernel location is folder /usr/src/linux-2.4.18

(Specifically use kernel 2.4.18. Kernels 2.4.19, 2.4.20, 2.4.21 were tried and were found to give “kernel panic” on boot.)

– A copy of compressed kernel (linux-2.4.18.tar.bz2) has to be copied

to folder /usr/src/. This is the default kernel location, and the

intended start point for all further operations.

– This directory may contain a symbolic link linux to the old kernel

folder. If so this has to be removed. [click to continue…]

Some TC scripts and other appendices

Appendix D

TC script for filter 1

#!/bin/bash

# This script will set-up an example DS tree

#only set ENABLE_MPLS_IP to true if you installed the DSMPLS+IP patch

#ENABLE_MPLS_IP=false

ENABLE_MPLS_IP=true

IFACES=”eth1 eth2 eth3″

TC=/usr/local/bin/tc

if test $# -gt 0

then

case $1 in [click to continue…]

css.php