在netfilter里面,注册一个hook函数如下: static struct nf_hook_ops _ops[] __read_mostly = { { .hook = _local_in, .owner = THIS_MODULE, .pf = PF_INET, .hooknum = NF_INET_LOCAL_IN, .priority = NF_IP_PRI_LAST, } }; 这里设定了NF_IP_PRI_LAST,那接受到的数据包里面的sk_buff是否是已经分片重组过了呢? 另外一个问题: 在netfilter的hook里面使用内核的 textsearch_prepare("kmp", pattern, strlen(pattern...
by coconut-zj - 内核源码 - 2012-04-25 11:02:22 阅读(1431) 回复(4)
LINUX网络协议栈实现分析(-) skbuff的实现 本文是我尝试分析LINUX网络协议栈实现的一系列文章中的第一篇,主要分析 LINUX网络协议栈中skbuff的实现。分析以LINUX2.2.x为基础,同时也包 括了相同的描述对象在LINUX2.4.x中的新变化。本文引用的代码的版本分别 是:LINUX2.2.25,LINUX2.4.20。 1 简介 了解网络协议栈的人都知道,网络协议栈是一个有层次的软件结构,层与层之 间通过预定的接口传递网络报文。网络报文中包含了在协议...
Comparing the bandwidth and priority Commands of a QoS Service Policy Downloads Comparing the bandwidth and priority Commands of a QoS Service Policy Document ID: 10100 Contents Introduction Prerequisites Requirements Components Used Conventions Summary of Differences Configuring the bandwidth Command Configuring the priority Command Which Traffic ...
续。。。 #!/bin/sh # # Script by Ron Senykoff 2005 ##################################### ############ VARIABLES ############## # # e=eth0 # interface nonVoipRate=150kbps # throttle for nonVoip - make sure to keep is slow enough citrix=60kbps video=110kbps sametime=5kbps bulk=10kbps COLO1="x.x.x.x" # substitute IPs here COLO2="x.x.x.x" SAMETIME="x.x.x.x" # ...
前几天在使用nice和sche_setschedule函数的时候有一点疑惑。 nice的功能是设置进程优先级,sche_setschedule也可以指定进程的优先级,nice允许的有效值是0-40,而sche_setschedule允许的有效值是0-255(不同的策略有不同的范围,但是所有策略允许范围的并集是这个)。从这里看,nice和sche_setschedule所设置的优先级不是一回事。nice改的是priority,而sche_setschedule改的是rt_priority。 然后我再查了一下内核方面的书,有如...
前几天在使用nice和sche_setschedule函数的时候有一点疑惑。 nice的功能是设置进程优先级,sche_setschedule也可以指定进程的优先级,nice允许的有效值是0-40,而sche_setschedule允许的有效值是0-255(不同的策略有不同的范围,但是所有策略允许范围的并集是这个)。从这里看,nice和sche_setschedule所设置的优先级不是一回事。nice改的是priority,而sche_setschedule改的是rt_priority。 然后我再查了一下内核方面的书,有如...
最近好多问题想问,但,有个最尖锐的问题想问对协议栈有所了解的朋友。 linux协议栈的skbuff资源的申请和释放相关,有所不清楚。 就是,发送数据包的过程中,我们对缓冲区的申请和释放的问题。感觉对skbuff是不可控的,资源是你申请的,最后等数据包发送出去,资源也必须由你来释放。 很想知道,是不是缓冲区就是用了这一块资源,经由协议栈的tcp/udp,ip,链路层,最后到了网卡驱动的流程,最后把他释放了? 还是,在每一层都有一...
Linux中skbuff的实现(转载) Linux中skbuff的实现(转载) 本文是我尝试分析LINUX网络协议栈实现的一系列文章中的第一篇,主要分析 LINUX网络协议栈中skbuff的实现。分析以LINUX2.2.x为基础,同时也包 括了相同的描述对象在LINUX2.4.x中的新变化。本文引用的代码的版本分别 是:LINUX2.2.25,LINUX2.4.20。 1 简介 了解网络协议栈的人都知道,网络协议栈是一个有层次的软件结构,层与层之 间通过预定的接口传递网络...
Linux中skbuff的实现(转载) Linux中skbuff的实现(转载) 本文是我尝试分析LINUX网络协议栈实现的一系列文章中的第一篇,主要分析 LINUX网络协议栈中skbuff的实现。分析以LINUX2.2.x为基础,同时也包 括了相同的描述对象在LINUX2.4.x中的新变化。本文引用的代码的版本分别 是:LINUX2.2.25,LINUX2.4.20。 1 简介 了解网络协议栈的人都知道,网络协议栈是一个有层次的软件结构,层与层之 间通过预定的接口传递网络报...
Linux中skbuff的实现(转载) 本文是我尝试分析LINUX网络协议栈实现的一系列文章中的第一篇,主要分析 LINUX网络协议栈中skbuff的实现。分析以LINUX2.2.x为基础,同时也包 括了相同的描述对象在LINUX2.4.x中的新变化。本文引用的代码的版本分别 是:LINUX2.2.25,LINUX2.4.20。 1 简介 了解网络协议栈的人都知道,网络协议栈是一个有层次的软件结构,层与层之 间通过预定的接口传递网络报文。网络报文中包含了在协议...