PC Engines WRAP Board - The WRAP board is the main supported platform for QBox.
LEAF - Linux Embedded Appliance Firewall - Bering uClibc Distro - The Beting uClibc version of LEAF was chosen for this project. LEAF was chosen for its very light footprint (the base install fits on a floppy) and modulatity. Bering uClibc is the most active branch now.
uClibc - C library optimized for embedded systems. uClibc is a free (GNU LGPL) c library that takes into consideration footprint of the compiled code. Where possible optimizations are considered in favor of smaller footprint (storage space used).
SYSLINUX - "SYSLINUX is a boot loader for the Linux operating system which operates off an MS-DOS/Windows FAT filesystem. It is intended to simplify first-time installation of Linux, and for creation of rescue- and other special-purpose boot disks." SYSLINUX is used by LEAF for creating the bootable disk (in our case a CF card).
A Practical Guide to Linux Traffic Control - Jason's guide is very informative for a more trimmed down version of the complete LARTC HOWTO.
Creating a custom Linux Router Project (LRP) Package - QBox, while a complete setup, manages its special files via a custom qbox.lrp package. This HOWTO covers the necessary files to create a .lrp package (which is what LEAF is based upon).
BASH Shell Programming HOWTO - BASH (Bourne Again Shell) is used to implement the shaping for QBox. The main shell script issues the tc (traffic control) commands to add and define queues.
Linux Advanced Routing and Traffic Control - This is the main project page for the actual traffic control code found in the linux kernel (2.4 & 2.6). Pre-2.4 kernel required patches, but this group put out such phenomenal code that it is now included as part of the Linux distribution.
- Queuing Disciplines for Bandwidth Management - A subsection of LARTC explaining Queuing Disciplines. A must-read for the serious traffic shaping enthusiast.
- Classful Queuing Disciplines - A subsection of LARTC explaining the Classful Queuing Disciplines, and how packets can / are classified.
Traffic Control Next Generation - TCNG is about moving forward from the current traffic control implementation. Some really excellent free tools can be found here for testing queuing applications.
Linux Bridge + Spanning Tree Protocol HOWTO - While slightly outdated (patches are no longer needed if you use 2.4 or 2.6 kernel) this is a great primer on understanding what bridging is all about.
Watchdog Timers - A good article explaining the use of hardware Watchdog Timers. The WRAP platform used in this project contains a supported watchdog that will reboot the system in the case of a system hang (kernel panic for example).
Embedded.com - A great all-around resource for embedded developers / enthusiasts.
National Laboratory for Applied Network Research - The people who bring you IPERF
IPERF - IPERF is a great tool for measuring network performance. It is a client-server application that has many tunable parameters for simulating traffic and then measuring jitter, packet loss, etc. IPERF was used extensively in testing of QBox.
PXELINUX - PXELINUX is a SYSLINUX derivative for booting remotely off a network. This was used to boot our original WRAP board into a mode that we could then configure the environment on the Compact Flash card.
LEAF for PC Engines WRAP - The main piece here is the instructions on configuring the watchdog timer (hardware) over the softdog timer, which is loaded as a module by default in LEAF.
Monitoring Bering through a terminal console - You have to modify the distro so that it can work with the WRAP board. Otherwise after the BIOS POST you won't see anything. Of course, if you use Q*Box, this has already been done.