6.59. IPRoute2-4.7.0

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

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

6.59.1. Installation of IPRoute2

The arpd program included in this package will not be built since it is dependent on Berkeley DB, which is not installed in LFS. However, documentation files and a directory for arpd will still be installed. Prevent this by running the commands below. If the arpd binary is needed, instructions for compiling Berkeley DB can be found in the BLFS Book at http://www.linuxfromscratch.org/blfs/view/svn/server/databases.html#db.

sed -i /ARPD/d Makefile
sed -i 's/arpd.8//' man/man8/Makefile
rm -v doc/arpd.sgml

It is also necessary to disable building one module that requires http://www.linuxfromscratch.org/blfs/view/svn/postlfs/iptables.html.

sed -i 's/m_ipt.o//' tc/Makefile

Compile the package:

make

This package comes with a test suite, 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 enable /proc/config.gz support in your kernel ("General setup" -> "Enable access to .config through /proc/config.gz" [CONFIG_IKCONFIG_PROC]), then run 'make alltests' from the testsuite/ subdirectory.

Install the package:

make DOCDIR=/usr/share/doc/iproute2-4.7.0 install

6.59.2. Contents of IPRoute2

Installed programs: bridge, ctstat (link to lnstat), genl, ifcfg, ifstat, ip, lnstat, nstat, routef, routel, rtacct, rtmon, rtpr, rtstat (link to lnstat), ss, and tc
Installed directories: /etc/iproute2, /usr/lib/tc, and /usr/share/doc/iproute2-4.7.0,

Short Descriptions

bridge

Configures network bridges

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 continuously 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