Re: [LARTC] QoS - Ping problem

2006-04-05 Thread Jody Shumaker
> CLASS="/sbin/tc class add dev $DL parent"
> $CLASS 1: classid 1:1 htb rate 3072Kbit
> $CLASS 1:1 classid 1:10 htb rate 1024Kbit ceil 1024Kbit
> $CLASS 1:1 classid 1:20 htb rate 1536Kbit ceil 2560Kbit
> $CLASS 1:1 classid 1:30 htb rate 512Kbit ceil 1024Kbit
> $CLASS 1:1 classid 1:40 htb rate 512Kbit ceil 1024Kbit
> $CLASS 1:1 classid 1:50 htb rate 512Kbit ceil 1024Kbit
>

For starters you might want to fix these rates.
1024+1536+512+512+512 != 3072

Over allocating may be causing the high number of dropped packets, and
its at least worth fixing before trying anything else. Make sure child
classes rates never add up to greater than the parents rate, in your
case 3072Kbit. Beyond that though I don't see anything obvious. You're
using sfq which what I usually see recommended to increase the queue
size and avoid dropped packets.

- Jody
___
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc


[LARTC] QoS - Ping problem

2006-04-05 Thread Nataniel Klug

   Hello all,

   I have set my QoS solution and now I am facing a little problem... 
When I ping to my server it has some lost packages:


Estatísticas do Ping para 172.30.0.1:
Pacotes: SENDED = 1029, RETURNED = 880, LOST = 149 (14% de perda),
Aproximar um número redondo de vezes em milissegundos:
Mínimo = 0ms, Máximo = 686ms, Média = 105ms


   If I disable my QoS ping stats to be ok. I even have tryed to make a 
filter for ICMP protocol (using u32 as it is writen into LARTC how-to) 
but it did not work. How can I solve this problem?



#!/bin/sh
#--
# Script de QoS Cyber Nett
#--
# Nataniel Klug
# [EMAIL PROTECTED]
#--

TC="/sbin/tc"
IPT="/usr/local/sbin/iptables"

$IPT -t mangle -X
$IPT -t mangle -F

DL="eth1"

#--
# Apagando regras antigas de QoS
#--
$TC qdisc del dev $DL root2> /dev/null > /dev/null
$TC qdisc del dev $DL ingress 2> /dev/null > /dev/null

#--
# Regras para a placa eth1
#--
$TC qdisc add dev $DL root handle 1: htb default 50

CLASS="/sbin/tc class add dev $DL parent"
$CLASS 1: classid 1:1 htb rate 3072Kbit
$CLASS 1:1 classid 1:10 htb rate 1024Kbit ceil 1024Kbit
$CLASS 1:1 classid 1:20 htb rate 1536Kbit ceil 2560Kbit
$CLASS 1:1 classid 1:30 htb rate 512Kbit ceil 1024Kbit
$CLASS 1:1 classid 1:40 htb rate 512Kbit ceil 1024Kbit
$CLASS 1:1 classid 1:50 htb rate 512Kbit ceil 1024Kbit

QDISC="/sbin/tc qdisc add dev $DL parent"
$QDISC 1:10 handle 10: sfq perturb 10
$QDISC 1:20 handle 20: sfq perturb 10
$QDISC 1:30 handle 30: sfq perturb 10
$QDISC 1:40 handle 40: sfq perturb 10
$QDISC 1:50 handle 50: sfq perturb 10

FILTER="/sbin/tc filter add dev $DL parent 1:0 protocol ip prio 1 u32"

$FILTER match ip sport 22 0x flowid 1:10
$FILTER match ip sport 23 0x flowid 1:10
$FILTER match ip sport 2202 0x flowid 1:10

$FILTER match ip sport 80 0x flowid 1:20
$FILTER match ip sport 443 0x flowid 1:20
$FILTER match ip sport 3128 0x flowid 1:20

$FILTER match ip sport 53 0x flowid 1:30
$FILTER match ip sport 25 0x flowid 1:30
$FILTER match ip sport 110 0x flowid 1:30

$FILTER match ip sport 21 0x flowid 1:40

___
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc


Re: [LARTC] Tocken Bucket with priority?

2006-04-05 Thread Emanuele Colombo
> What about using HTB and *then* using PRIO as its leaf class? You would
> use HTB only to shape.

Thanks, it could be a good idea! I'll try this as soon as possible.

Thanks!

--
Emanuele
___
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc


Re: [LARTC] Tocken Bucket with priority?

2006-04-05 Thread Andreas Hasenack
On Wed, Apr 05, 2006 at 03:18:06PM +0200, Emanuele Colombo wrote:
> Hi. I'm trying to get a traffic shaper like this:
> 
> 
> --
>   VoIP pkts-->||_|
> --  \   |
>  ---O ->
> --  /
>   Data pkts-->|
> --
> 
> In this shaper voip packets are in a different queue than any other kind of
> packet. I want a data packet to be served only when no packets are in the
> voip queue (when voip queue is empty).
> Furthermore the total traffic that leaves this shaper needs to be limited to
> a specific (and precise) value of bandwidth, like a token bucket.
> 
> 
> I can't use something like this (PRIO + TBF) because in this way when "data
> congestion" happens, voip packets may be lost too(packet drop appens on the
> TBF queue):
> 
> --
>   VoIP pkts-->|   |_|
> --  \ -|
>  O --->|---O ->
> --  / -
>   Data pkts-->|
> --
> 
> I also can't use HTB because it doesn't provide a priority mechanism like my
> needs, and CBQ because his bandwidth limiting algorithm isn't very precise
> (according to the documentation).

What about using HTB and *then* using PRIO as its leaf class? You would
use HTB only to shape.


___
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc


[LARTC] Tocken Bucket with priority?

2006-04-05 Thread Emanuele Colombo
Hi. I'm trying to get a traffic shaper like this:


    --
  VoIP pkts    -->    |    |_|
   
--  \   |

---O ->
   
--  /
  Data pkts    -->    |
    --

In this shaper voip
packets are in a different queue than any other kind of packet. I want
a data packet to be served only when no packets are in the voip queue
(when voip queue is empty).
Furthermore the total
traffic that leaves this shaper needs to be limited to a specific (and
precise) value of bandwidth, like a token bucket.


I can't use something
like this (PRIO + TBF) because in this way when "data congestion"
happens, voip packets may be lost too(packet drop appens on the TBF
queue):

    --
  VoIP
pkts    -->   
|  
|_|
   
--  \ -    |

O --->    |---O ->
   
--  / -
  Data pkts    -->    |
    --

I also can't use HTB
because it doesn't provide a priority mechanism like my needs, and CBQ
because his bandwidth limiting algorithm isn't very precise (according
to the documentation).


How can I solve this problem using tc qdiscs?


Thanks

--
Emanuele
___
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc


[LARTC] Configuration of my QoS ruleset (now working fine with u32 classifier)

2006-04-05 Thread Nataniel Klug

   Hello all,

   As I have promised I am sending my QoS rules. This now works fine 
with u32 classifier (and parent 1:0 that I could not understand why it 
did not worked well before).


Att,

Nataniel Klug


#!/bin/sh
#--
# Script de QoS Cyber Nett
#--
# Nataniel Klug
# [EMAIL PROTECTED]
#--

TC="/sbin/tc"
IPT="/usr/local/sbin/iptables"

DL="eth1"

#--
# Apagando regras antigas de QoS
#--
$TC qdisc del dev $DL root2> /dev/null > /dev/null
$TC qdisc del dev $DL ingress 2> /dev/null > /dev/null

#--
# Regras para a placa eth1
#--
$TC qdisc add dev $DL root handle 1: htb default 40

CLASS="/sbin/tc class add dev $DL parent"
$CLASS 1: classid 1:1 htb rate 3096Kbit
$CLASS 1:1 classid 1:10 htb rate 2048Kbit ceil 3096Kbit
$CLASS 1:1 classid 1:20 htb rate 1024Kbit ceil 3096Kbit
$CLASS 1:1 classid 1:30 htb rate 1024Kbit ceil 2048Kbit
$CLASS 1:1 classid 1:40 htb rate 512Kbit ceil 2048Kbit

QDISC="/sbin/tc qdisc add dev $DL parent"
$QDISC 1:10 handle 10: sfq perturb 10
$QDISC 1:20 handle 20: sfq perturb 10
$QDISC 1:30 handle 30: sfq perturb 10
$QDISC 1:40 handle 40: sfq perturb 10

FILTER="/sbin/tc filter add dev $DL parent 1:0 protocol ip prio 1 u32"
#
# Regras com maior prioridade
# APENAS NAVEGACAO E PING
#
$FILTER match ip sport 80 0x flowid 1:10
$FILTER match ip sport 443 0x flowid 1:10
$FILTER match ip sport 3128 0x flowid 1:10
$FILTER match ip protocol 1 0xff flowid 1:10
#
# Regra especial para o conteudo
# ns2.cnett.com.br
#
$FILTER match ip src 200.163.208.4/32 flowid 1:10
$FILTER match ip src 200.163.208.5/32 flowid 1:10
#
# Regras com prioridade mediana
# DNS, SSH, Telnet
#
$FILTER match ip sport 22 0x flowid 1:20
$FILTER match ip sport 23 0x flowid 1:20
$FILTER match ip sport 53 0x flowid 1:20
$FILTER match ip sport 2202 0x flowid 1:20
#
# Regras com prioridade baixa
# Mail
#
$FILTER match ip sport 25 0x flowid 1:30
$FILTER match ip sport 110 0x flowid 1:30
___
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc