LINUX.ORG.RU
ФорумAdmin

Не добавляется фильтр ematch в созданную таблицу

 ,


0

1

Добрый день!

Вопрос в принципе не сложный, но решить его не могу...
Вобщем тестирую шейпер и хочу повесить фильтр ematch в отдельную таблицу, выскакивает ошибка, но в основную таблицу 800:: он корректно добавляется.

Весь процесс создания ниже.
После последней команды вываливается ошибка:

[root@router ~]# tc filter add dev vlan111 protocol ip parent 1:0 prio 2 ht 2:14: basic match "(((u32(u32 0x11 0xff at 8) and cmp(u32 at 0 layer transport gt 10000) and cmp(u32 at 0 layer transport lt 20000)) or (u32(u32 0x11 0xff at 8) and cmp(u32 at 0 layer transport eq 5060)))  and (u32(u32 0x0a0a6f41 0xffffffff at 16)))" flowid 10C9:0
Unknown filter "ht", hence option "2:14:" is unparsable
tc qdisc add dev vlan111 root handle 1: htb default 5000
tc class add dev vlan111 parent 1: classid 1:1 htb rate 22528kbit ceil 22528kbit
tc class add dev vlan111 parent 1: classid 1:5000 htb rate 64kbit ceil 64kbit prio 30

tc qdisc add dev vlan111 parent 1:1 handle C8: prio
tc qdisc add dev vlan111 parent C8:1 handle 10C8:0 sfq perturb 10
tc qdisc add dev vlan111 parent C8:2 handle 10C9:0 sfq perturb 10
tc qdisc add dev vlan111 parent C8:3 handle 10CA:0 tbf rate 1024kbit burst 13K latency 100ms peakrate 10Mbit minburst 10K
tc qdisc add dev vlan111 parent 10CA:1 handle 10CB:0 sfq perturb 10

tc filter add dev vlan111 parent 1:0 prio 1 protocol ip u32
tc filter add dev vlan111 parent 1:0 prio 1 protocol ip handle 1: u32 divisor 8
tc filter add dev vlan111 parent 1:0 prio 1 protocol ip handle 2: u32 divisor 256
tc filter add dev vlan111 parent 1:0 prio 1 protocol ip handle 3: u32 divisor 256

tc filter add dev vlan111 parent 1:0 prio 1 protocol ip u32 ht 800:: match ip src 10.0.0.0/16 hashkey mask 0xff00 at 16 link 1:
tc filter add dev vlan111 parent 1:0 prio 1 protocol ip u32 ht 1:1: match ip src 10.0.1.0/24 hashkey mask 0xff at 16 link 2:

tc filter add dev vlan111 protocol ip parent 1:0 prio 1 u32 ht 2:14: match ip protocol 6 0xff match ip dport 23 0xffff  flowid 10C8:0
tc filter add dev vlan111 protocol ip parent 1:0 prio 1 u32 ht 2:14: match ip dport 53 0xffff flowid 10C8:0

tc filter add dev vlan111 protocol ip parent 1:0 prio 2 ht 2:14: basic match "(((u32(u32 0x11 0xff at 8) and cmp(u32 at 0 layer transport gt 10000) and cmp(u32 at 0 layer transport lt 20000)) or (u32(u32 0x11 0xff at 8) and cmp(u32 at 0 layer transport eq 5060)))  and (u32(u32 0x0a0a6f41 0xffffffff at 16)))" flowid 10C9:0

Заранее благодарен за помощь!

Хэш-таблицы это свойство u32 фильтра, то есть ″ht″ это его аргумент. Вроде как нельзя скрестить два фильтра в одном правиле, поэтому в хэш-таблицу ничего не добавить, только условия u32-фильтра. И никакие хитрые ″action″ типа reclassify или continue не помогут, ИМХО.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.