|
|
[Overview | Linux Kernel
| MPLS-Linux | MPLS
multicast | MulTreeLDP |
Testing]
Overview
In order to install MPLS Multicast Fast reroute, you first
need to install a 2.4.10 Linux kernel,
MPLS-Linux 0.995. These are third-party software.
Then, you need to install our Multicast extensions for
MPLS and the main program, MulTreeLDP.
Linux Kernel
First,
download and uncompress a 2.4.10 Linux kernel on your system.
MPLS-Linux
You must now patch the kernel to get MPLS Unicast
capability. You can download the patch directly from
here, or download it from the
original project
webpage on Sourceforge. Note that you need to install MPLS-Linux 0.995
in order to get the Multicast extensions to work !
To patch the kernel, just cd to the directory where you
uncompressed the Linux kernel source, and type
patch -p1 < /path-to-patch-file/linux-mpls-995.diff
Multicast MPLS
To add Multicast capability to your MPLS-Linux kernel,
download our patch. Installation
is similar with the MPLS-Linux patching process:
patch -p1 < /path-to-patch-file/mpls-mc.diff
Now, you need to compile the kernel. The only difference
with regular kernel compilation is that you need to tell the make program to
include the MPLS support in the kernel: when you type make menuconfig
, in the Networking options section, check the
Kernel/User netlink socket, Multi Protocol Label Switching -
MPLS and MPLS Ingress Policing boxes as shown
here. Choose other options relevant to your system
and finish compiling the kernel. When you reboot, if everything went well and
you kernel is correctly installed, you should see these lines appear on the
screen:
MPLS version 0.995 10/16/2001 jleu@mindspring.com
MPLS-multicast extensions by Yvan Pointurier (yvan@virginia.edu) Feb 2002
You can also type dmesg | more after your system
has booted to see these lines.
MulTreeLDP
At this point, your system supports MPLS Unicast and
Multicast. To try those new features, install the
MulTreeLDP program. To do so, just
download it and compile it(make
). MulTreeLDP comprehends 3 important pieces of software:
We describe here how to use the multreeldp program. You
must be root to run this program.
- Daemon mode
multreeldp [-s|-l ifname] [-y BEAT_PERIOD] [-z BEAT_FACTOR]
Either the s or l option must be specified.
With the l option, pressing the enter key will alternatively turn
off and on the interface ifname.
BEAT_PERIOD is the time (in ms, it must be a multiple of 10 ms and the minimum
value is 10 ms) between 2 successive probes to detect link failure. Default is
10 ms.
BEAT_FACTOR defines how often link failure condition is checked. If no probe
has arrived during time BEAT_FACTOR*BEAT_PERIOD on a given link, then this
link is reported as a failed link. The default is 2.
- Set everything (multicast LSP and optimal backup path)
multreeldp -b m_addr -n network_file -t tree_file
m_addr is the multicast address (FEC) to be bound to the
multicast FEC.
net_file contains the definition of a network.
tree_file contains the definition of a multicast tree.
- Test backup path choosing algorithm only (build a constraint backup path)
multreeldp -n net_file -a tree_file
net_file contains the definition of a network.
tree_file contains the definition of a multicast tree spanning over
the network.
- Set a bidirectional multicast LSP
multreeldp -b m_addr -t tree_file
m_addr is the multicast address (FEC) to be bound to the
multicast FEC.
tree_file contains the definition of a multicast tree.
- Set a unidirectional backup LSP (after a multicast LSP has been set)
multreeldp -b m_addr -r routers_file -k backup_file
m_addr is the multicast address (FEC) of the LSP to which the
backup path is affected.
routers_file contains the list of routers on the protected path.
backup_file contains a backup path definition.
You need to run this command twice, with two different backup path definition
files (they describe the same backup path, in each direction) to get a full,
bidirectional backup path.
A full example, along with configuration files, is
available on this page.
Note: for MPLS-Linux users, we provide an updated version of the tool
used to manage unicast LSPs, mplsadm. This version is compatible with
MPLS-Linux. Type make mplsadm to compile it.
Testing
These programs were adapted from public domain tools to
support multicasting. Just untar/unzip the archive and type make
to compile the tools. You will find the tools
here.
- ttcp: test multicast LSP throughput.
Basic usage: on the receiver(s), run
ttcp -r -u -v -m multicast_IP
and on the sender:
ttcp -t -m -u multicast_IP
Each receiver will print statistics about the packets it received (loss rate,
throughput). Additionally, if the -t flag is present then the
receiver will print a timestamp each time it receives a packet.
More options like the number of packets emitted are available
(ttcp --help).
- msend/mreceive: test packet loss and service interruption time.
On the receiver, simply run
mreceive -g multicast_IP -p PORT -n
and on the sender:
msend -g multicast_IP -p PORT -f time -n
to send a packet every time ms (this value should be a multiple
of 10 ms, and not less 10 ms) on a defined multicast IP and port. The
-n option specifies that the payload of the packets consists of a
sequence number, to be analysed by mreceive to detect gaps and duplicates.
|
|