Jump to content
Калькуляторы

Хэши cls_u32 dead loop tc linux iproute2

Привет, кто нибудь такое ловил при добавлении фильтров на хешах:

#dmesg
[45629.828748] net_ratelimit: 14115 callbacks suppressed
[45629.828761] cls_u32: dead loop
[45629.829423] cls_u32: dead loop

 

дисциплины:

2015-03-23 22:17:31.449125: tc qdisc add dev bond1 root handle 1: hfsc default 2
2015-03-23 22:17:31.451075: tc class a dev bond1 parent 1:  classid 1:1 hfsc sc rate 2900mbit ul rate 2900mbit
2015-03-23 22:17:31.452766: tc class a dev bond1 parent 1:1  classid 1:2 hfsc sc rate 1000mbit ul rate 2900mbit
2015-03-23 22:17:31.454411: tc class a dev bond1 parent 1:1  classid 1:3 hfsc sc rate 1850mbit ul rate 2900mbit
2015-03-23 22:17:31.456132: tc qdisc a dev bond1 parent 1:2  handle 2: fq_codel

фильтры:

tc filter add dev bond1 prio 10 protocol ip parent 1:0 handle 1: u32 divisor 256
tc filter add dev bond1 prio 10 protocol ip parent 1:0 handle 2: u32 divisor 256
tc filter add dev bond1 prio 10 protocol ip parent 1:0 u32 ht 800:: match ip dst 172.16.0.0/19 hashkey mask 0x0000ff00 at 16 link 1:
tc filter add dev bond1 prio 10 protocol ip parent 1:0 u32 ht 1:3: match ip dst 172.16.3.0/24 hashkey mask 0x000000ff at 16 link 2:

tc class add dev bond1 parent 1:3 classid 1:2200 hfsc sc rate 256kbit ul rate 108mbit
tc qdisc add dev bond1 parent 1:2200 handle 2200: fq_codel
tc filter add dev bond1 prio 10 protocol ip parent 1:0 u32 ht 2:0: match ip dst 172.16.3.0/32 match ip src 10.0.0.0/8 classid 1:2
tc filter add dev bond1 prio 20 protocol ip parent 1:0 u32 ht 2:0: match ip dst 172.16.3.0/32 classid 1:2200

tc class add dev bond1 parent 1:3 classid 1:2201 hfsc sc rate 256kbit ul rate 108mbit
tc qdisc add dev bond1 parent 1:2201 handle 2201: fq_codel
tc filter add dev bond1 prio 10 protocol ip parent 1:0 u32 ht 2:1: match ip dst 172.16.3.1/32 match ip src 10.0.0.0/8 classid 1:2
tc filter add dev bond1 prio 20 protocol ip parent 1:0 u32 ht 2:1: match ip dst 172.16.3.1/32 classid 1:2201
......

 

В упор не хочет клеиться табличка к табличке:

<tc filter add dev bond1 prio 10 protocol ip parent 1:0 u32 ht 1:3: match ip dst 172.16.3.0/24 hashkey mask 0x000000ff at 16 link 2:>

 

 

# tc -s -d -p f s dev bond1
filter parent 1: protocol ip pref 10 u32
filter parent 1: protocol ip pref 10 u32 fh 2: ht divisor 256
filter parent 1: protocol ip pref 10 u32 fh 2::800 order 2048 key ht 2 bkt 0 flowid 1:2  (rule hit 0 success 0)
 match IP dst 172.16.3.0/32 (success 0 )
 match IP src 10.0.0.0/8 (success 0 )
filter parent 1: protocol ip pref 10 u32 fh 2::801 order 2049 key ht 2 bkt 0 flowid 1:2200  (rule hit 0 success 0)
 match IP dst 172.16.3.0/32 (success 0 )
filter parent 1: protocol ip pref 10 u32 fh 1: ht divisor 256
filter parent 1: protocol ip pref 10 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 10 u32 fh 800::800 order 2048 key ht 800 bkt 0 link 1:  (rule hit 62974 success 0)
 match IP dst 172.16.0.0/19 (success 62974 )
   hash mask 0000ff00 at 16
filter parent 1: protocol ip pref 20 u32
filter parent 1: protocol ip pref 20 u32 fh 801: ht divisor 1

#uname -a 
Linux 3.18.7 #7 SMP Sun Mar 22 22:24:41 EET 2015 x86_64

Обратил внимание что с 3.17 на 3.18 внесли 10кб изменений в cls_u32.c, наверно вместе с жуками)

Share this post


Link to post
Share on other sites

у меня нет опыта использования cls_bpf. Линейный cls_bpf на 5к фильтров, разве будет быстрее хешей на cls_u32?

Share this post


Link to post
Share on other sites
В упор не хочет клеиться табличка к табличке:

<tc filter add dev bond1 prio 10 protocol ip parent 1:0 u32 ht 1:3: match ip dst 172.16.3.0/24 hashkey mask 0x000000ff at 16 link 2:>

 

Такая же фигня... В рассылке нет-дев сказали, что на топовых ядрах не подтверждается. Ждите апдейтов, говорили они.

Share this post


Link to post
Share on other sites

Такая же фигня... В рассылке нет-дев сказали, что на топовых ядрах не подтверждается. Ждите апдейтов, говорили они.

оке, спасибо за инфу

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this