Greetings all,
OK - just started playing around with traffic shaping - have imq and htb
and (I think) everything else I need in the kernel and running well. My
initial lab task was to protect a H.323 session over a simulated half T1
while adding bulk traffic - got that accomplished after slogging through
learning tc and decided in short order that a more intuitive interface
would be required to scale this to multiple networks with more complex
traffic patterns. I settles in on tcng because I thought the architecture
looked pretty snifty - still do though I''m open to suggestions.
I do have a tcng configuration question though. I''m trying to
replicate
my earlier simple configuration with TC. I''m sure what I have is far
from
optimal - but I wanted to stick as close to my original tc architecture as
I could so:
dev "imq0"
{
egress
{
class (<$four_vip>)
if ip_src ==
192.168.4.2/32;
class (<$six_vip>)
if ip_src ==
192.168.6.2/32;
class (<$four_all>)
if ip_src ==
192.168.4.0/24;
class (<$six_all>)
if ip_src ==
192.168.6.0/24;
htb (rate 1600 kbps)
{
class (rate 800 kbps)
{
$four_vip
= class (prio 1)
{
sfq;
}
$four_all
= class (prio 2)
{
sfq;
}
}
class (rate 800 kbps)
{
$six_vip
= class (prio 1)
{
sfq;
}
$six_all
= class (prio 2)
{
sfq;
}
}
}
}
}
This config compiles with no errors to:
tc qdisc del dev imq0 root
# ================================ Device imq0
===============================
tc qdisc add dev imq0 handle 1:0 root dsmark indices 8 default_index 0
tc qdisc add dev imq0 handle 2:0 parent 1:0 htb
tc class add dev imq0 parent 2:0 classid 2:1 htb rate 100000bps
tc class add dev imq0 parent 2:1 classid 2:2 htb rate 100000bps prio 1
tc qdisc add dev imq0 handle 3:0 parent 2:2 sfq
tc class add dev imq0 parent 2:1 classid 2:3 htb rate 100000bps prio 2
tc qdisc add dev imq0 handle 4:0 parent 2:3 sfq
tc class add dev imq0 parent 2:0 classid 2:4 htb rate 100000bps
tc class add dev imq0 parent 2:4 classid 2:5 htb rate 100000bps prio 1
tc qdisc add dev imq0 handle 5:0 parent 2:5 sfq
tc class add dev imq0 parent 2:4 classid 2:6 htb rate 100000bps prio 2
tc qdisc add dev imq0 handle 6:0 parent 2:6 sfq
tc filter add dev imq0 parent 2:0 protocol all prio 1 tcindex mask 0x7
shift 0
tc filter add dev imq0 parent 2:0 protocol all prio 1 handle 4 tcindex
classid 2:6
tc filter add dev imq0 parent 2:0 protocol all prio 1 handle 3 tcindex
classid 2:3
tc filter add dev imq0 parent 2:0 protocol all prio 1 handle 2 tcindex
classid 2:5
tc filter add dev imq0 parent 2:0 protocol all prio 1 handle 1 tcindex
classid 2:2
tc filter add dev imq0 parent 1:0 protocol all prio 1 u32 match u32
0xc0a80402 0xffffffff at 12 classid 1:1
tc filter add dev imq0 parent 1:0 protocol all prio 1 u32 match u32
0xc0a80602 0xffffffff at 12 classid 1:2
tc filter add dev imq0 parent 1:0 protocol all prio 1 u32 match u32
0xc0a80400 0xffffffff at 12 classid 1:3
tc filter add dev imq0 parent 1:0 protocol all prio 1 u32 match u32
0xc0a80600 0xffffffff at 12 classid 1:4
My question is regarding the last two lines - shouldn''t the masks for
this
be 0xffffff00 instead of 0xffffffff??
If I manually change them as noted then the system works like a champ - if
I leave them the way they are obviously traffic from 192.168.4.1 (my
traffic generation machine) doesn''t get properly categorized and falls
totally outside of the htb structure.
Am I doing something incorrectly or is this a bug? TCNG version 9m by the
way.
John Dunning
Asst Dir Net and Tech Svcs
Wayne State College