==================================================================== RSVP-TE daemon for DiffServ over MPLS under Linux INSTALLATION GUIDE For version 0.70-rc2 ==================================================================== Note: "edit" is a generic term for your favorite editor (vi, pico, gedit etc.) 1. Preparation: 1.1 Installation of the Linux kernel The default Linux kernel location is folder /usr/src/linux-2.4.19. - A copy of compressed kernel (linux-2.4.19.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. - Decompress the kernel by: ~ /usr/src> tar -xIvf linux-2.4.19.tar.bz2 Now create the architecture dependant links: ~ make xconfig (or make menuconfig or make oldconfig) and exit immediatly 1.2 Software List ---------------------------------------------------------------------- - Components of the RSVP-TE software can be downloaded separately from site http://ds_mpls.atlantis.rug.ac.be. These comprise: KERNEL_2.4.19_MPLS172.patch, iptables-1.2.4-0.2-dscp.tgz, DSMPLS+IP.patch iproute2-current.tar.gz and rsvpd.0.70-rc2.tgz. ---------------------------------------------------------------------- 2. MPLS Patch - Move KERNEL_2.4.19_MPLS172.patch into the folder /usr/src and type the command: ~ /usr/src/linux-2.4.19> patch -p1 < ../KERNEL_2.4.19_MPLS172.patch 3. DSMPLS+IP.patch ~ /usr/src/linux-2.4.19> patch -p0 < ../DSMPLS+IP.patch 4. Installation of iptable-1.2.4 - Move iptables-1.2.4-0.2-dscp.tgz into the folder /home/rsvp/ and uncompress it: ~ /home/rsvp> tar -jxvf iptables-1.2.4-0.2-dscp.tgz (You can also use the original version but change the Makefile then) - From the folder /home/rsvp/iptables-1.2.4-0.2-dscp do: ~ /home/rsvp/iptables-1.2.4-dscp> make patch-o-matic You will be requested about the patches that have to be installed. Say 'y' to dscp.patch and ftos.patch. IMPORTANT: immediately after confirmation of ftos.patch, type 'q' get out of patch-o-matic. - You can then compile and install: ~ /home/rsvp/iptables-1.2.4-dscp> make ~ /home/rsvp/iptables-1.2.4-dscp> make install 5. Installation of Linux kernel - To configure the kernel, enter /usr/src/linux-2.4.19 and type: ~ /usr/src/linux-2.4.19>make xconfig (or make menuconfig or make config or if you already have an .config: make oldconfig) Compile the kernel with at least the following networking options (enable "Prompt for development and/or incomplete code/drivers") 1) Network packet filtering 2) TCP/IP networking 1.advanced router 1.IP: policy routing 1.IP: use netfilter MARK value as routing key 3) MPLS support 4) IP: Netfilter Configuration 1.IP tables support (enable all suboptions unless you know what you are doing, make sure "DSCP match" and "MPLS target" support is available. 5) QoS and/or fair queuing (enable all suboptions unless you know what you are doing) 6) Network device options - Compile and install the kernel: ~ /usr/src/linux-2.4.19>make dep && make clean && make bzImage && make modules && make modules_install A) - Move bzImage and System.map in the /boot directory and create the new symbolic link for System.map ~ /usr/src/linux-2.4.19>cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.19 ~ /usr/src/linux-2.4.19>cp System.map /boot/System.map-2.4.19 [Optional] ~ /usr/src/linux>cd /boot ~ /boot>rm vmlinuz ~ /boot>ln -s vmlinuz-2.4.19 vmlinuz ~ /boot>rm System.map ~ /boot>ln -s System.map-2.4.19 System.map [/Optional] - Edit /etc/lilo.conf and add lines for the new Image. The new image line must contain new image name. You should also set it as default. Run lilo and reboot: ~ /boot>lilo ~ /boot>reboot - Check your kernel! #dmesg | grep -i mpls 7. Installation of rsvp-te RSVP-TE Installation [Recommended] ~cd /usr/include/ ~mv linux linux.old ~ln -s /usr/src/linux/include/linux linux check that: #ls -ld /usr/include/linux lrwxrwxrwx 1 root root 28 Nov 21 18:14 /usr/include/linux -> /usr/src/linux-2.4.19/include/linux [RedHat] Note: this method seems to be necessary for RedHat systems Open a file manager window and show subfolders of /usr/src/linux/include . Right-click on subfolder linux and choose copy. Then, select folder /usr/include, right-click and paste, choosing option 'Overwrite All', when requested. This is because RedHat7.1 doesn't refresh that folder with new kernel data at reboot. For the same reason, in folder /usr/include a symbolic link should be created to folder /usr/src/linux/include/asm-i386. - Put the downloaded file rsvpd.0.70-rc2.tgz in /home and execute the command: ~ /home> tar -zxvf rsvpd.0.70-rc2.tgz This will produce a folder /rsvpd containing all the requested subfolders and files. ~ /home/rsvp>cd rsvpd - Now you can compile: ~ /home/rsvp/rsvpd>make clean ~ /home/rsvp/rsvpd>make The daemon is now compiled and can be found in folder /home/rsvp/rsvpd/rsvpd. Tools are in folder /home/rsvp/rsvpd/labeltest. Copy the mplsadm executable from /home/rsvp/rsvpd/labeltest to /usr/local/bin. ~ cp labeltest/mplsadm /usr/local/bin Before running the daemon some configuration files must be set: ~ /home/rsvp/rsvpd>edit label.conf Check that interfaces name correspond to active devices and change where it is necessary. Save to /etc/label.conf and exit. ~ /home/rsvp/rsvpd>edit ds_config Check interface names in line IFACES='xxx yyy' ~ /home/rsvp>./ds_config see also http://dsmpls.atlantis.rug.ac.be Installation guide authors: Pim Van Heuven Daniela Pierotti Bin Zhou