nl-qdisc(8)

πŸ’… nl-qdisc β€” bestie, it's time to manage some qdiscs

okay so first things first: this is nl-qdisc, manual section 8, from the System Manager's Manual. It's a little family of tools and they are, no cap, iconic once you get the vibe. Let's go. ✨


🌸 NAME 🌸

nl-qdisc-{add|list|delete} β€” Manage queueing disciplines

πŸ¦‹ SYNOPSIS πŸ¦‹

nl-qdisc-add --dev dev --parent id [OPTIONS] qdisc-type [QDISC]

nl-qdisc-delete [ --interactive ] [OPTIONS]

nl-qdisc-list [OPTIONS]

πŸ’– DESCRIPTION πŸ’–

The nl-qdisc tools let you manage and configure queueing disciplines (qdiscs for short, we're on a nickname basis) inside the kernel. That's the whole assignment. πŸŽ€


✨ OPTIONS ✨

These are the shared options, the ones everybody gets. Read them, they're your friends. 🫢

  • -h or --help β€” Prints the help text to the console and then exits. Your "what do I do" button. πŸ’
  • -v or --version β€” Prints versioning information to the console and exits. Receipts, basically.
  • -q or --quiet β€” Do not print informal notifications about actions taken to the console. By default a short description of each qdisc added/update/deleted gets printed to the console β€” this option disables that behaviour. Silence is golden. 🀫
  • -d or --dev=DEV β€” The network device the qdisc is attached to. Where the drama lives.
  • -p or --parent=ID β€” Identifier of the parent qdisc/class this qdisc is attached to. You can specify that identifier as a classid, a name, or one of the special values "root" or "ingress". ✨
  • -i or --id=ID β€” Identifier of qdisc. Can be specified as a classid or a name.

πŸ“ nl-qdisc-add Options

  • --update β€” Update the qdisc if it already exists. Otherwise, trying to add a qdisc that already exists will result in an error. Note that this does not include changing the type of the qdisc β€” if that's what you want, use --replace instead. πŸ’€
  • --replace β€” Replace or update the qdisc if it already exists. Same behaviour as --update, but it will completely replace the qdisc if it already exists. Glow up mode. πŸ‘‘
  • --update-only β€” Update an existing qdisc, but do not create it if it does not exist.
  • --replace-only β€” Update or replace an existing qdisc, but do not create it if it does exist. (That's literally how the page words it, bestie β€” I'm just the messenger πŸ™ˆ)

🌈 nl-qdisc-delete Options

  • --interactive β€” Interactive mode requires confirmation by the user for each qdisc deleted. It prints a prompt for every qdisc matching the provided filter, and you have to answer 'y'es or 'n'o. Consent culture, but for qdiscs. πŸ’…
  • --yes β€” Makes the default answer for interactive prompts be 'y'es. This option is also required to delete all qdiscs on all network devices. Big power, use it responsibly. πŸ”₯
  • -k or --kind=TYPE β€” Only delete qdiscs of this type.

🧚 nl-qdisc-list Options

  • --details β€” Show detailed information for each qdisc listed.
  • --stats β€” Show statistics information for each qdisc listed. This option will also turn on detailed information automatically. Two for one, we love. ✨
  • -r or --recursive β€” List all TC objects recurisvely attached to all qdiscs matching the filter. (Yep, "recurisvely" β€” that's the spelling in the original, and I will not be editing it, that's a whole other job πŸ’€)
  • -k or --kind=TYPE β€” Only list qdiscs of this type.

πŸŽ€ USAGE πŸŽ€

Here's the moment where it all clicks. Watch this. πŸ‘€

Add a HTB root qdisc with id "5:":

nl-qdisc-add --dev eth0 --parent root --id 5: htb

List all qdiscs on eth0 and print statistical data:

nl-qdisc-list --stats --dev eth0

Delete the qdisc "5:":

nl-qdisc-delete --id 5:

πŸ’œ SEE ALSO πŸ’œ


⭐ AUTHOR ⭐

Thomas Graf is the original author and current maintainer of libnl and libnl tools. Many people have contributed to it since. 🫢


and that's the whole page, bestie β€” no notes, you ate. πŸ’…βœ¨

libnl Β· 21 October 2010 Β· nl-qdisc(8) β€” mwah, go forth and queue those disciplines πŸŒΈπŸ¦‹πŸŽ€