<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>KaBuTe - Dummy Hacker - Redes</title>
    <link>http://www.kabute.org/blog/</link>
    <description>Homebrew Hacks</description>
    <dc:language>es</dc:language>
    <generator>Serendipity 1.3.1 - http://www.s9y.org/</generator>
    <pubDate>Sat, 17 May 2008 11:37:44 GMT</pubDate>

    <image>
        <url>http://www.kabute.org/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: KaBuTe - Dummy Hacker - Redes - Homebrew Hacks</title>
        <link>http://www.kabute.org/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>QoS with MAC filtering</title>
    <link>http://www.kabute.org/blog/index.php?/archives/4-QoS-with-MAC-filtering.html</link>
            <category>Redes</category>
    
    <comments>http://www.kabute.org/blog/index.php?/archives/4-QoS-with-MAC-filtering.html#comments</comments>
    <wfw:comment>http://www.kabute.org/blog/wfwcomment.php?cid=4</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.kabute.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=4</wfw:commentRss>
    

    <author>nospam@example.com (KaBuTe)</author>
    <content:encoded>
    &lt;strong&gt;Problem:&lt;/strong&gt; Collapsed Network with high load and dynamic IPs (DHCP server working)&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Answer:&lt;/strong&gt; Implement QoS using tc and MAC filtering (with the u32 classifier reading the header of the packet).&lt;br /&gt;
&lt;br /&gt;
I&#039;ll use a script to show how it works:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
#Maximum bitrate, for example 9Mbit/sec&lt;br /&gt;
MAXRATE=9Mbit&lt;br /&gt;
&lt;br /&gt;
#Assured minimum bitrate per PC, for example 3 Mbit/sec&lt;br /&gt;
MINRATE=3Mbit&lt;br /&gt;
&lt;br /&gt;
ALG=htb&lt;br /&gt;
&lt;br /&gt;
#Network Interface to balance&lt;br /&gt;
IFACE=eth1&lt;br /&gt;
&lt;br /&gt;
case &quot;$1&quot; in&lt;br /&gt;
&lt;br /&gt;
start)&lt;br /&gt;
&lt;br /&gt;
#Creation of the root and the classes as usual, 3 classes (min: 3Mbit/sec, max: 9Mbit/sec)&lt;br /&gt;
tc qdisc add dev $IFACE root handle 1: htb default 12&lt;br /&gt;
tc class add dev $IFACE parent 1: classid 1:1 htb rate $MAXRATE ceil $MAXRATE&lt;br /&gt;
tc class add dev $IFACE parent 1:1 classid 1:10 htb rate $MINRATE ceil $MAXRATE &lt;br /&gt;
tc class add dev $IFACE parent 1:1 classid 1:11 htb rate $MINRATE ceil $MAXRATE &lt;br /&gt;
tc class add dev $IFACE parent 1:1 classid 1:12 htb rate $MINRATE ceil $MAXRATE &lt;br /&gt;
&lt;br /&gt;
#PC to filter by MAC (for example: 11:22:AA:BB:33:44), see command bellow&lt;br /&gt;
#tc filter add dev $IFACE protocol ip parent 1:1 prio 1 u32 match u16 0x0800 0xFFFF at -2 match u32 0x(8 last &quot;digits&quot; of the MAC) 0xFFFFFFFF at -12 match u16 0x(4 first &quot;digits&quot; of the MAC) 0xFFFF at -14 flowid 1:12&lt;br /&gt;
&lt;br /&gt;
tc filter add dev $IFACE protocol ip parent 1:1 prio 1 u32 match u16 0x0800 0xFFFF at -2 match u32 0xaabb3344 0xFFFFFFFF at -12 match u16 0x1122 0xFFFF at -14 flowid 1:12&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
&lt;br /&gt;
show)&lt;br /&gt;
&lt;br /&gt;
tc -s qdisc ls dev $IFACE&lt;br /&gt;
&lt;br /&gt;
;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sat, 17 May 2008 12:12:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.kabute.org/blog/index.php?/archives/4-guid.html</guid>
    
</item>

</channel>
</rss>