Useful Linux links

A few useful Linux Links which i collected from here and there to help out my colleagues...

HUT's LinuxPage



Linux Q&A

Mailing list archives

Online books





Linux 2.4




Isolated topics..

The Linux MP3-HOWTO

Linux Network Programming, Part 1: BSD Sockets

Linux Network Programming, Part 2: Creating Daemon Processes


In addition to the topics listed below, there are also several ProgrammingTutorials? here..|]

Enabling IPv6 Peter Bieringer's IPv6 HowTo's IPv6 FAQ/HOWTO

Generalised Networking HOWTOs

Netlink HOWTO (in pdf format) -- by U. of Kansas

Networking HOWTO

More Networking HOWTOs at

QoS-related HOWTOs

For Linux 2.4, a lot help is available here: Linux 2.4 Advanced Routing & Traffic Control -- updated very frequently -- tells you about band-width-division, creating traffic 'classes', etc..

Prior to 2.4, __Linux-QoS__-HOWTO -- written with reference to the kernel version 2.1.125

__DiffServ __on Linux HOWTO -- for early 2.2.x series How to install RHL 6.0/2.2.7 for __DiffServ__ -- by NC State U. - 2.2.7

Routing HOWTOs

Advanced routing mini-HOWTO -- by Timur A. Bolokhov Iproute2 Utility Suite HOWTO

Linux 2.4 Advanced Routing HOWTO

Linux 2.4 Advanced Routing & Traffic Control -- updated very frequently -- tells you about Band-width-division, creating traffic 'classes', etc.. Mailing list archives

IF you're after some Kernel-related info.., then before, wasting time looking thru the mailing lists, it might be a good idea trying to go here..

The Linux-Kernel Archive

Linux Netdev Mailing List - discusses the development of Linux's networking code, including IPv6 and related topics.

The linux-kernel mailing list FAQ -> huge document! mailing list-archive - contains the following: diffserv, ietf-announce, linux-atm, linux-diffserv, policy, rap, rsvp

Misc IP masquerading (many private IPs use one host with official IP for Internet access)

IP masquerading info.

More info. @ Linux Network Administrators Guide -- more detailed Linux Iproute2

The Iproute2+tc package allows access to the variety of networking features in the 2.2 kernels such as: Policy routing, NAT, QoS, advanced tunnels, RSVP and DiffServ, etc. NOTE: tc: Linux traffic control

One of the places to get started. -- very detailed. Other site/s: -- not easy to understand

For Iproute2 HOWTO, click here . Mark Lamb has collected some mail list messages that discuss the usage of these tools, here.

__IPv6__ Flow Labels in Linux-2.2. Linux 2.4 Linux 2.4 Advanced Routing & Traffic Control -- This site attempts to document how to configure and use 2.4's advanced Routing, filtering and traffic shaping options. Linux 2.4 Status/TODO Page

Wonderful World of Linux 2.4 -- a LONG article by Joe Pranevich, talking bout the 2.4 kernel

So far, from what I've found out, there's also an online-book which serves as an "Introduction to the Linux 2.4 kernel", here.

For related HOWTOs, click here|] .

Mobile IP related links HUT's implementation on Linux in IPv4

HUT's implementation on Linux in IPv6 Network Address Translator [NAT?

A general website on Linux NAT

More info. @ Linux Network Administrators Guide -- more detailed QoS This section describes QoS support on Linux . For more info. on QoS related links, click here|] . What is available in Linux QoS support?

Prior to 2.4, the kernel had the following:

  • Each network device has a queue associated with it.
  • There are 11 types of queuing disciplines currently supported in linux .
  • Each queue has a scheduler associated with it. Queuing disciplines and classes are tied to one another.
  • Filters, which are used to classify packets based on certain properties of the packet, e.g., TOS byte in the IP header, IP addresses, port numbers etc.

What Linux 2.4 can do for you? summarised from here

  • Throttle bandwidth for certain computers
  • Throttle bandwidth TO certain computers
  • Help you to fairly share your bandwidth
  • Protect your network from DoS attacks
  • Protect the internet from your customers
  • Multiplex several servers as one, for load balancing or enhanced availability
  • Restrict access to your computers
  • Limit access of your users to other hosts
  • Do routing based on user id (yes!), MAC address, source IP address, port,
  • type of service, time of day or content

The iproute2+tc package is required for accessing the QoS features of the kernel. #8216tc#8217 (traffic conditioner) is used to set up queues, classes and filters. It uses netlink sockets to interface with the kernel. -- in English - it does the Band-width-division, creating traffic 'classes', blah, blah ....

There are a few QoS-related HOWTOs here.

QoS Stuff from U. of Kansas U. of Kansas IP-QoS page -- site includes details of their DiffServ testbed, performance measurements, etc.. -- also contains Linux Diff-Serv Patches

__Linux - Advanced Networking Overview V.1

Linux QoS API -- Please note: an API for Linux QoS has been written by U. of Kansas (slides 10-12) Linux QoS Support -- an implementation overview DiffServ For DiffServ Documentation links and general info. click here..?

DiffServ On Linux

From what I understand, 2.2.x series probably does not support DiffServ directly, so it needs patches, available from here. 2.3 kernels already contain all the changes to support Differentiated Services.

My earlier posting about the report made by the University of Kansas on Linux QoS support, the kernel cannot differentiate between Assured Forwarding (AF) and Expedited Forwarding (EF)</u > -- they used a much older kernel version. Hence, for supporting EF and AF forwarding behaviours on a Linux router (old kernels), a tool called Diffspec was developed by the University of Kansas.


Diffspec, can support both EF and AF forwarding behaviours. It is in the form of a daemon diffspec, which runs on a Linux box with enabled QoS features. The code for this tool can be downloaded from here.

From my reading so far, you probably also need the following tools/patches for supporting DiffServ on linux: iproute2, ds-2 patch (both available from here).

A list of Online books devoted to Linux

This page was last updated on the 31st January 2001 at 1701 hrs (Singapore time) Please Note that I no longer maintain this page, but hopefully some of the link listed here shud still be helful to others.. :)

Notice: ' the kernel cannot differentiate between Assured Forwarding (AF) and Expedited Forwarding (EF)': Bad page name: too long