![Linux 命名空间中的流量控制导致带宽非常低](https://linux22.com/image/1549371/Linux%20%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E4%B8%AD%E7%9A%84%E6%B5%81%E9%87%8F%E6%8E%A7%E5%88%B6%E5%AF%BC%E8%87%B4%E5%B8%A6%E5%AE%BD%E9%9D%9E%E5%B8%B8%E4%BD%8E.png)
我希望限制veth0
命名空间的入口流量ns0
。
我所做的是发出以下命令:
# create netns
ip netns add ns0
# create veth pair
ip link add dev veth0 type veth peer name veth1
ip link set dev veth0 netns ns0
# set them UP ...
ip netns exec ns0 ip addr add ... # add ipv4 addr to veth0
# link veth1 to br0 which is a linux bridge connecting physical interface
# bond1 where testing traffic comes from.
ip link set dev veth1 master br0
# setup traffic control rules
ip netns exec ns0 tc qdisc add dev veth0 handle ffff: ingress
ip netns exec ns0 tc filter add dev veth0 parent ffff: protocol ip prio 1 u32 match ip src 0.0.0.0/0 police rate 100mbit burst 1mbit drop flowid :1
经过所有这些,我预计 iperf 的结果会在 100Mbps 左右,但实际上我只获得了大约 14Mbps 的带宽。
tc 上是否存在我不知道的隐含限制?