キューディシプリンをデフォルトのpfifo_fastにリセットしますか?


13

私は一時的にレート制限されたキューの規律を設定し、それを少し後で削除しようとしています:

# /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

ただし、再起動せずにこれを実際のデフォルトにリセットする方法を知りたいと思っていました。

回答:


11

新しいキューディシプリンを削除および追加するには:

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

または、キューディシプリンがすでに配置されている場合は、直接置き換えることができます。

tc qdisc replace dev eth1 root pfifo

1
これはpfifo_fastにはリセットされず、pfifoのみが異なりますが、これは異なります。「_fast」でこれを行おうとするとどうなるかについてのOPのコメントは関連性があります。
トーマスソログッド

3

質問で述べたように、それはドキュメントが私を信じさせるものですが、Debian / Ubuntuでは機能しません。デフォルトのキューを追加せずにキューを完全に削除するからです。
フランソワマリエ

それはubuntu 12.04で私のために働く
解雇者

Ubuntu Vividのmee-tooで動作します。qdiscを削除すると、デフォルトのpfifo_fastに戻ります。
ベリ

2

pfifo_fastのmanページ(man tc-pfifo_fast)には、インターフェイスにpfifo_fast qdiscが自動的に接続されていると書かれています-別の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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.