<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Linux on To Linux and beyond !</title>
    <link>https://home.regit.org/tags/linux/</link>
    <description>Recent content in Linux on To Linux and beyond !</description>
    <generator>Hugo</generator>
    <language>fr</language>
    <lastBuildDate>Mon, 18 Nov 2013 12:59:59 +0000</lastBuildDate>
    <atom:link href="https://home.regit.org/feed/tags/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Using linux perf tools for Suricata performance analysis</title>
      <link>https://home.regit.org/2013/11/using-linux-perf-tools-for-suricata-performance-analysis/</link>
      <pubDate>Mon, 18 Nov 2013 12:59:59 +0000</pubDate>
      <guid>https://home.regit.org/2013/11/using-linux-perf-tools-for-suricata-performance-analysis/</guid>
      <description>&lt;h4 id=&#34;introduction&#34;&gt;Introduction&lt;/h4&gt;
&lt;p&gt;&lt;a href=&#34;https://perf.wiki.kernel.org/index.php/Main_Page&#34;&gt;Perf&lt;/a&gt; is a great tool to analyse performances on Linux boxes. For example, &lt;em&gt;perf top&lt;/em&gt; will give you this type of output on a box running &lt;a href=&#34;http://suricata-ids.org/&#34;&gt;Suricata&lt;/a&gt; on a high speed network:&lt;/p&gt;
&lt;pre&gt;Events: 32K cycles                                                                                                                                                                                                                            
 28.41%  suricata            [.] SCACSearch
 19.86%  libc-2.15.so        [.] tolower
 17.83%  suricata            [.] SigMatchSignaturesBuildMatchArray
  6.11%  suricata            [.] SigMatchSignaturesBuildMatchArrayAddSignature
  2.06%  suricata            [.] tolower@plt
  1.70%  libpthread-2.15.so  [.] pthread_mutex_trylock
  1.17%  suricata            [.] StreamTcpGetFlowState
  1.10%  libc-2.15.so        [.] __memcpy_ssse3_back
  0.90%  libpthread-2.15.so  [.] pthread_mutex_lock&lt;/pre&gt;
&lt;p&gt;The functions are sorted by CPU consumption. Using arrow key it is possible to jump into the annotated code to see where most CPU cycles are used.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A bit of fun with IPv6 setup</title>
      <link>https://home.regit.org/2013/09/a-bit-of-fun-with-ipv6-setup/</link>
      <pubDate>Thu, 26 Sep 2013 09:28:38 +0000</pubDate>
      <guid>https://home.regit.org/2013/09/a-bit-of-fun-with-ipv6-setup/</guid>
      <description>&lt;p&gt;When doing some tests on &lt;a href=&#34;http://suricata-ids.org/&#34;&gt;Suricata&lt;/a&gt;, I needed to setup a small IPv6 network. The setup is simple with one laptop which is Ethernet connected to a desktop. And the desktop host a Virtualbox system.&lt;br&gt;
This way, the desktop can act as a router with laptop on eth0 and Vbox on vboxnet0.&lt;/p&gt;
&lt;p&gt;To setup the desktop/router, I’ve used:&lt;/p&gt;
&lt;pre&gt;ip a a 4::1/64 dev eth0
ip a a 2::1/64 dev vboxnet0
echo &#34;1&#34;&gt;/proc/sys/net/ipv6/conf/all/forwarding
&lt;/pre&gt;
&lt;p&gt;To setup the laptop who already has a IPv6 public address on eth0, I’ve done:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk about nftables at Kernel Recipes 2013</title>
      <link>https://home.regit.org/2013/09/talk-about-nftables-at-kernel-recipes-2013/</link>
      <pubDate>Tue, 24 Sep 2013 13:48:19 +0000</pubDate>
      <guid>https://home.regit.org/2013/09/talk-about-nftables-at-kernel-recipes-2013/</guid>
      <description>&lt;p&gt;I’ve just gave a talk about nftables, the iptables successor, at &lt;a href=&#34;https://kernel-recipes.org/fr/2013/&#34;&gt;Kernel Recipes 2013&lt;/a&gt;. You can find the slides here:&lt;br&gt;
