Можно ли перепроектировать команды iproute tc?

У меня QOS хорошо работает в VyOS, но мне нужно перейти на TinyCoreLinux, поскольку я буду использовать эту виртуальную машину в качестве лабораторного маршрутизатора. VyOS составляет 400 МБ, а TCL - 10 МБ.

Используя команды "set" в VyOS, он генерирует вывод tc следующим образом:

**# tc -p qdisc show dev eth0**
qdisc htb 1: root refcnt 2 r2q 625 default 1f direct_packets_stat 0 direct_qlen 1000
qdisc sfq 8012: parent 1:1f limit 127p quantum 1514b depth 127 divisor 1024
qdisc sfq 8013: parent 1:a limit 127p quantum 1514b depth 127 divisor 1024
qdisc sfq 8014: parent 1:14 limit 127p quantum 1514b depth 127 divisor 1024
qdisc sfq 8015: parent 1:1e limit 127p quantum 1514b depth 127 divisor 1024

**# tc -p qdisc show dev eth1**
qdisc htb 1: root refcnt 2 r2q 625 default 2 direct_packets_stat 0 direct_qlen 1000
qdisc sfq 800f: parent 1:2 limit 127p quantum 1514b depth 127 divisor 1024

**# tc -p qdisc show dev eth2**
qdisc htb 1: root refcnt 2 r2q 625 default 2 direct_packets_stat 0 direct_qlen 1000
qdisc sfq 8016: parent 1:2 limit 127p quantum 1514b depth 127 divisor 1024

**# tc -p qdisc show dev eth3**
qdisc htb 1: root refcnt 2 r2q 625 default 2 direct_packets_stat 0 direct_qlen 1000
qdisc sfq 8011: parent 1:2 limit 127p quantum 1514b depth 127 divisor 1024

**# tc -p class show dev eth0**
class htb 1:1 root rate 1000Mbit ceil 1000Mbit burst 1375b cburst 1375b
class htb 1:a parent 1:1 leaf 8013: prio 0 rate 100000Kbit ceil 100000Kbit burst 15337b cburst 1600b
class htb 1:14 parent 1:1 leaf 8014: prio 0 rate 10000Kbit ceil 10000Kbit burst 15Kb cburst 1600b
class htb 1:1f parent 1:1 leaf 8012: prio 0 rate 1000Kbit ceil 1000Kbit burst 15Kb cburst 1600b
class htb 1:1e parent 1:1 leaf 8015: prio 0 rate 5000Kbit ceil 5000Kbit burst 15Kb cburst 1600b

**# tc -p class show dev eth1**
class htb 1:1 root rate 1000Mbit ceil 1000Mbit burst 1375b cburst 1375b
class htb 1:2 parent 1:1 leaf 800f: prio 0 rate 40000Kbit ceil 40000Kbit burst 15Kb cburst 1600b

**# tc -p class show dev eth2**
class htb 1:1 root rate 1000Mbit ceil 1000Mbit burst 1375b cburst 1375b
class htb 1:2 parent 1:1 leaf 8016: prio 0 rate 50000Kbit ceil 50000Kbit burst 15Kb cburst 1600b

**# tc -p class show dev eth3**
class htb 1:1 root rate 1000Mbit ceil 1000Mbit burst 1375b cburst 1375b
class htb 1:2 parent 1:1 leaf 8011: prio 0 rate 10000Kbit ceil 10000Kbit burst 15Kb cburst 1600b

**# tc -p filter show dev eth0**
filter parent 1: protocol all pref 1 basic
filter parent 1: protocol all pref 1 basic handle 0x1 flowid 1:a
  meta(rt_iif mask 0x00000000 eq 3)

filter parent 1: protocol all pref 2 basic
filter parent 1: protocol all pref 2 basic handle 0x1 flowid 1:14
  meta(rt_iif mask 0x00000000 eq 4)

filter parent 1: protocol all pref 3 basic
filter parent 1: protocol all pref 3 basic handle 0x1 flowid 1:1e
  meta(rt_iif mask 0x00000000 eq 5)

Есть ли способ перепроектировать это, чтобы получить исходные команды?

Я пробовал просматривать код Perl VyOS, который генерирует команды tc, но он повсюду без комментариев, и мои знания Perl невелики.

Я также попытался переименовать / sbin / tc в / sbin /tc_ и создал сценарий / sbin / tc, чтобы попытаться записать команды, но по какой-то причине это не сработало.

1 ответ

Нашел в /var/log/vyatta/vyatta-commit.log

Другие вопросы по тегам