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.


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
  • 1
    This doesn't reset to pfifo_fast, only pfifo, which is different. OP's comment about what happens if you try to do this with '_fast' is relevant. Feb 18 '15 at 19:45

from http://www.knowplace.org/pages/howtos/traffic_shaping_with_linux/examples.php:

tc qdisc del dev eth1 root
  • As I stated in the question, that's what the documentation lead me to believe, but it doesn't work on Debian/Ubuntu since it removes the queue entirely without adding back the default one. Mar 18 '13 at 20:19
  • it works for me on ubuntu 12.04
    – fireant
    Mar 17 '15 at 14:11
  • Works for mee-too on Ubuntu Vivid. After deleting the qdisc, it returns to the default pfifo_fast.
    – Beli
    Jul 22 '15 at 9:54

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.