&lt;a href=&#34;https://home.regit.org/uploads/2013/09/2013_kernel_recipes_nftables.pdf&#34;&gt;2013_kernel_recipes_nftables&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A description of the talk as well as slides and video are available on &lt;a href=&#34;https://kernel-recipes.org/en/2013/nftables-what-motivations-and-what-solutions/&#34;&gt;Kernel Recipes website&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here’s the video of my talk:&lt;/p&gt;
&lt;p&gt;I’ve presented a video of nftables source code evolution:&lt;/p&gt;
&lt;p&gt;The video has been generated with &lt;a href=&#34;https://code.google.com/p/gource/&#34;&gt;gource&lt;/a&gt;. Git history of various components have been merged and the file path has been prefixed with project name.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A month in the life of Debian in 2000 and 2012</title>
      <link>https://home.regit.org/2013/04/a-month-in-the-life-of-debian-in-2000-and-2012/</link>
      <pubDate>Fri, 05 Apr 2013 21:56:59 +0000</pubDate>
      <guid>https://home.regit.org/2013/04/a-month-in-the-life-of-debian-in-2000-and-2012/</guid>
      <description>&lt;h4 id=&#34;visualizing-debian-packages-upload&#34;&gt;Visualizing Debian packages upload&lt;/h4&gt;
&lt;p&gt;&lt;a href=&#34;http://wiki.debian.org/UltimateDebianDatabase&#34;&gt;Ultimate Debian Database&lt;/a&gt; provide a way to get information about all packages upload on &lt;a href=&#34;http://www.debian.org/&#34;&gt;Debian&lt;/a&gt; repositories accros time. After a discussion with &lt;a href=&#34;http://www.lucas-nussbaum.net/&#34;&gt;Lucas Nussbaum&lt;/a&gt; at &lt;a href=&#34;https://distro-recipes.org&#34;&gt;Distro Recipes&lt;/a&gt;, he made available a webpage to access to a &lt;a href=&#34;https://code.google.com/p/gource/&#34;&gt;gource&lt;/a&gt; compatible file format of packages upload.&lt;/p&gt;
&lt;p&gt;Using this I was able to create videos of Debian evolution over time. I’ve generated two videos showing on month of packages upload in 2000 and to compare one month in 2012.&lt;/p&gt;</description>
    </item>
    <item>
      <title>David Miller: routing cache is dead, now what ?</title>
      <link>https://home.regit.org/2013/03/david-miller-routing-cache-is-dead-now-what/</link>
      <pubDate>Mon, 11 Mar 2013 10:17:21 +0000</pubDate>
      <guid>https://home.regit.org/2013/03/david-miller-routing-cache-is-dead-now-what/</guid>
      <description>&lt;p&gt;The routing cache was maintaining a list of routing decisions. This was an hash table which was highly dynamic and was changing due to traffic. One of the major problem was the garbage collector. An other severe issue was the possibility of DoS using the increase&lt;/p&gt;
&lt;p&gt;The routing cache has been suppressed in Linux 3.6 after a 2 years effort by David and the other Linux kernel developers. The global cache has been suppressed and some stored information have been moved to more separate resources like socket.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Minimal linux kernel config for Virtualbox</title>
      <link>https://home.regit.org/2012/08/minimal-linux-kernel-config-for-virtualbox/</link>
      <pubDate>Fri, 17 Aug 2012 08:23:28 +0000</pubDate>
      <guid>https://home.regit.org/2012/08/minimal-linux-kernel-config-for-virtualbox/</guid>
      <description>&lt;p&gt;I was looking for some minimal Linux kernel configuration for Virtualbox guest and did only find some old one. I thus decide to build one and to publish them.&lt;br&gt;
They are available on github: &lt;a href=&#34;https://github.com/regit/regit-config&#34;&gt;regit-config&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For now, the only published configuration are for Linux kernel 3.5:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/regit/regit-config/raw/master/virtualbox/config-3.5-vbox&#34;&gt;config-3.5-vbox&lt;/a&gt;: A minimal Linux kernel config for Virtualbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/regit/regit-config/raw/master/virtualbox/config-3.5-vbox-no-netfilter&#34;&gt;config-3.5-vbox-no-netfilter&lt;/a&gt;: Same as previous config with Netfilter disabled&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Using AF_PACKET zero copy mode in Suricata</title>
      <link>https://home.regit.org/2012/02/using-af_packet-zero-copy-mode-in-suricata/</link>
      <pubDate>Thu, 23 Feb 2012 18:25:15 +0000</pubDate>
      <guid>https://home.regit.org/2012/02/using-af_packet-zero-copy-mode-in-suricata/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.inliniac.net/blog/&#34;&gt;Victor Julien&lt;/a&gt; has &lt;a href=&#34;http://lists.openinfosecfoundation.org/pipermail/oisf-devel/2012-February/001283.html&#34;&gt;just pushed&lt;/a&gt; a new feature to &lt;a href=&#34;https://redmine.openinfosecfoundation.org/projects/suricata/repository&#34;&gt;suricata’s git tree&lt;/a&gt;. It brings improvements to the AF_PACKET capture mode.&lt;/p&gt;
