Re: DSCP, ToS and Egress

Linux Advanced Routing and Traffic Control

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

 



I've attached my diffserv automagic generator script because I think it's pretty
useful. Any feedback appreciated. After sourcing this into your scripts you
basically feed it the following information to have it auto generate the needed
classes and qdiscs based on formulas I've found on the net. This should be
called to attach itself to a leaf class when you are already done sorting
traffic into generic priority queues, etc. Note that I've ripped this out of a
much larger script, but it should work as is.


Here's an example of the arguments the 'diffserv' function takes:
# -----------------------------------------------
# PARENT:   Parent Class ID
# DEV:      Target Device
# RATE:     Parent Rate                 (kbit)
# CEIL:     Parent Ceiling              (kbit)
# AVPKT:    Average Packet Size         (bytes)
# LATENCY:  Target Latency              (milliseconds)
# QUANTUM:  Device MTU (normally)       (bytes)
# MTU:      Maximum Transmission Unit   (bytes)
# MPU:      Minimum Packet Unit         (bytes)
# OVERHEAD: Packet Overhead             (bytes)
# -----------------------------------------------

The most common problem someone will run into with this script is not being able
to guarantee a low enough latency. It takes a certain amount of bandwidth (rate)
to guarantee a target latency based on the average packet size (of course!).


Dan -

Quoting Antonios Halkiopoulos <alg0@xxxxxxxxxxxxxxxxx>:

Dan Cox wrote:

I would post my scripts but they're around several thousand lines, intertwined
with lots of variable substitution and generate about 300 qdiscs and classes so
I don't think it would be easy to follow :)

I am still interested, just post them to my personal email only so that you won't flood lartc list.


I'm using stock Fedora Core 3 packages for kernel (2.6.10), iptables and
iproute2 (2.6.9) with the QNET patchset applied
(http://kem.p.lodz.pl/~peter/qnet/). I've also done this under Gentoo with the same stock kernels, packages and patches.

I will check as soon as possible


   |HTB AF1 Class
    |GRED qdisc
   |HTB AF2 Class
    |GRED qdisc
   |HTB AF3 Class
    |GRED qdisc
   |HTB AF4 Class
    |GRED qdisc
   |HTB BE Class
    |RED qdisc


This is the part i am most interested in. I guess GRED for AF1 (for example) takes care of AF11 , AF12, AF13 and AF14. If so please sent me your scripts.

I will generate UDP traffic with mgen to test the kernels i am currently using.

Thanks for your time,
Antonios Chalkiopoulos




-- Dan-

Attachment: diffserv.sh
Description: Bourne shell script


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