tc, drr, classification from several cls_flow hashes

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

 



Hi list,

I've got a question about using rrd with multiple flow filters.

Background: I'm using hfsc for traffic shaping. The leaf hfsc classes have a drr qdisc attached, with drr classes. The drr qdisc has a filter that maps traffic to the correct drr class. Pretty much a basic setup for drr. This works like a charm.

However, I would like to direct traffic to the set of drr class from two different flow filters.

in pseudo-code:
if (condition)
	use flow filter type a
else
	use flow filter type b

The condition would ideally be tested with the u32 or fwmark filter.

I think it is not possible to chain filters like this, am I right? Is there another way I could achieve this? Any ideas?

Regards,

roel


Additional info:

The flow filters I would like to use are:

flow map nfct-src
and
flow hash keys src,dst,proto,proto-src,proto-dst


Concise example of current (working) setup with single flow filter:

tc qdisc add dev $dev stab root handle 1: hfsc default 2
tc class add dev $dev parent 1: classid 1:1 hfsc \
       sc rate 100kbit \
       ul rate 100kbit
tc class add dev $dev parent 1:1 classid 1:2 hfsc \
       sc m1   100kbit d 50 ms m2 ${uplink}kbit \
       ul rate 100kbit
sc add dev $dev parent 1:2 handle 2: drr
for i in `seq 1 256`; do
   tc class add dev $dev parent 2: classid 2:$(printf "%x" $i) drr
   tc qdisc add dev $dev parent 2:$(printf "%x" $i) pfifo limit 16
done
tc filter add dev $dev parent 2:protocol all prio 10 handle 1 \
       flow hash keys nfct-src divisor 256 baseclass 2:1


--
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux