А теперь без цитирования... :
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
tc -s filter ls dev eth0 parent ffff:
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.