netshaper(8) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | COMMANDS | PARAMETERS | OPTIONS | EXAMPLES | NOTES | SEE ALSO | AUTHOR | COLOPHON

NETSHAPER(8)                      Linux                      NETSHAPER(8)

NAME         top

       netshaper - show / manipulate network device hardware shaping
       configuration

SYNOPSIS         top

       netshaper [ OPTIONS ] { COMMAND | help }

       OPTIONS := { -V[ersion] | -c[olor] | -help }

       netshaper set dev DEV handle scope HANDLE_SCOPE [ id HANDLE_ID ]
               bw-max BW_MAX

       netshaper  {  show  |  delete  } dev DEV handle scope HANDLE_SCOPE
               [ id HANDLE_ID ]

DESCRIPTION         top

       netshaper allows configuration and management of hardware rate
       limiting (shaping) capabilities available on network devices. The
       API provides control over shapers at different levels including
       network devices, queues, and scheduling nodes, enabling
       manipulation of the device's scheduling tree.

       Each shaper is uniquely identified within a device by a handle,
       which consists of a scope and an optional id.  Depending on the
       scope value, shapers are attached to specific hardware objects:

       netdev Shapers attached to the entire network device. The id
              parameter is optional for this scope (defaults to 0 if not
              specified).

       queue  Shapers attached to specific device queues. The id
              parameter is required and specifies the queue number.

       node   Shapers representing scheduling groups that can be placed
              at arbitrary locations in the scheduling tree. The id
              parameter is required.

COMMANDS         top

   netshaper set
       - Create or update a shaper configuration

       Creates or updates a shaper with the specified parameters. All
       parameters except id (for netdev scope) are required.

   netshaper show
       - Display shaper information

       Shows the current configuration of the specified shaper, including
       bandwidth limits and device information.

   netshaper delete
       - Remove a shaper configuration

       Removes the specified shaper configuration from the device.

PARAMETERS         top

       dev DEV
              Specifies the network device name on which to operate.

       handle Defines the shaper handle consisting of:

              scope HANDLE_SCOPE
                     The shaper scope, which can be: netdev (device-level
                     shaper), queue (queue-level shaper), or node
                     (scheduling node shaper).

              id HANDLE_ID
                     Numeric identifier for the shaper. Optional for
                     netdev scope (defaults to 0), required for queue and
                     node scopes.

       bw-max BW_MAX
              Maximum bandwidth limit for the shaper. Accepts values with
              suffixes: kbit, mbit, gbit for kilobits, megabits, and
              gigabits per second respectively.

OPTIONS         top

       -V, -Version
              Print the version of the netshaper utility and exit.

       -c[color] = {always | auto | never}
              Configure color output. If parameter is omitted or always,
              color output is enabled regardless of stdout state. If
              parameter is auto, stdout is checked to be a terminal
              before enabling color output. If parameter is never, color
              output is disabled. If specified multiple times, the last
              one takes precedence.

       -help  Display usage information and exit.

EXAMPLES         top

       Example 1: Create a device-level shaper (id optional)
              # netshaper set dev foo handle scope netdev bw-max 10gbit
              Creates a netdev-scoped shaper with default id 0 and sets
              the maximum bandwidth to 10 gigabits per second.

       Example 2: Show shaper configuration
              # netshaper show dev foo handle scope netdev
              Display the current shaper configuration for the specified
              device and handle.

       Example 3: Delete shaper configuration
              # netshaper delete dev eth0 handle scope netdev
              Remove the specified shaper configuration.

NOTES         top

       •      For netdev scope, the id parameter is optional and defaults
              to 0 if not specified.

       •      For queue and node scopes, the id parameter is required.

       •      Bandwidth values support standard suffixes: kbit (kilobits
              per second), mbit (megabits per second), gbit (gigabits per
              second).

       •      This command currently supports basic shaper operations.
              Additional functionality will be added as requirements are
              identified.

SEE ALSO         top

       ip(8), ip-link(8), tc(8)

AUTHOR         top

       Erni Sri Satya Vennela <ernis@linux.microsoft.com>

COLOPHON         top

       This page is part of the iproute2 (utilities for controlling
       TCP/IP networking and traffic) project.  Information about the
       project can be found at 
       ⟨http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2⟩.
       If you have a bug report for this manual page, send it to
       netdev@vger.kernel.org, shemminger@osdl.org.  This page was
       obtained from the project's upstream Git repository
       ⟨https://git.kernel.org/pub/scm/network/iproute2/iproute2.git⟩ on
       2026-01-16.  (At that time, the date of the most recent commit
       that was found in the repository was 2026-01-14.)  If you discover
       any rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page,
       or you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a
       mail to man-pages@man7.org

iproute2                        7 Oct 2025                   NETSHAPER(8)