40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
/* 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);
|