tc-hfsc(8) — Linux manual page


HFSC(8)                           Linux                          HFSC(8)

NAME         top

       HFSC - Hierarchical Fair Service Curve's control under linux

SYNOPSIS         top

       tc qdisc add ... hfsc [ default CLASSID ]

       tc class add ... hfsc [ [ rt SC ] [ ls SC ] | [ sc SC ] ] [ ul SC ]

       rt : realtime service curve
       ls : linkshare service curve
       sc : rt+ls service curve
       ul : upperlimit service curve

       • at least one of rt, ls or sc must be specified
       • ul can only be specified with ls or sc

       SC := [ [ m1 BPS ] d SEC ] m2 BPS
              m1 : slope of the first segment
              d  : x-coordinate of intersection
              m2 : slope of the second segment

       SC := [ [ umax BYTE ] dmax SEC ] rate BPS
              umax : maximum unit of work
              dmax : maximum delay
              rate : rate

       For description of BYTE, BPS and SEC - please see UNITS section
       of tc(8).

DESCRIPTION (qdisc)         top

       HFSC qdisc has only one optional parameter - default. CLASSID
       specifies the minor part of the default classid, where packets
       not classified by other means (e.g. u32 filter, CLASSIFY target
       of iptables) will be enqueued. If default is not specified,
       unclassified packets will be dropped.

DESCRIPTION (class)         top

       HFSC class is used to create a class hierarchy for HFSC
       scheduler. For explanation of the algorithm, and the meaning
       behind rt, ls, sc and ul service curves - please refer to

       As you can see in SYNOPSIS, service curve (SC) can be specified
       in two ways. Either as maximum delay for certain amount of work,
       or as a bandwidth assigned for certain amount of time. Obviously,
       m1 is simply umax/dmax.

       Both m2 and rate are mandatory. If you omit other parameters, you
       will specify linear service curve.

SEE ALSO         top

       tc(8), tc-hfsc(7), tc-stab(8)

       Please direct bugreports and patches to: <>

AUTHOR         top

       Manpage created by Michal Soltys (

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 
       If you have a bug report for this manual page, send it to,  This page was
       obtained from the project's upstream Git repository
       ⟨⟩ on
       2023-12-22.  (At that time, the date of the most recent commit
       that was found in the repository was 2023-12-20.)  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

iproute2                     31 October 2011                     HFSC(8)

Pages that refer to this page: tc-hfsc(7)tc(8)tc-stab(8)