{
    "content": [
        {
            "type": "text",
            "text": "# tc-hfsc (man)\n\n## NAME\n\nHFSC - Hierarchical Fair Service Curve's control under linux\n\n## SYNOPSIS\n\ntc qdisc add ... hfsc [ default CLASSID ]\ntc class add ... hfsc [ [ rt SC ] [ ls SC ] | [ sc SC ] ] [ ul SC ]\nrt : realtime service curve\nls : linkshare service curve\nsc : rt+ls service curve\nul : upperlimit service curve\n• at least one of rt, ls or sc must be specified\n• ul can only be specified with ls or sc\nSC := [ [ m1 BPS ] d SEC ] m2 BPS\nm1 : slope of the first segment\nd  : x-coordinate of intersection\nm2 : slope of the second segment\nSC := [ [ umax BYTE ] dmax SEC ] rate BPS\numax : maximum unit of work\ndmax : maximum delay\nrate : rate\nFor description of BYTE, BPS and SEC - please see UNITS section of tc(8).\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS** (2 subsections)\n- **SEE ALSO**\n- **AUTHOR**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "tc-hfsc",
        "section": "",
        "mode": "man",
        "summary": "HFSC - Hierarchical Fair Service Curve's control under linux",
        "synopsis": "tc qdisc add ... hfsc [ default CLASSID ]\ntc class add ... hfsc [ [ rt SC ] [ ls SC ] | [ sc SC ] ] [ ul SC ]\nrt : realtime service curve\nls : linkshare service curve\nsc : rt+ls service curve\nul : upperlimit service curve\n• at least one of rt, ls or sc must be specified\n• ul can only be specified with ls or sc\nSC := [ [ m1 BPS ] d SEC ] m2 BPS\nm1 : slope of the first segment\nd  : x-coordinate of intersection\nm2 : slope of the second segment\nSC := [ [ umax BYTE ] dmax SEC ] rate BPS\numax : maximum unit of work\ndmax : maximum delay\nrate : rate\nFor description of BYTE, BPS and SEC - please see UNITS section of tc(8).",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "tc",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/tc/8/json"
            },
            {
                "name": "tc-stab",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/tc-stab/8/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 24,
                "subsections": [
                    {
                        "name": "DESCRIPTION (qdisc)",
                        "lines": 5
                    },
                    {
                        "name": "DESCRIPTION (class)",
                        "lines": 11
                    }
                ]
            },
            {
                "name": "SEE ALSO",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "AUTHOR",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "HFSC - Hierarchical Fair Service Curve's control under linux\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "tc qdisc add ... hfsc [ default CLASSID ]\n\ntc class add ... hfsc [ [ rt SC ] [ ls SC ] | [ sc SC ] ] [ ul SC ]\n\nrt : realtime service curve\nls : linkshare service curve\nsc : rt+ls service curve\nul : upperlimit service curve\n\n• at least one of rt, ls or sc must be specified\n• ul can only be specified with ls or sc\n\nSC := [ [ m1 BPS ] d SEC ] m2 BPS\nm1 : slope of the first segment\nd  : x-coordinate of intersection\nm2 : slope of the second segment\n\nSC := [ [ umax BYTE ] dmax SEC ] rate BPS\numax : maximum unit of work\ndmax : maximum delay\nrate : rate\n\nFor description of BYTE, BPS and SEC - please see UNITS section of tc(8).\n",
                "subsections": [
                    {
                        "name": "DESCRIPTION (qdisc)",
                        "content": "HFSC qdisc has only one optional parameter - default. CLASSID specifies the minor part of the\ndefault classid, where packets not classified by other means (e.g. u32 filter, CLASSIFY  tar‐\nget  of iptables) will be enqueued. If default is not specified, unclassified packets will be\ndropped.\n"
                    },
                    {
                        "name": "DESCRIPTION (class)",
                        "content": "HFSC class is used to create a class hierarchy for HFSC scheduler. For explanation of the al‐\ngorithm,  and  the  meaning  behind  rt,  ls,  sc  and  ul  service  curves - please refer to\ntc-hfsc(7).\n\nAs you can see in SYNOPSIS, service curve (SC) can be specified in two ways. Either as  maxi‐\nmum  delay for certain amount of work, or as a bandwidth assigned for certain amount of time.\nObviously, m1 is simply umax/dmax.\n\nBoth m2 and rate are mandatory. If you omit other parameters, you will specify linear service\ncurve.\n"
                    }
                ]
            },
            "SEE ALSO": {
                "content": "tc(8), tc-hfsc(7), tc-stab(8)\n\nPlease direct bugreports and patches to: <netdev@vger.kernel.org>\n",
                "subsections": []
            },
            "AUTHOR": {
                "content": "Manpage created by Michal Soltys (soltys@ziu.info)\n\n\n\niproute2                                   31 October 2011                                   HFSC(8)",
                "subsections": []
            }
        }
    }
}