/* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once #include "conf-parser.h" #include "qdisc.h" #include "tclass.h" typedef struct HierarchyTokenBucket { QDisc meta; uint32_t default_class; uint32_t rate_to_quantum; } HierarchyTokenBucket; DEFINE_QDISC_CAST(HTB, HierarchyTokenBucket); extern const QDiscVTable htb_vtable; CONFIG_PARSER_PROTOTYPE(config_parse_hierarchy_token_bucket_default_class); CONFIG_PARSER_PROTOTYPE(config_parse_hierarchy_token_bucket_u32); typedef struct HierarchyTokenBucketClass { TClass meta; uint32_t priority; uint32_t quantum; uint32_t mtu; uint16_t overhead; uint64_t rate; uint32_t buffer; uint64_t ceil_rate; uint32_t ceil_buffer; } HierarchyTokenBucketClass; DEFINE_TCLASS_CAST(HTB, HierarchyTokenBucketClass); extern const TClassVTable htb_tclass_vtable; CONFIG_PARSER_PROTOTYPE(config_parse_hierarchy_token_bucket_class_u32); CONFIG_PARSER_PROTOTYPE(config_parse_hierarchy_token_bucket_class_size); CONFIG_PARSER_PROTOTYPE(config_parse_hierarchy_token_bucket_class_rate);