<?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>THE ENCYCLOPEDIA &#187; Multi-threaded L7-Filter</title>
	<atom:link href="http://blog.mrcongwang.com/category/theforge/multi-threaded-l7-filter/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mrcongwang.com</link>
	<description>Of A Young Computer Science Graduate Student</description>
	<lastBuildDate>Mon, 17 May 2010 03:58:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>L7-filter uncompilation due to API changes in libnetfilter_conntrack-0.0.100</title>
		<link>http://blog.mrcongwang.com/2009/07/16/l7-filter-uncompilation-due-to-api-changes-in-libnetfilter_conntrack-0-0-100/</link>
		<comments>http://blog.mrcongwang.com/2009/07/16/l7-filter-uncompilation-due-to-api-changes-in-libnetfilter_conntrack-0-0-100/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 20:30:50 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Multi-threaded L7-Filter]]></category>
		<category><![CDATA[conntrack]]></category>
		<category><![CDATA[l7-filter]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[netfilter]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=204</guid>
		<description><![CDATA[Changes of API made to the libnetfilter_conntrack-0.0.100
newly published on July, 16th will
lead to a problem when compiling l7-filter-user-space.
Affected interfaces are :
nfct_sprintf_protocol
nfct_sprintf_address
nfct_sprintf_proto
nfct_conntrack_free
nfct_register_callback
nfct_event_conntrack
Affected data structures are :
NFCT_MSG_DESTROY
NFCT_MSG_NEW
NFCT_MSG_UPDATE
NFCT_MSG_UNKNOWN
NFCT_MSG_NEW
NFCT_MSG_DESTROY
]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/07/16/l7-filter-uncompilation-due-to-api-changes-in-libnetfilter_conntrack-0-0-100/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cache rules</title>
		<link>http://blog.mrcongwang.com/2009/07/16/cache-rules/</link>
		<comments>http://blog.mrcongwang.com/2009/07/16/cache-rules/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 19:11:34 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Multi-threaded L7-Filter]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[valgrind]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=201</guid>
		<description><![CDATA[

Write-allocate: when a write miss occurs, the block     written to is brought into the D1 cache.  Most modern caches     have this property.
Bit-selection hash function: the line(s) in the cache     to which a memory block maps is chosen by the middle bits  [...]]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/07/16/cache-rules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building KCachegrind on Ubuntu 9.04</title>
		<link>http://blog.mrcongwang.com/2009/07/16/building-kcachegrind-on-ubuntu-9-04/</link>
		<comments>http://blog.mrcongwang.com/2009/07/16/building-kcachegrind-on-ubuntu-9-04/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 13:38:41 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Multi-threaded L7-Filter]]></category>
		<category><![CDATA[aRts]]></category>
		<category><![CDATA[cahcegrind]]></category>
		<category><![CDATA[kcachegrind]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[valgrind]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=191</guid>
		<description><![CDATA[Since no kde applications are depended on aRts any more, all aRts related libraries are no longer included in Ubuntu 9.04
We have to build KCachegrind without aRts
see https://wiki.ubuntu.com/RemoveArts for details
The built KCachegrind has lost most of the functionalities.
So the conclusion is KCachegrind can only be supported by Ubuntu versions earlier than 9.04
]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/07/16/building-kcachegrind-on-ubuntu-9-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netfilter Queue Howto</title>
		<link>http://blog.mrcongwang.com/2009/07/13/netfilter-queue-howto/</link>
		<comments>http://blog.mrcongwang.com/2009/07/13/netfilter-queue-howto/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 15:59:01 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Multi-threaded L7-Filter]]></category>
		<category><![CDATA[l7-filter]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[netfilter]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=156</guid>
		<description><![CDATA[Extensions
通过加载extensions可以获得specified options 例如tcp extensions:

&#8211;tcp-flags
&#8211;syn
&#8211;source-port
&#8211;sport
&#8211;destination-port
&#8211;dport
&#8211;tcp-option

Targets
iptables -A INPUT -j QUEUE
macth到的包都送去queue这个chain去比较



QUEUE is a special target, which queues the packet for userspace processing. For this to be useful, two further components are required:


a &#8220;queue handler&#8221;, which deals with the actual mechanics of passing packets between the kernel and userspace; and
a userspace application to receive, possibly manipulate, and issue verdicts [...]]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/07/13/netfilter-queue-howto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Valgrind + CacheGrind</title>
		<link>http://blog.mrcongwang.com/2009/07/13/valgrind-cachegrind/</link>
		<comments>http://blog.mrcongwang.com/2009/07/13/valgrind-cachegrind/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 16:54:49 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Multi-threaded L7-Filter]]></category>
		<category><![CDATA[cachegrind]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[valgrind]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=153</guid>
		<description><![CDATA[valgrind &#8211;tool=callgrind ls
– kcachegrind
valgrind &#8211;tool=cachegrind  &#60;app&#62; &#60;args&#62;
//generating Cachegrind.out.&#60;pid&#62; output file
kcachegrind
//generate diagram based on the output file
]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/07/13/valgrind-cachegrind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netfilter Queue API</title>
		<link>http://blog.mrcongwang.com/2009/07/13/netfilter-queue-api/</link>
		<comments>http://blog.mrcongwang.com/2009/07/13/netfilter-queue-api/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 15:35:00 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Multi-threaded L7-Filter]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[netfilter]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=151</guid>
		<description><![CDATA[----------
nfq_open()
----------

Prototype:
	struct nfq_handle *nfq_open(void)

Parameters:
	None.

Returns:
	Pointer to a new queue handle or NULL on failure.

Description:
	Obtains a netfilter queue connection handle.  When you are finished with
	the handle returned by this function, you should destroy it by calling
	nfq_close().  A new netlink connection is obtained internally and
	associated with the	queue connection handle returned.

---------------
nfq_open_nfnl()
---------------

Prototype:
	struct nfq_handle *nfq_open_nfnl(struct nfnl_handle *nfnlh)

Parameters:
	nfnlh	Netfilter netlink connection handle [...]]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/07/13/netfilter-queue-api/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[Day 2] Compiling Kernel Source Code for VTune</title>
		<link>http://blog.mrcongwang.com/2009/07/07/day-2-compiling-kernel-source-code-for-vtune/</link>
		<comments>http://blog.mrcongwang.com/2009/07/07/day-2-compiling-kernel-source-code-for-vtune/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 16:16:28 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Multi-threaded L7-Filter]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[vtune]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=92</guid>
		<description><![CDATA[Continued,
Step 1 Build Kernel Development Environment
uname -r
2.6.24-23-generic
uname -m
i686
apt-get install build-essential
apt-get install linux-headers-`uname -r`
vi Makefile # set EXTRAVERSION to a value corresponding to `uname -r`
make mrproper
cp /boot/config-`uname -r` .config
make oldconfig
make prepare
make scripts
In &#8220;make prepare &#8220;, I met a problem which says  &#8220;no rule for target arch/x86/kernel/asm-offsets.c&#8221;. The problem
is possibly due to the path. &#8220;asm-offsets.c&#8221; is located [...]]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/07/07/day-2-compiling-kernel-source-code-for-vtune/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>[Day 1] Choosing experimental tools</title>
		<link>http://blog.mrcongwang.com/2009/07/05/day-1-choosing-experimental-tools/</link>
		<comments>http://blog.mrcongwang.com/2009/07/05/day-1-choosing-experimental-tools/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 13:21:09 +0000</pubDate>
		<dc:creator>silwings</dc:creator>
				<category><![CDATA[Multi-threaded L7-Filter]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[valgrind]]></category>
		<category><![CDATA[vtune]]></category>

		<guid isPermaLink="false">http://blog.mrcongwang.com/?p=85</guid>
		<description><![CDATA[At first, an evaluation version of Intel VTune Performance Analyzer was obtained from Intel&#8217;s offical site along with a evaluation serial code. The entire program was more than 500MB.
When trying to install it by running ./install.sh, it kept frozen after entering the serial code due to the unconnectivity to Intel&#8217;s license verification center. Probably caused [...]]]></description>
		<wfw:commentRss>http://blog.mrcongwang.com/2009/07/05/day-1-choosing-experimental-tools/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
