Назад | Перейти на главную страницу

Сброс дисциплины очереди на значение по умолчанию pfifo_fast?

Я пытаюсь временно установить дисциплину очереди с ограничением скорости, а затем удалить ее чуть позже:

# /sbin/tc qdisc add dev eth1 root tbf rate 600kbit latency 50ms burst 1540
# /sbin/tc qdisc del dev eth1 root

К сожалению, это полностью устраняет дисциплину очереди и предотвращает работу исходящей передачи данных после удаления очереди.

Я надеялся, что смогу сбросить дисциплину очереди до значения по умолчанию:

qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

Однако это не похоже pfifo_fast qdisc можно создать вручную:

# /sbin/tc qdisc add dev eth1 root pfifo_fast
qdisc 'pfifo_fast' does not support option parsing

Обходной путь, который я нашел, - это создание новой простой дисциплины очереди:

# /sbin/tc qdisc add dev eth1 root prio

Однако мне было интересно, как вернуть это обратно к настоящему дефолт без перезагрузки.

для удаления и добавления новой дисциплины очереди:

tc qdisc del dev eth1 root
tc qdisc add dev eth1 root pfifo

или, если дисциплина очереди уже существует, вы можете заменить ее напрямую:

tc qdisc replace dev eth1 root pfifo

На странице руководства для pfifo_fast (man tc-pfifo_fast) говорится, что к интерфейсам автоматически прикреплен qdisc pfifo_fast - когда вы затем добавляете другой qdisc и затем удаляете этот qdisc, pfifo_fast автоматически возвращается в эксплуатацию.

Это говорит о том, что что-то сломалось в настройке OP.

Протестировано с:

$ uname -a
Linux debian-testing-vm 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2 x86_64 GNU/Linux