I use IMQ to incomming traffic shaping (using u32 to match the
source/destination MACs)
With IMQ I use:
iptables -t mangle -A PREROUTING -i $if_wan0 -j IMQ --to-dev 0
(for example)
To enqueue packets into IMQ device and then shapping.
With IMQ I can use modprobe to set the device count I need and so on.
I really only want to replace IMQ scripts code with IFB, but, at least for
now, I don't stand fine the packet flow using IFB.
I stand now how to initialice ifbX with your example, good!!
Now some aditional question about your example:
With this line:
tc qdisc add dev ifb19 root tbf limit 2k rate 20kbit buffer 2k
You are initializing the qdisc for ibf in the same manner you could do
with imq?
With this lines:
tc qdisc add dev eth0 ingress
tc filter add dev eth0 parent ffff: protocol arp prio 1 u32 match u32 0
0 flowid 1:1 action mirred egress redirect dev ifb19
Are those analogous as this (my imq0 device as your ifb19 device):
iptables -t mangle -A PREROUTING -i $if_wan0 -j IMQ --to-dev 0
?
The last, Do I only need add clases and qdiscs to ifb19 as if it where
my imq0 device?
Thanks and sorry for my english.
Post by Andy FurnissPost by Samuel DÃaz GarcÃaHi, I'm looking for info about IFB devices and how I can use it to
incomming traffic shapping.
Has IFB any web about it?
Do any body known where I can find more info about it?
http://linux-net.osdl.org/index.php/IFB
But I can't stand fine how to use it to allow many ifb's devices or how
to use it with "tc actions".
Any help?
Thanks
To use many you'll need to specify the number with modprobe -
modprobe ifb numifbs=20
ip link ls should show them all - you need to ip link set up dev ifbXX
aswell.
to send arp coming in on eth0 to ifb19 which has a tbf on it (just to
see counters - would be silly to really limit arp)
ip link set up ifb19
tc qdisc add dev ifb19 root tbf limit 2k rate 20kbit buffer 2k
tc qdisc add dev eth0 ingress
tc filter add dev eth0 parent ffff: protocol arp prio 1 u32 match u32 0
0 flowid 1:1 action mirred egress redirect dev ifb19
The flowid 1:1 is what the classification will be when the packet
returns from the ifb - unless you are shaping again (on a real dev - you
can't chain ifbs) it doesn't really matter what you put, but you do need
one as wothout it the rule will be accepted, but won't work (apart from
as a counter)
look at counters with -
tc -s qdisc ls dev ifb19
If you want to do the same sort of thing on egress you need to put
something classfull on the interface rather than the default pfifo_fast
prio will do.
Some examples show using marks aswell, it's not needed as such and
doesn't always work as the netfilter bits keep getting out of sync with
ifb.
Andy.
_______________________________________________
LARTC mailing list
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc