]>
Commit | Line | Data |
---|---|---|
db9ecf05 | 1 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ |
b934ac3d YW |
2 | #pragma once |
3 | ||
4 | #include "conf-parser.h" | |
5 | #include "qdisc.h" | |
19f86a63 | 6 | #include "tclass.h" |
b934ac3d YW |
7 | |
8 | typedef struct HierarchyTokenBucket { | |
9 | QDisc meta; | |
10 | ||
11 | uint32_t default_class; | |
d9eacc1c | 12 | uint32_t rate_to_quantum; |
b934ac3d YW |
13 | } HierarchyTokenBucket; |
14 | ||
15 | DEFINE_QDISC_CAST(HTB, HierarchyTokenBucket); | |
16 | extern const QDiscVTable htb_vtable; | |
17 | ||
18 | CONFIG_PARSER_PROTOTYPE(config_parse_hierarchy_token_bucket_default_class); | |
d9eacc1c | 19 | CONFIG_PARSER_PROTOTYPE(config_parse_hierarchy_token_bucket_u32); |
19f86a63 YW |
20 | |
21 | typedef struct HierarchyTokenBucketClass { | |
22 | TClass meta; | |
23 | ||
24 | uint32_t priority; | |
d9eacc1c YW |
25 | uint32_t quantum; |
26 | uint32_t mtu; | |
27 | uint16_t overhead; | |
19f86a63 | 28 | uint64_t rate; |
d9eacc1c | 29 | uint32_t buffer; |
19f86a63 | 30 | uint64_t ceil_rate; |
d9eacc1c | 31 | uint32_t ceil_buffer; |
19f86a63 YW |
32 | } HierarchyTokenBucketClass; |
33 | ||
34 | DEFINE_TCLASS_CAST(HTB, HierarchyTokenBucketClass); | |
35 | extern const TClassVTable htb_tclass_vtable; | |
36 | ||
d9eacc1c YW |
37 | CONFIG_PARSER_PROTOTYPE(config_parse_hierarchy_token_bucket_class_u32); |
38 | CONFIG_PARSER_PROTOTYPE(config_parse_hierarchy_token_bucket_class_size); | |
39 | CONFIG_PARSER_PROTOTYPE(config_parse_hierarchy_token_bucket_class_rate); |