Я ожидаю ограничить входящий трафик 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 будет около 100 Мбит / с, но на самом деле я получаю только около 14 Мбит / с.
Есть ли какие-то неявные ограничения на tc, о которых я не знаю?
Кстати, мне еще предстоит получить линейную скорость при добавлении любого tc-формирования с разумными ограничениями. Чтобы получить скорости линии, я должен установить максимальные скорости примерно в 10 раз выше моей реальной скорости линии - я видел эту проблему в нескольких алгоритмах. Процессор не близок к использованию, Max down указан в 25 МБ, но ближе к 31 МБ, в то время как загрузка превышает 10 МБ. Если я включу управление движением, мне повезет, если я увеличу 6-7 и 15-20 Мб (я ввожу более быстрые измеренные скорости, чтобы начать с BTW. Если я что-нибудь найду, постараюсь не забыть опубликовать здесь ...
—
Astara