Re: QoS - Ping problem

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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

Jody,

Thanks for your help. I changed the rules about child process and it have no effect on ping time, my script now shows like the one it is into the end of this email. Ping response:

Estatísticas do Ping para 172.30.0.1:
Pacotes: SENDED = 10, RECEIVED = 6, LOST = 4 (40% LOST),
Aproximar um número redondo de vezes em milissegundos:
Mínimo = 315ms, Máximo = 423ms, Média = 371ms

If I put this filter:

$FILTER match ip protocol 1 0xff flowid 1:10

Then I will have a very good response time from outside world server (like pinging into a big domain like www.uol.com.br), but when I try to ping into my own server (the gateway of my network) it returns that big size time and a big lost:

Estatísticas do Ping para 200.221.2.45:
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda),
Aproximar um número redondo de vezes em milissegundos:
Mínimo = 17ms, Máximo = 21ms, Média = 18ms

Att,

Nataniel Klug
------------------------------------------------------------------------
#!/bin/sh
#------
# Script de QoS Cyber Nett
#------
# Nataniel Klug
# suporte@xxxxxxxxxxxx
#------

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

DL="eth1"

#------
# Apagando regras antigas de QoS
#------
$TC qdisc del dev $DL root    2> /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 256Kbit
$CLASS 1:1 classid 1:20 htb rate 1024Kbit ceil 2048Kbit
$CLASS 1:1 classid 1:30 htb rate 512Kbit ceil 1024Kbit
$CLASS 1:1 classid 1:40 htb rate 512Kbit ceil 512Kbit
$CLASS 1:1 classid 1:50 htb rate 512Kbit ceil 512Kbit

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 protocol 1 0xff flowid 1:10
$FILTER match ip sport 22 0xffff flowid 1:10
$FILTER match ip sport 23 0xffff flowid 1:10
$FILTER match ip sport 2202 0xffff flowid 1:10

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

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

$FILTER match ip sport 21 0xffff flowid 1:40
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux