Skip to content

{ Tag Archives } linux

Update on setting up Ubuntu in order to build kernel modules

As an update to my “hello world” kernel module article, there is a much easier way to set up your Debian-based Linux (including Ubuntu) to build kernel modules, without manually getting the relevant kernel headers using apt-get.
I’ve tested this process with Ubuntu 8.04, 9.04 and 9.10 and it works great. Do the following to set [...]

Also tagged ,

Setting up Quagga suite of dynamic routing protocols

Quagga is a suite of dynamic routing protocols for Unix based systems and is a fork of GNU Zebra, which seems to be discontinued.
I attempted to follow the documentation but some steps seemed to be assumed so here is what I did to get it up and running on my Ubuntu 8.04 system – it [...]

Also tagged ,

Installing Xen on Ubuntu 8.04 and creating Ubuntu 8.04 domU’s (guests)

I’ve recently been looking into virtualisation methods within Linux to find an optimal way of creating a network testbed of virtual machines. The machines are relatively high powered for this task (AMD Athlon 64 3700+ with 2GB RAM) and are more than able to run more than one Linux instance. The only real limitation I can [...]

Also tagged , , ,

Force udev to reassign ethX identifiers in Ubuntu 8.04

Quick tip: If you have replaced your network cards in Ubuntu 8.04, or in my case imaged a Ubuntu install across many PC’s, and would like udev to redetect network cards and reassign ethX identifiers beginning with eth0, run the following command.
sudo mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.old
Then reboot the machine, and udev will recreate 70-persistent-net.rules, reassigning only [...]

Also tagged , ,

Creating a simple ‘hello world’ Netfilter module

This is the second part of the series in creating a NetFilter module for Ubuntu 8.04 (running linux kernel 2.6.24-23). In it I’ll write a simple Netfilter module as a kernel module that simply drops all packets and logs dropped packets to /var/log/messages. In order to implement this we take the code for the kernel [...]

Also tagged , , ,

Creating a “hello world” kernel module in linux

This is part one of my series on creating a Netfilter module in order to implement a routing protocol in Linux. I’ve broken down the challenge into three steps.

Write a simple kernel module (this article)
Add Netfilter hooks to kernel module
Access packet headers within Netfilter hook
Abstract routing daemon to a user space module (for easier debugging)

This [...]

Also tagged , , , ,

Renaming and reordering of network interfaces in linux using udev

As part of a network testbed I’m working on I need to manage network interfaces and dedicate a network interface to a Linux container. Now depending on the network hardware, the ordering of the eth devices does not necessarily correspond to the ordering on the PCI bus but instead seems to correspond to the order [...]

Also tagged , ,