重置队列规则回到默认的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可以手动创build:

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

我find的解决方法是创build一个新的简单的队列纪律:

 # /sbin/tc qdisc add dev eth1 root prio 

但是,我想知道如何重新设置为真正的默认值,而无需重新启动。

删除并添加一个新的队列纪律:

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

或者如果队列规范已经到位,您可以直接replace它:

 tc qdisc replace dev eth1 root pfifo 

pfifo_fast(man tc-pfifo_fast)的手册页说接口自动连接了pfifo_fast qdisc – 然后当你添加一个不同的qdisc然后删除这个qdisc时,pfifo_fast会自动回到服务状态。

这表明在OP的设置中有些事情已经被打破。

经testing:

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