ChinaUnix.net
相关文章推荐:

skbuff读书笔记

在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 阅读(1432) 回复(4)

相关讨论

LINUX网络协议栈实现分析(-) skbuff的实现 本文是我尝试分析LINUX网络协议栈实现的一系列文章中的第一篇,主要分析 LINUX网络协议栈中skbuff的实现。分析以LINUX2.2.x为基础,同时也包 括了相同的描述对象在LINUX2.4.x中的新变化。本文引用的代码的版本分别 是:LINUX2.2.25,LINUX2.4.20。 1 简介 了解网络协议栈的人都知道,网络协议栈是一个有层次的软件结构,层与层之 间通过预定的接口传递网络报文。网络报文中包含了在协议...

by HJLin - Linux文档专区 - 2008-07-26 11:05:00 阅读(619) 回复(0)

最近好多问题想问,但,有个最尖锐的问题想问对协议栈有所了解的朋友。 linux协议栈的skbuff资源的申请和释放相关,有所不清楚。 就是,发送数据包的过程中,我们对缓冲区的申请和释放的问题。感觉对skbuff是不可控的,资源是你申请的,最后等数据包发送出去,资源也必须由你来释放。 很想知道,是不是缓冲区就是用了这一块资源,经由协议栈的tcp/udp,ip,链路层,最后到了网卡驱动的流程,最后把他释放了? 还是,在每一层都有一...

by meijusan123 - 内核源码 - 2009-08-07 14:03:48 阅读(1167) 回复(1)

Linux中skbuff的实现(转载) Linux中skbuff的实现(转载) 本文是我尝试分析LINUX网络协议栈实现的一系列文章中的第一篇,主要分析 LINUX网络协议栈中skbuff的实现。分析以LINUX2.2.x为基础,同时也包 括了相同的描述对象在LINUX2.4.x中的新变化。本文引用的代码的版本分别 是:LINUX2.2.25,LINUX2.4.20。 1 简介 了解网络协议栈的人都知道,网络协议栈是一个有层次的软件结构,层与层之 间通过预定的接口传递网络...

by pear_o_ - Linux文档专区 - 2008-12-10 15:43:33 阅读(510) 回复(0)

Linux中skbuff的实现(转载) Linux中skbuff的实现(转载) 本文是我尝试分析LINUX网络协议栈实现的一系列文章中的第一篇,主要分析 LINUX网络协议栈中skbuff的实现。分析以LINUX2.2.x为基础,同时也包 括了相同的描述对象在LINUX2.4.x中的新变化。本文引用的代码的版本分别 是:LINUX2.2.25,LINUX2.4.20。 1 简介 了解网络协议栈的人都知道,网络协议栈是一个有层次的软件结构,层与层之 间通过预定的接口传递网络报...

by HJLin - Linux文档专区 - 2008-07-23 16:56:07 阅读(505) 回复(0)

Linux中skbuff的实现(转载) 本文是我尝试分析LINUX网络协议栈实现的一系列文章中的第一篇,主要分析 LINUX网络协议栈中skbuff的实现。分析以LINUX2.2.x为基础,同时也包 括了相同的描述对象在LINUX2.4.x中的新变化。本文引用的代码的版本分别 是:LINUX2.2.25,LINUX2.4.20。 1 简介 了解网络协议栈的人都知道,网络协议栈是一个有层次的软件结构,层与层之 间通过预定的接口传递网络报文。网络报文中包含了在协议...

by jesse- - Linux文档专区 - 2007-05-15 11:15:28 阅读(343) 回复(0)

原文是一个PDF文档, 我没有合适的办法把内容拖出来发在帖子里:(

by leviathan.alan - 内核/嵌入技术 - 2006-06-25 21:52:54 阅读(1019) 回复(4)

原文是一个PDF文档, 我没有合适的办法把内容拖出来发在帖子里:(

by leviathan.alan - 内核源码 - 2012-10-30 22:09:21 阅读(7749) 回复(6)

文件: skbuff图示.rar 大小: 37KB 下载: 下载 文件: skbuff图示.rar 大小: 37KB 下载: 下载 /* * sk_buff 完全注释 * 金伟注释 blog -- http://jinweidavid.cublog.cn 转载请注明 */ /* * 本文件取自linux 2.6.13内核的skbuff.c */ /* * Routines having to do with the 'struct sk_buff' memory handlers. * * Authors: Alan Cox * Florian La Roche * * Version: $Id: skbuff.c,v 1.90 2001/11/07 05:56:19 da...

by jinweidavid - Linux文档专区 - 2008-10-10 09:58:46 阅读(1161) 回复(0)

本帖最后由 kangle000 于 2010-07-19 06:59 编辑 以下代码是在2.6.31内核中执行的,根据send_rst改写的。但是代码存在以下几个问题: 1、捕包发现ip头的version字段为0,offset的值不为0,校验出错。 2、udp头的内容好像并没有更改。 3、us指针指向的内容并没有改变 4、经常死机 请大家帮我看看是哪里的问题[code]#ifndef __KERNEL__ #define __KERNEL__ #endif #ifndef MODULE #define MODULE #endif #include

by kangle000 - 内核源码 - 2010-07-22 21:04:58 阅读(6208) 回复(16)

在LINUX的实现中,同一个网络报文的数据在内存中是连续存放的,每个 网络报文都有一个控制结构,叫做sk_buff。 sk_buff是一个控制结构,通过它,才可以访问网络报文里的各种数 据。所以在分配网络报文存储空间时,同时也分配它的控制结构sk_buff。在这 个控制结构里,有指向网络报文的指针,也有描述网络报文的变量。下面是 sk_buff的定义,依次注释如下: struct sk_buff { struct sk_buff * next; struct sk_buff * prev; stru...

by cocos_zhouhao - Linux文档专区 - 2009-12-31 12:42:25 阅读(895) 回复(0)