<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>SkillSharing2015/tc</title><revhistory><revision><revnumber>1</revnumber><date>2015-02-27 16:43:23</date><authorinitials>ClauzClauz</authorinitials></revision></revhistory></articleinfo><section><title>Linux Traffic Control SkillSharing 2015</title><section><title>Scaletta</title><itemizedlist><listitem><para>concetti fondamentali qdisc, class, drop, filter </para></listitem><listitem><para>qdisc contengono classi che contengono qdisc - iniziare e finire sempre con una qdisc </para></listitem><listitem><para>si puo' controllare solo il traffico in uscita </para></listitem><listitem><para>token bucket </para></listitem></itemizedlist></section><section><title>command history</title><screen><![CDATA[tc qdisc del root dev eth0
ip link sh dev eth0
ip link set qlen 100 dev eth0
ip link sh dev eth0
ip link set qlen 5000 dev eth0
ip link set qlen 50000 dev eth0
ip link set qlen 500000 dev eth0
ip link set qlen 5000000 dev eth0
ip link set qlen 50000000 dev eth0
ip link set qlen 500000000 dev eth0
ip link sh dev eth0
ip link set qlen 5000000000 dev eth0
ip link set qlen 500000000 dev eth0
ip link set qlen 1000
ip link set qlen 1000 dev eth0
tc qdisc show dev wlan0
tc qdisc del dev wlan0
tc qdisc del root dev wlan0
tc qdisc del dev wlan0
tc qdisc show dev wlan0
tc qdisc add dev wlan0 root htb default 1
tc qdisc del root dev wlan0
]]><![CDATA[
tc qdisc add dev wlan0 root handle 1: htb default 1
tc class add dev wlan0 parent 1: handle 1:1 htb rate 1Mbit
tc class add dev wlan0 parent 1: classid 1:1 htb rate 1Mbit
tc class add dev wlan0 parent 1: classid 1:2 htb rate 2Mbit
tc class add dev wlan0 parent 1: classid 1:3 htb rate 3Mbit
tc qdisc add dev wlan0 parent 1:1 handle 10: pfifo
tc qdisc add dev wlan0 parent 1:1 handle 20: pfifo
tc qdisc add dev wlan0 parent 1:2 handle 20: pfifo
tc qdisc add dev wlan0 parent 1:3 handle 30: pfifo
]]><![CDATA[
iperf -c 10.172.5.26 -t 300
iperf -c 10.172.5.26 -t 300 -i 3
]]><![CDATA[
tc filter add dev wlan0 protocol ip prio 1 handle 0x10 fw flowid 1:2 
]]><![CDATA[
iptables -t mangle -A POSTROUTING -d 10.172.5.26/32 -j MARK --set-mark 0x10
]]><![CDATA[
iperf -c 10.172.5.26 -u -b 3Mbit -t 300 -i 3
]]><![CDATA[
iptables -t mangle -L POSTROUTING -n -v
tc -s class sh dev wlan0
]]><![CDATA[
tc filter sh dev wlan0
tc filter del dev wlan0 protocol ip pref 1 fw classid 1:2
tc filter add dev wlan0 protocol ip prio 1 handle 0x10 fw flowid 1:3
tc filter show dev wlan0
iperf -c 10.172.5.26 -u -b 8Mbit -t 300 -i 3]]></screen></section><section><title>simple htb shaper</title><screen><![CDATA[tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: htb default 1
tc class add dev eth0 parent 1: classid 1:1 htb rate 1Mbit ceil 1Mbit
tc qdisc add dev eth0 parent 1:1 handle 2: pfifo limit 100]]></screen></section><section><title>simple priority scheduler</title><para>(non abbiamo fatto in tempo a vederlo) </para><screen><![CDATA[tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: prio bands 3 
tc qdisc add dev eth0 parent 1:1 handle 10: pfifo limit 100
tc qdisc add dev eth0 parent 1:2 handle 20: pfifo limit 100
tc qdisc add dev eth0 parent 1:3 handle 30: pfifo limit 100
]]><![CDATA[
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip tos 8 0xff flowid 1:1
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip tos 160 0xff flowid 1:2
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip tos 48 0xff flowid 1:3]]></screen></section><section><title>Links</title><itemizedlist><listitem><para><ulink url="https://en.wikipedia.org/wiki/Bufferbloat"/> </para></listitem><listitem><para><ulink url="http://tldp.org/HOWTO/Traffic-Control-HOWTO/index.html"/> </para></listitem><listitem><para><ulink url="https://en.wikipedia.org/wiki/Token_bucket"/> </para></listitem><listitem><para><ulink url="http://wiki.ninux.org/Presentazioni?action=AttachFile&amp;do=get&amp;target=LinuxDayRoma2009_ninux.pdf"/> </para></listitem><listitem><para><ulink url="https://svn.ninux.org/ninuxdeveloping/browser/freenux/ninux-free2.sh"/> </para></listitem></itemizedlist></section></section></article>