Jump to content

linux tc что-то поменяли? что-то поменялось в 3.14+

На ядрах до 3.12 включительно проблем не было

Пример на 3.12.21-gentoo-r1:

 

 

vconfig add eth1 100
ifconfig eth1.100 up
ip a add 100.100.100.1/24 dev eth1.100
ip a add 172.16.101.1/24 dev eth1.100
ip a add 192.168.100.1/24 dev eth1.100

/sbin/tc qdisc del dev eth1.100 root
/sbin/tc qdisc add dev eth1.100 root handle 119: htb
/sbin/tc filter add dev eth1.100 parent 119:0 protocol ip prio 1 u32
/sbin/tc class add dev eth1.100 parent 119: classid 119:ffff htb rate 10Mbit burst 512k quantum 10000
/sbin/tc qdisc add dev eth1.100 parent 119:ffff handle ffff: sfq perturb 1
/sbin/tc qdisc del dev eth1 root
/sbin/tc qdisc add dev eth1 root handle 18: htb
/sbin/tc filter add dev eth1 parent 18:0 protocol ip prio 1 u32
/sbin/tc class add dev eth1 parent 18: classid 18:ffff htb rate 10Mbit burst 512k quantum 10000
/sbin/tc qdisc add dev eth1 parent 18:ffff handle ffff: sfq perturb 1
/sbin/tc filter add dev eth1.100 parent 119:0 prio 1 handle 101: protocol ip u32 divisor 256
/sbin/tc filter add dev eth1.100 protocol ip parent 119:0 prio 1 u32 match ip dst 172.16.101.0/24 hashkey mask 0x000000ff at 16 link 101:
/sbin/tc filter add dev eth1.100 parent 119:0 protocol ip prio 100 u32 match ip dst 172.16.101.0/24 flowid 119:ffff
/sbin/tc filter add dev eth1.100 parent 119:0 prio 1 handle 102: protocol ip u32 divisor 256
/sbin/tc filter add dev eth1.100 protocol ip parent 119:0 prio 1 u32 match ip dst 192.168.100.0/24 hashkey mask 0x000000ff at 16 link 102:
/sbin/tc filter add dev eth1.100 parent 119:0 prio 1 handle 103: protocol ip u32 divisor 256
/sbin/tc filter add dev eth1.100 protocol ip parent 119:0 prio 1 u32 match ip dst 100.100.100.0/24 hashkey mask 0x000000ff at 16 link 103:
/sbin/tc class add dev eth1.100 parent 119: classid 119:1001 htb rate 1024kbit burst 8k quantum 1500
/sbin/tc qdisc add dev eth1.100 parent 119:1001 handle 1001: sfq perturb 1
/sbin/tc filter add dev eth1.100 parent 119:0 protocol ip prio 100 u32 ht 103:3: match ip dst 100.100.100.3 flowid 119:1001
/sbin/tc class add dev eth1.100 parent 119: classid 119:1002 htb rate 2048kbit burst 512k quantum 10000
/sbin/tc qdisc add dev eth1.100 parent 119:1002 handle 1002: sfq perturb 1
/sbin/tc filter add dev eth1.100 parent 119:0 protocol ip prio 100 u32 ht 101:d: match ip dst 172.16.101.13 flowid 119:1002

Вывод # tc filter show dev eth1.100
filter parent 119: protocol ip pref 1 u32 
filter parent 119: protocol ip pref 1 u32 fh 103: ht divisor 256 
filter parent 119: protocol ip pref 1 u32 fh 103:3:800 order 2048 key ht 103 bkt 3 flowid 119:1001 
 match 64646403/ffffffff at 16
filter parent 119: protocol ip pref 1 u32 fh 102: ht divisor 256 
filter parent 119: protocol ip pref 1 u32 fh 101: ht divisor 256 
filter parent 119: protocol ip pref 1 u32 fh 101:d:800 order 2048 key ht 101 bkt d flowid 119:1002 
 match ac10650d/ffffffff at 16
filter parent 119: protocol ip pref 1 u32 fh 800: ht divisor 1 
filter parent 119: protocol ip pref 1 u32 fh 800::800 order 2048 key ht 800 bkt 0 link 101: 
 match ac106500/ffffff00 at 16
   hash mask 000000ff at 16 
filter parent 119: protocol ip pref 1 u32 fh 800::801 order 2049 key ht 800 bkt 0 link 102: 
 match c0a86400/ffffff00 at 16
   hash mask 000000ff at 16 
filter parent 119: protocol ip pref 1 u32 fh 800::802 order 2050 key ht 800 bkt 0 link 103: 
 match 64646400/ffffff00 at 16
   hash mask 000000ff at 16 
filter parent 119: protocol ip pref 100 u32 
filter parent 119: protocol ip pref 100 u32 fh 801: ht divisor 1 
filter parent 119: protocol ip pref 100 u32 fh 801::800 order 2048 key ht 801 bkt 0 flowid 119:ffff 
 match ac106500/ffffff00 at 16

 

 

 

 

А на 3.14.37-gentoo / 3.18.11:

 

 

тот же вход, никаких ошибок, а где фильтры?
# tc filter show dev eth1.100
filter parent 119: protocol ip pref 1 u32 
filter parent 119: protocol ip pref 1 u32 fh 103: ht divisor 256 

 

 

 

Кто-нить сталкивался? или может кто-то в курсе что поменяли?

Edited by Tamahome

Share this post


Link to post
Share on other sites

-d ?

# tc -d filter show dev eth1.100
filter parent 119: protocol ip pref 1 u32 
filter parent 119: protocol ip pref 1 u32 fh 103: ht divisor 256 

Как-то не видно разницы.

Версия tc то не менялась. [sys-apps/iproute2-3.8.0 (/sbin/tc)]

 

На 3.16.0-34-generic #45-Ubuntu точно также повторяется(фильтров не видно)

Но понять где я лыжи потерял по могу.

Edited by Tamahome

Share this post


Link to post
Share on other sites

sch_netem: support of 64bit rates

Add a new attribute to support 64bit rates so thattc can use them to break the 32bit limit.

https://bugzilla.ker...ug.cgi?id=84661

https://bugzilla.altlinux.org/show_bug.cgi?id=30305

 

Как я понимаю, пришло время уходить на x86_64

Edited by Tamahome

Share this post


Link to post
Share on other sites

а вы ещё на 32?

Работало стабильно, зачем трогать? Раздавало гигабиты интернетов молча..

Теперь уже собираю новый образ и допиливаю софт.

 

Собственно, не багу же фиксить)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.