6.43. IPRoute2-2.6.26

The IPRoute2 package contains programs for basic and advanced IPV4-based networking.

Approximate build time: 0.2 SBU
Required disk space: 5.6 MB

6.43.1. Installation of IPRoute2

Compile the package:

make DESTDIR= SBINDIR=/sbin

The meaning of the make options:

DESTDIR=

This ensures that the IPRoute2 binaries will install into the correct directory. By default, DESTDIR is set to /usr.

SBINDIR=/sbin

This ensures that the IPRoute2 binaries will install into /sbin. This is the correct location according to the FHS, because some of the IPRoute2 binaries are used by the LFS-Bootscripts package.

This package comes with a testsuite, but due to assumptions it makes, it is not possible to reliably run these tests from within the chroot environment. If you wish to run these tests after booting into your new LFS system, ensure you select /proc/config.gz CONFIG_IKCONFIG_PROC ("General setup" -> "Enable access to .config through /proc/config.gz") support into your kernel then run 'make alltests' from the testsuite/ subdirectory.

Install the package:

make DESTDIR= SBINDIR=/sbin MANDIR=/usr/share/man \
     DOCDIR=/usr/share/doc/iproute2-2.6.26 install

The arpd binary links against the Berkeley DB libraries that reside in /usr and uses a database in /var/lib/arpd/arpd.db. Thus, according to the FHS, it must be in /usr/sbin. Move it there:

mv -v /sbin/arpd /usr/sbin

6.43.2. Contents of IPRoute2

Installed programs: arpd, ctstat (link to lnstat), genl, ifcfg, ifstat, ip, lnstat, nstat, routef, routel, rtacct, rtmon, rtpr, rtstat (link to lnstat), ss, and tc.

Short Descriptions

arpd

Userspace ARP daemon, useful in really large networks, where the kernelspace ARP implementation is insufficient, or when setting up a honeypot

ctstat

Connection status utility

genl

ifcfg

A shell script wrapper for the ip command. Note that it requires the arping and rdisk programs from the iputils package found at http://www.skbuff.net/iputils/.

ifstat

Shows the interface statistics, including the amount of transmitted and received packets by interface

ip

The main executable. It has several different functions:

ip link <device> allows users to look at the state of devices and to make changes

ip addr allows users to look at addresses and their properties, add new addresses, and delete old ones

ip neighbor allows users to look at neighbor bindings and their properties, add new neighbor entries, and delete old ones

ip rule allows users to look at the routing policies and change them

ip route allows users to look at the routing table and change routing table rules

ip tunnel allows users to look at the IP tunnels and their properties, and change them

ip maddr allows users to look at the multicast addresses and their properties, and change them

ip mroute allows users to set, change, or delete the multicast routing

ip monitor allows users to continously monitor the state of devices, addresses and routes

lnstat

Provides Linux network statistics. It is a generalized and more feature-complete replacement for the old rtstat program

nstat

Shows network statistics

routef

A component of ip route. This is for flushing the routing tables

routel

A component of ip route. This is for listing the routing tables

rtacct

Displays the contents of /proc/net/rt_acct

rtmon

Route monitoring utility

rtpr

Converts the output of ip -o back into a readable form

rtstat

Route status utility

ss

Similar to the netstat command; shows active connections

tc

Traffic Controlling Executable; this is for Quality Of Service (QOS) and Class Of Service (COS) implementations

tc qdisc allows users to setup the queueing discipline

tc class allows users to setup classes based on the queuing discipline scheduling

tc estimator allows users to estimate the network flow into a network

tc filter allows users to setup the QOS/COS packet filtering

tc policy allows users to setup the QOS/COS policies