&lt;p&gt;This capture mode can be used on Linux. It is the native way to capture packet. Suricata is able to use the interesting new multithreading feature provided by AF_PACKET on recent kernels: it is possible to have multiple capture threads receiving the packet of a single interface.&lt;/p&gt;
&lt;p&gt;The commits add mmaped ring buffer support to AF_PACKET capture and also provide a zero copy mode. Mmaped ring buffer is mechanism similar to the one used by PF_RING. The kernel allocates some memory to store the packets and share this memory with the capture process. Instead of sending messages, the kernel just write to the shared memory and the process capture reads it. This is less consuming in term of CPU ressource and helps to increase the capture rate. But the main avantage of this technique is that the capture process can treat the packets without making a copy and this saves a lot of time&lt;/p&gt;</description>
    </item>
    <item>
      <title>Upgrading Galaxy S from Android 2.1 to 2.3.3 under Linux</title>
      <link>https://home.regit.org/2011/05/upgrading-galaxy-s-under-linux/</link>
      <pubDate>Sat, 14 May 2011 15:29:03 +0000</pubDate>
      <guid>https://home.regit.org/2011/05/upgrading-galaxy-s-under-linux/</guid>
      <description>&lt;p&gt;After some time lost by trying in vain to have Kies (of Death) from Samsung oder Odin working under Virtualbox, I’ve found about the exitence of &lt;a href=&#34;http://www.glassechidna.com.au/products/heimdall/&#34;&gt;Heimdall&lt;/a&gt;. This software has been developped to flash firmware onto Samsung Galaxy S devices.&lt;/p&gt;
&lt;p&gt;It did work quiet easily. &lt;a href=&#34;http://wmarkito.wordpress.com/2011/02/11/flashing-android-froyo-in-a-galaxy-s-with-ubuntu-and-heimdall/&#34;&gt;Upgrade procedure&lt;/a&gt; only requires some files download and in my case some usage of the tar command.&lt;/p&gt;
&lt;p&gt;The command line was long but simple:&lt;br&gt;
[bash]heimdall flash -pit s1_odin_20100512.pit –factoryfs factoryfs.rfs \&lt;br&gt;
–cache cache.rfs –dbdata dbdata.rfs –param param.lfs \&lt;br&gt;
–kernel zImage –modem modem.bin \&lt;br&gt;
–primary-boot boot.bin –secondary-boot Sbl.bin \&lt;br&gt;
–verbose[/bash]&lt;/p&gt;</description>
    </item>
    <item>
      <title>IPv6 privacy extensions on Linux</title>
      <link>https://home.regit.org/2011/04/ipv6-privacy/</link>
      <pubDate>Fri, 29 Apr 2011 17:41:24 +0000</pubDate>
      <guid>https://home.regit.org/2011/04/ipv6-privacy/</guid>
      <description>&lt;h2 id=&#34;ipv6-global-address&#34;&gt;IPv6 global address&lt;/h2&gt;
&lt;p&gt;The global address is used in IPv6 to communicate with the outside world. This is thus the one that is used as source for any communication and thus in a way identify you on Internet.&lt;/p&gt;
&lt;p&gt;Below is a dump of an interface configuration:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP qlen 1000
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;link/ether 00:22:15:64:42:bd brd ff:ff:ff:ff:ff:ff
inet6 2a01:f123:1234:5bd0:222:15ff:fe64:42bd/64 scope global dynamic 
   valid_lft 86314sec preferred_lft 86314sec
inet6 fe80::222:15ff:fe64:42bd/64 scope link 
   valid_lft forever preferred_lft forever&amp;lt;/pre&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The global address is here &lt;em&gt;2a01:f123:1234:5bd0:222:15ff:fe64:42bd/64&lt;/em&gt;. It is build by using the prefix and adding an identifier build with the hardware address. For example, here the hardware address is 00:22:15:64:42:bd and the global IPv6 address is ending with 22:15_ff:fe_64:42bd.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
