TransWikia.com

Resetting a queue discipline back to the default pfifo_fast one?

Server Fault Asked by Francois Marier on November 22, 2021

I’m trying to temporarily set a rate-limited queue discipline and then remove it a bit later:

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

Unfortunately, this entirely removes the queue discipline and prevents outgoing data transfers from working after the queue is deleted.

I was hoping to be able to reset the queue discipline back to the default one:

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

However it doesn’t look like that pfifo_fast qdisc can be created manually:

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

The work-around I found is to create a new simple queue discipline:

# /sbin/tc qdisc add dev eth1 root prio

However, I was wondering how to reset this back to the real default without rebooting.

3 Answers

The man page for pfifo_fast (man tc-pfifo_fast) says that interfaces automatically have the pfifo_fast qdisc attached - when you then add a different qdisc and then delete this qdisc, pfifo_fast will automatically go back into service.

This suggests something has broken in the OP's setup.

Tested with:

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

Answered by Omega Weapon on November 22, 2021

to remove and add a new queue discipline:

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

or if a queue discipline is already in place you can replace it directly:

tc qdisc replace dev eth1 root pfifo

Answered by garuse on November 22, 2021

Answered by David Kemp on November 22, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP