Réinitialisation d'une discipline de file d'attente à celle par défaut de pfifo_fast?

13

J'essaie de définir temporairement une discipline de file d'attente à débit limité, puis de la supprimer un peu plus tard:

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

Malheureusement, cela supprime entièrement la discipline de file d'attente et empêche les transferts de données sortants de fonctionner après la suppression de la file d'attente.

J'espérais pouvoir réinitialiser la discipline de file d'attente à celle par défaut:

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

Cependant, il ne semble pas que le qdisc pfifo_fast puisse être créé manuellement:

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

La solution que j'ai trouvée consiste à créer une nouvelle discipline de file d'attente simple:

# /sbin/tc qdisc add dev eth1 root prio

Cependant, je me demandais comment réinitialiser ce paramètre à sa valeur par défaut réelle sans redémarrer.

François Marier
la source

Réponses:

11

pour supprimer et ajouter une nouvelle discipline de file d'attente:

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

ou si une discipline de file d'attente est déjà en place, vous pouvez la remplacer directement:

tc qdisc replace dev eth1 root pfifo
garuse
la source
1
Cela ne réinitialise pas à pfifo_fast, seulement pfifo, qui est différent. Le commentaire de l'OP sur ce qui se passe si vous essayez de le faire avec '_fast' est pertinent.
Thomas Thorogood
3

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

tc qdisc del dev eth1 root
David Kemp
la source
Comme je l'ai dit dans la question, c'est ce que la documentation me porte à croire, mais cela ne fonctionne pas sur Debian / Ubuntu car il supprime entièrement la file d'attente sans ajouter de nouveau celle par défaut.
Francois Marier
ça marche pour moi sur ubuntu 12.04
pompier
Fonctionne pour moi aussi sur Ubuntu Vivid. Après avoir supprimé le qdisc, il revient à la valeur par défaut pfifo_fast.
Beli
2

La page de manuel de pfifo_fast (man tc-pfifo_fast) indique que les interfaces ont automatiquement le qdisc pfifo_fast attaché - lorsque vous ajoutez ensuite un qdisc différent puis supprimez ce qdisc, pfifo_fast sera automatiquement remis en service.

Cela suggère que quelque chose s'est cassé dans la configuration de l'OP.

Testé avec:

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