Re: Complex Traffic shaping setup
Linux Advanced Routing and Traffic Control
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
> I'm not sure if you have to use different prio
for filters (With fw
> this is a must). Depends on your setup.
> With htb, everything is attached with parent as root qdisc.
>
>
> On Fri, 18 Feb 2005 18:27:26 +0530, Padam J Singh
> <padam.singh@xxxxxxxxxxx> wrote:
> > Hi!
> >
> >
> > I have the following setup using iproute2:
> >
> > ========
> > | Root |
> > ========
> > |
> > | ===============
> > ------------| Box Level 1 |
> > | ===============
> > |
> > | ===============
> > ------------| Box Level 2 |
> > | ===============
> > |
> > |
> > | ===============
> > ------------| Users |
> > ===============
> >
|
> >
| ===============
> >
------------| User 1 |
> >
| ===============
> >
|
> >
| ===============
> >
------------| User 2 |
> >
| ===============
> >
|
> >
| ===============
> >
------------| User 3 |
> >
===============
> >
> >
> > I am using HTB for each node, simply because it supports
burst mode.
> >
> > There are box level classes (top level classes) that might
limit bandiwdth
> > based on protocols (http, smtp etc)
> > Then there are users classes which rate limit each user
to a specific rate.
> >
> > Each Box Level and User Classes have associated Qdiscs
as well.
> >
> > The issue is that HTB seems to be rate limiting only if
I attach filters at
> > the root (1:).
> >
> > Since classification for box level classes may also match
more specific
> > user filters are well, one of the two things happen:
> >
> > 1. If the prio of the filters for Box level is higher or
equal than that of
> > Users, packets are only sent to the box level class, and since
the rate at
> > box level class is generally higher, the user starts exceeding
his limit.
> > 2. If the prio of the User filter is higher, packets matching
the user
> > filter are never sent to the Box level classes, making the box
level rate
> > for a particular protocol exceed the required for all users put
together.
> >
> > Is there a solutions to this issue? I am unable to really
find a solution
> > since filters can only be applied to the root!
> >
> > Thanks in advance!
> > Padam Singh.
> >
> >
The filters get attached to the root, then use the
flowid to determine the destination priority on the HTB.
tc class add dev $e parent 10:1 classid 10:10 htb
rate $citrix ceil $nonVoipRate
tc class add dev $e parent 10:1 classid 10:20 htb
rate $video ceil $nonVoipRate
tc filter add dev $e protocol ip parent 10: prio 1
u32 match ip src $CONNECTRIA1/32 flowid 10:10
tc filter add dev $e protocol ip parent 10: prio 1
u32 match ip sport 1720 0xffff flowid 10:20
tc filter add dev $e protocol ip parent 10: prio 1
u32 match ip dport 1720 0xffff flowid 10:20
etc...
-Ron
[Index of Archives]
[LARTC Home Page]
[Netfilter]
[Netfilter Development]
[Network Development]
[Bugtraq]
[GCC Help]
[Yosemite News]
[Linux Kernel]
[Fedora Users]