I am trying to limit the bandwidth on the ingress of a wireless interface using an IFB virtual interface. I followed the instructions here
Summary of the steps:
Bringing up ifb:
sudo modprobe ifb numifbs=1
ip link set dev ifb0 up
redirect ingress qdisc of wlp3s0 to ifb0:
sudo tc qdisc add dev wlp3s0 handle ffff: ingress
sudo tc filter add dev wlp3s0 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
setting bandwidth limit of 1 mbps
sudo tc qdisc add dev ifb0 root handle 1: htb default 10
sudo tc class add dev ifb0 parent 1: classid 1:1 htb rate 1mbit
I tested the set up with iperf, however I am able to receive data on the physical interface at a rate of 4 Mbps (which exceeds the 1 Mbps limit I set).
Any ideas what I'm doing wrong here? How can I fix this?