HTB(hierarchy token buffer)是linux tc(traffic control)模块中的排队队列的一种。它的配置比CBQ要简单.同时实现功能也很强大。下面,就来看看,HTB在linux中的源码。
1、 Qdisc_ops的注册
先从module_init函数看起(遵从fudan_abc的建议)
| static int __init htb_module_init(void) { return register_qdisc(&htb_qdisc_ops); } |
上面的code会调用register_qdisc函数,将htb_qdisc_ops注册到系统中,那么htb_qdisc_ops包含了那些内容:
| static struct Qdisc_ops htb_qdisc_ops __read_mostly = { .cl_ops = &htb_class_ops, .id = "htb", .priv_size = sizeof(struct htb_sched), .enqueue = htb_enqueue, .dequeue = htb_dequeue, .peek = qdisc_peek_dequeued, |

HTB是Linux TC模块中的排队队列类型,提供强大的流量控制功能。本文深入源码,探讨HTB的Qdisc_ops注册过程,包括enqueue和dequeue函数的作用,以及如何通过tc filter进行数据包分类和转发。
最低0.47元/天 解锁文章
463

被折叠的 条评论
为什么被折叠?



