小编Chr*_*oph的帖子

新的linux tc排队规则创造了爆发...耗尽了知识

我想为linux内核编写一个新的tc排队规则.目标是排队等等.十个数据包,然后将它们全部发送出去(我知道,这对网络来说并不是一件好事,但我想对此进行一些研究).

那么,已经做了什么:我有一个新的sched-module(enqueue,dequeue函数等)的框架,它也正确编译并正确工作(一个数据包排队,一个数据包发送 - 没什么特别的).我正在使用与正在运行的内核相同的源代码在ubuntu maverick上编译它,并将我的模块放在Makefile和Kconfig中.

我想,每次调用enqueue函数,之后qdisc_restart(在sch_generic.c中)调用dequeue函数 - 并且只发送一个数据包.

我的问题是:如何从我的模块向网络接口发送多个数据包,就像我收集的那样.10包现在我想把它们全部发送出去?

我尝试使用与qdisc_restart(和锁定机制)相同的参数调用sch_direct_xmit函数(来自sch_generic.c) - 但是,然后,我的模块的编译失败:未知符号sch_direct_xmit(但greping/proc/kallsyms为此给了我结果).有什么想法,那有什么不对?如果需要一些代码,请告诉我(我在sched_generic.c中包含了相同的.h)

BR Christoph

linux queuing linux-kernel

5
推荐指数
1
解决办法
365
查看次数

标签 统计

linux ×1

linux-kernel ×1

queuing ×1