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
а вы ещё на 32?

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

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

 

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

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