<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Evolution Systems &#187; Research</title>
	<atom:link href="http://evolution-systems.co.uk/category/matts-blog/research/feed/" rel="self" type="application/rss+xml" />
	<link>http://evolution-systems.co.uk</link>
	<description>Web Development, Software Development and Linux Consultancy services</description>
	<lastBuildDate>Fri, 08 Aug 2025 09:18:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>OpenWRT default blocking of ICMP</title>
		<link>http://evolution-systems.co.uk/2010/01/29/openwrt-default-blocking-of-icmp/</link>
		<comments>http://evolution-systems.co.uk/2010/01/29/openwrt-default-blocking-of-icmp/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 20:10:21 +0000</pubDate>
		<dc:creator><![CDATA[Matthew Jakeman]]></dc:creator>
				<category><![CDATA[Matts Blog]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Configs]]></category>
		<category><![CDATA[ICMP]]></category>
		<category><![CDATA[OpenWRT]]></category>

		<guid isPermaLink="false">http://evolution-systems.co.uk/wordpress/?p=412</guid>
		<description><![CDATA[I have been setting up an OpenWRT router at home specifically because I wanted to use it as an end point for a]]></description>
				<content:encoded><![CDATA[<p>I have been setting up an OpenWRT router at home specifically because I wanted to use it as an end point for a <a href="http://www.tunnelbroker.net>Hurrican Electric IPv6 Tunnel</a>. I need this so I can do some tests using my <a href="https://sourceforge.net/projects/npplusplus/">NP++ Source Code</a> between home and the office.</p>
<p>To be able to configure your tunnels IPv4 end point (ie the IP address of the router on your home network) the IP address you are setting needs to be pingable. First this was a bit of a pain as I needed to set up my BT Router so put the Linksys in the DMZ. After messing with that for a bit it was all working.</p>
<p>Despite everything being set up correctly I still wasn&#8217;t able to ping my home IP. After a bit of digging on the net I discovered that OpenWRT blocks all ICMP traffic by default which is a bit of a pain in the arse really.</p>
<p>Anyway, here is the config change that you need to make to /etc/config/firewall to enable all ICMP traffic through the firewall:</p>
<p><code>config rule</p>
<p>    option proto ICMP<br />
    option target ACCEPT</code></p>
]]></content:encoded>
			<wfw:commentRss>http://evolution-systems.co.uk/2010/01/29/openwrt-default-blocking-of-icmp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NP++ Code On Sourceforge</title>
		<link>http://evolution-systems.co.uk/2010/01/21/np-code-on-sourceforge/</link>
		<comments>http://evolution-systems.co.uk/2010/01/21/np-code-on-sourceforge/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 13:53:45 +0000</pubDate>
		<dc:creator><![CDATA[Matthew Jakeman]]></dc:creator>
				<category><![CDATA[Matts Blog]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[NP++]]></category>
		<category><![CDATA[Sourceforge]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://evolution-systems.co.uk/wordpress/?p=413</guid>
		<description><![CDATA[I have started up a project on sourceforge to host the np++ code. There are a couple of releases of the module along with the modified version of radvd that is needed. The mapping advertisement daemon is on there as well as the wireshark dissectors. The project can be found here for anyone that is [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I have started up a project on sourceforge to host the np++ code. There are a couple of releases of the module along with the modified version of radvd that is needed. The mapping advertisement daemon is on there as well as the wireshark dissectors.</p>
<p>The project can be found here for anyone that is interested in looking at the code:</p>
<p><a href="https://sourceforge.net/projects/npplusplus/">NP++ On Sourceforge</a></p>
<p>All of the code is now hosted on the sourceforge svn server so that is also browsable on there.</p>
]]></content:encoded>
			<wfw:commentRss>http://evolution-systems.co.uk/2010/01/21/np-code-on-sourceforge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Composing Bibtex Entries And Finding Pre Composed Ones</title>
		<link>http://evolution-systems.co.uk/2009/07/01/composing-bibtex-entries-and-finding-pre-composed-ones-2/</link>
		<comments>http://evolution-systems.co.uk/2009/07/01/composing-bibtex-entries-and-finding-pre-composed-ones-2/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 00:38:21 +0000</pubDate>
		<dc:creator><![CDATA[Matthew Jakeman]]></dc:creator>
				<category><![CDATA[Matts Blog]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Bibtex]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://evolution-systems.co.uk/wordpress/?p=477</guid>
		<description><![CDATA[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 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>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.</p>
<p>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 <a href="http://www.unix-ag.uni-kl.de/~fischer/kbibtex/">KBibteX</a> opened with my bibtex entries from the file all organised.</p>
<p>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.</p>
<p>I would definitely recommend <a href="http://www.unix-ag.uni-kl.de/~fischer/kbibtex/">KBibteX</a> to anyone that has to work with Bibtex on a regular basis it is a real nice time saver.</p>
<p>Of course a lot of the time it is possible to find entries for papers etc already composed from well known sources such as <a href="http://citeseer.ist.psu.edu/">citeseer</a>. For computing references I would highly recommend <a href="http://liinwww.ira.uka.de/bibliography/">The Collection Of Computer Science Bibliographies</a>. 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.</p>
]]></content:encoded>
			<wfw:commentRss>http://evolution-systems.co.uk/2009/07/01/composing-bibtex-entries-and-finding-pre-composed-ones-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reverse Enumerate In Latex</title>
		<link>http://evolution-systems.co.uk/2009/06/24/reverse-enumerate-in-latex-2/</link>
		<comments>http://evolution-systems.co.uk/2009/06/24/reverse-enumerate-in-latex-2/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 18:09:02 +0000</pubDate>
		<dc:creator><![CDATA[Matthew Jakeman]]></dc:creator>
				<category><![CDATA[Matts Blog]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Latex]]></category>
		<category><![CDATA[Reverse Enumerate]]></category>

		<guid isPermaLink="false">http://evolution-systems.co.uk/wordpress/?p=479</guid>
		<description><![CDATA[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&#8217;t hugely needed so it isn&#8217;t contained within the standard Latex feature set. After a little searching I came across this style file which will [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>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&#8217;t hugely needed so it isn&#8217;t contained within the standard Latex feature set.</p>
<p>After a little searching I came across <a href="http://www.math.harvard.edu/graduate/vitae/revnum.sty">this style file</a> 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 <a href="http://www.ctan.org/tex-archive/macros/latex/contrib/revnum/revnum.pdf">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://evolution-systems.co.uk/2009/06/24/reverse-enumerate-in-latex-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IPv6, Ethernet And Multicast</title>
		<link>http://evolution-systems.co.uk/2009/06/17/ipv6-ethernet-and-multicast-2/</link>
		<comments>http://evolution-systems.co.uk/2009/06/17/ipv6-ethernet-and-multicast-2/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 16:04:43 +0000</pubDate>
		<dc:creator><![CDATA[Matthew Jakeman]]></dc:creator>
				<category><![CDATA[Matts Blog]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Ethernet]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Multicast]]></category>

		<guid isPermaLink="false">http://evolution-systems.co.uk/wordpress/?p=480</guid>
		<description><![CDATA[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 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>After <a href="http://evolution-systems.co.uk/blogs/matt/view_post&#038;id=52/">my blog post yesterday regarding ndisc_get_neigh()</a> I have made a little discovery that suddenly makes everything make sense.</p>
<p>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.</p>
<p>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.</p>
<p>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&#8217;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.</p>
<p>A fairly good set of slides explaining the main points of IPv6 multicast can be found <a href="http://www.6diss.org/tutorials/multicasting.pdf">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://evolution-systems.co.uk/2009/06/17/ipv6-ethernet-and-multicast-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NP++ Linux Kernel Module Version 0.1</title>
		<link>http://evolution-systems.co.uk/2009/05/22/np-linux-kernel-module-version-0-1-2/</link>
		<comments>http://evolution-systems.co.uk/2009/05/22/np-linux-kernel-module-version-0-1-2/#comments</comments>
		<pubDate>Fri, 22 May 2009 16:27:48 +0000</pubDate>
		<dc:creator><![CDATA[Matthew Jakeman]]></dc:creator>
				<category><![CDATA[Matts Blog]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[NP++]]></category>
		<category><![CDATA[Source Code]]></category>

		<guid isPermaLink="false">http://evolution-systems.co.uk/wordpress/?p=486</guid>
		<description><![CDATA[The first public release of the NP++ Linux kernel module is now available for download here. This is an extremely early version and doesn&#8217;t have the full functionality of the earlier version written in the FreeBSD kernel but it&#8217;s a good building block. It is being released due to requests from certain parties that wish [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>The first public release of the NP++ Linux kernel module is now available for download <a href="http://wiki.mjakeman.co.uk/index.php?title=NP%2B%2B#Downloads">here</a>.</p>
<p>This is an extremely early version and doesn&#8217;t have the full functionality of the earlier version written in the FreeBSD kernel but it&#8217;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.</p>
<p>There is a guide to creating a physical mapping kernel module to run along side the main NP++ module <a href="http://wiki.mjakeman.co.uk/index.php?title=NP%2B%2B#Sample_Physical_Mapping_Module_Code">here</a>.</p>
<p>For anyone reading this that hasn&#8217;t heard of my work on NP++ (which is probably most people) there is an overview of the protocol <a href="http://wiki.mjakeman.co.uk/index.php?title=NP%2B%2B">here</a>. Hopefully with a bit more debugging the userspace tools that compliment the main protocol will be getting released soon as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://evolution-systems.co.uk/2009/05/22/np-linux-kernel-module-version-0-1-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NP++ Wireshark Dissectors Available</title>
		<link>http://evolution-systems.co.uk/2009/05/11/np-wireshark-dissectors-available-2/</link>
		<comments>http://evolution-systems.co.uk/2009/05/11/np-wireshark-dissectors-available-2/#comments</comments>
		<pubDate>Mon, 11 May 2009 16:38:20 +0000</pubDate>
		<dc:creator><![CDATA[Matthew Jakeman]]></dc:creator>
				<category><![CDATA[Matts Blog]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Dissectors]]></category>
		<category><![CDATA[NP++]]></category>
		<category><![CDATA[Wireshark]]></category>

		<guid isPermaLink="false">http://evolution-systems.co.uk/wordpress/?p=494</guid>
		<description><![CDATA[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 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I am uploading the dissectors I modified for use with <a href="http://www.wireshark.org">Wireshark</a>. 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.</p>
<p>Links to the files are below.</p>
<p><a href="http://www.mjakeman.co.uk/files/np++/packet-ipv6.h">packet-ipv6.h</a><br />
<a href="http://www.mjakeman.co.uk/files/np++/packet-icmpv6.c">packet-icmpv6.c</a></p>
<p>These files were modified from the originals in the &#8220;wireshark 1.0.4 (SVN Rev 1)&#8221; version of Wireshark. The easiest way to use them is simply download the 1.0.4 version of Wireshark <a href="http://www.wireshark.org/download/src/all-versions/wireshark-1.0.3.tar.gz">here</a> and replace the 2 files in /path/to/source/epan/dissectors/. Then run the normal ./configure, make, make install process to install it.</p>
<p>I haven&#8217;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.</p>
]]></content:encoded>
			<wfw:commentRss>http://evolution-systems.co.uk/2009/05/11/np-wireshark-dissectors-available-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
