Get in touch:
01524 851 877
07718 896 553

OpenWRT default blocking of ICMP

Posted on Jan 29 2010

I have been setting up an OpenWRT router at home specifically because I wanted to use it as an end point for a Hurrican Electric IPv6 Tunnel. I need this so I can do some tests using my NP++ On Sourceforge

All of the code is now hosted on the sourceforge svn server so that is also browsable on there.

Composing Bibtex Entries And Finding Pre Composed Ones

Posted on Jul 01 2009

Compsing Bibtex entries for use in Latex can be a pain at the best of times. Deciding which entry type to use, entering all the authors, page numbers, journal/conference name etc etc.

I was messing about in nautilus the other day and accidentally double clicked on one of my bibtex files. To my surprise a nice GUI application called KBibteX opened with my bibtex entries from the file all organised.

After a little more playing around with it I found that it is extremely useful for adding new entries. A nice GUI lets you enter all the information into text fields and view the output source at all times. Then when an entry has been entered you can click on it in the overview and it will show you how Latex will display the output.

I would definitely recommend KBibteX to anyone that has to work with Bibtex on a regular basis it is a real nice time saver.

Of course a lot of the time it is possible to find entries for papers etc already composed from well known sources such as citeseer. For computing references I would highly recommend The Collection Of Computer Science Bibliographies. The site is not always the most reliable but the number of bibtex entries it contains is phenomenal and regularly updated with the latest papers.

Reverse Enumerate In Latex

Posted on Jun 24 2009

I just had the need to enumerate a list of numbered bullet points in reverse order within a Latex document I am writing. I suppose this is a feature that isn’t hugely needed so it isn’t contained within the standard Latex feature set.

After a little searching I came across this style file which will create the \begin{revnumerate} environment which can be used to easily create a reversely enumerated list. An in depth description of how to use this style can be found here.

IPv6, Ethernet And Multicast

Posted on Jun 17 2009

After my blog post yesterday regarding ndisc_get_neigh() I have made a little discovery that suddenly makes everything make sense.

I was not previously aware that Ethernet supported Multicast by default. When I think about it now it makes a lot of sense but I had previously ignored the possibility up until now.

Anyway the 33:33:00:00:00:01 MAC address that I was seeing reported and was thinking was garbage is actually a multicast address. IPv6 uses 33:33:xx:yy:zz:kk when sending multicast packets, where xx:yy:zz:kk are the lowest 32 bits of the IPv6 address.

This means that the MAC addresses I was getting were obviously correct all the time and now I understand what is going on I can filter out the Multicast packets and act on them separately. This also has the huge advantage of a kernel patch not now being required as I don’t need to use ndisc_get_neigh() any more. I can simply use skb->dst->neighbour->ha from the sk_buff passed to my code from the NETFILTER hook.

A fairly good set of slides explaining the main points of IPv6 multicast can be found here.

NP++ Linux Kernel Module Version 0.1

Posted on May 22 2009

The first public release of the NP++ Linux kernel module is now available for download here.

This is an extremely early version and doesn’t have the full functionality of the earlier version written in the FreeBSD kernel but it’s a good building block. It is being released due to requests from certain parties that wish to use it so it is a lot easier for me to put it up on the net rather than emailing copies to people. This also means there will be a better development cycle.

There is a guide to creating a physical mapping kernel module to run along side the main NP++ module here.

For anyone reading this that hasn’t heard of my work on NP++ (which is probably most people) there is an overview of the protocol here. Hopefully with a bit more debugging the userspace tools that compliment the main protocol will be getting released soon as well.

NP++ Wireshark Dissectors Available

Posted on May 11 2009

I am uploading the dissectors I modified for use with Wireshark. Although the NP++ code and accompanying applications have not yet been released these dissectors will be needed to be able to view the contents of the NP++ Neighbour Discovery options that are used.

Links to the files are below.

packet-ipv6.h
packet-icmpv6.c

These files were modified from the originals in the “wireshark 1.0.4 (SVN Rev 1)” version of Wireshark. The easiest way to use them is simply download the 1.0.4 version of Wireshark here and replace the 2 files in /path/to/source/epan/dissectors/. Then run the normal ./configure, make, make install process to install it.

I haven’t got around to moving the code to a later version of Wireshark yet but will do in due time. I will also make a full version of Wireshark available for download with the replaced files contained in it at some point.