Имеем: ядро 2.6.25 и iproute2-2.6.25-080417
Простенький тестик:
tc qdisc add dev eth0 root handle 1: htb default 10
tc class add dev eth0 parent 1: classid 1:10 htb rate 512kibit
смотрим:
tc -s -d class ls dev eth0
class htb 1:10 root prio 0 quantum 6553 rate 524288bit ceil 524288bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0
Sent 9174613 bytes 6151 pkt (dropped 0, overlimits 0 requeues 0)
rate 522464bit 43pps backlog 0b 39p requeues 0
lended: 6112 borrowed: 0 giants: 0
tokens: -45049 ctokens: -45049
Всё работает тютелька в тютельку, как и просили (т. е. имеем ограничение 512 кбит). Теперь делаем то же самое, но на ppp ифейсе (через этот ифейс подключён клиент pppoe сервера):
tc qdisc add dev ppp15 root handle 1: htb default 10
tc class add dev ppp15 parent 1: classid 1:10 htb rate 512kibit
смотрим:
tc -s -d class ls dev ppp15
class htb 1:10 root prio 0 quantum 6553 rate 524288bit ceil 524288bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0
Sent 955319 bytes 779 pkt (dropped 0, overlimits 0 requeues 0)
rate 241080bit 22pps backlog 0b 0p requeues 0
lended: 779 borrowed: 0 giants: 0
tokens: -30127 ctokens: -30127
Как видим, сорость существенно ниже, чем просили. Кроме того, смущает вот это:
rate 241080bit 22pps backlog 0b 0p requeues 0
На езернете было:
rate 522464bit 43pps backlog 0b 39p requeues 0
т. е. пакеты стояли в очереди
Самое странное, что если к классу 1:10 прицепить дисциплину TBF с рейтом например в 1 Мбит, то получаем то же самое, что на езернете (т.е. чёткое ограничение в 512 кбит и пакеты как и положено стоят в очереди). Причём она в данном случае казалось бы для мебели (её рейт больше максимальной полосы класса). Присоединение же вместо TBF любой безклассовой дисциплины никакого эффекта не даёт.
Точно такое же поведение HTB наблюдается и на ифейсе ifb. На других не пробовал.
ЗЫ: предвидя вопрос типа а зачем здесь вообще HTB - можно же просто безклассовой TBF и резать: это просто тест. На самом деле мне нужна достаточно сложная классификация трафика и безклассовая дисциплина не катит.
Странное поведение дисциплины HTB на виртуальных интерфейсах
Модераторы: SLEDopit, Модераторы разделов
-
ran
- Сообщения: 6
Re: Странное поведение дисциплины HTB на виртуальных интерфейсах
Проблема была в использовании PPPoE сервером синхронной ppp инкапсуляции. Т. е. в этом случае всё прекрасно работало, но... наблюдался вышеописанный глюк с дисциплиной HTB на ppp ифейсах
С асинхронной - всё ок