HFSC(8) Linux HFSC(8)

# [NAME](#NAME)

HFSC - Hierarchical Fair Service Curve's control under linux

# [SYNOPSIS](#SYNOPSIS)

```
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](#SC)

```
m1 : slope of the first segment
d  : x-coordinate of intersection
m2 : slope of the second segment
```

[SC := \[ \[ **umax** BYTE \] **dmax** SEC \] **rate** BPS](#SC~2)

```
umax : maximum unit of work
dmax : maximum delay
rate : rate
```

```

```

For description of BYTE, BPS and SEC - please see **UNITS** section of [**tc**(8)](/man/os/iproute2/tc.8).

# [DESCRIPTION (qdisc)](#DESCRIPTION_%28qdisc%29)

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)](#DESCRIPTION_%28class%29)

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 [**tc-hfsc**(7)](/man/os/iproute2/tc-hfsc.7).

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](#SEE_ALSO)

[**tc**(8)](/man/os/iproute2/tc.8), [**tc-hfsc**(7)](/man/os/iproute2/tc-hfsc.7), [**tc-stab**(8)](/man/os/iproute2/tc-stab.8)

Please direct bugreports and patches to: &lt;netdev@vger.kernel.org&gt;

# [AUTHOR](#AUTHOR)

Manpage created by Michal Soltys (soltys@ziu.info)

31 October 2011 iproute2

---

Document: tc-hfsc(8) from iproute2 7.2.0-r0 (Chainguard OS)
Source: https://kernel.googlesource.com/pub/scm/network/iproute2/iproute2
