ChinaUnix.net
相关文章推荐:

net sk buff data uses offset

我在netfilter的NF_IP_LOCAL_OUT中,设置了一个自己的钩子处理函数,工作正常。 但是由于要对udp的数据包分析头部,所以在钩子函数中对sk_buff结构的skb进行了分析,但是我发现了一个 有趣&&奇怪 的问题: 我想用一个指针指向udp的头部, struct udphdr *uh; skb是struct sk_buff *skb。 我一开始是这样赋值的: uh = skb->;h.uh; 但是得到的udp端口号怎么也不对,不管是否ntohs(端口号)! 后来我尝试使用这种赋值方法: ...

by dzbjet - 内核/嵌入技术 - 2005-06-30 18:49:40 阅读(821) 回复(1)

相关讨论

struct sk_buff { unsigned char pad[2]; unsigned char buf[ETH_FRAME_LEN];//buffer,这里是帧存储的位置 unsigned int truesize; /* buffer size */ unsigned char *data; /* data head pointer */这个指针总是指向当前层协议头在buf中的位置或者当前层协议数据部分在buf中的位置。 unsigned int len; /* Length of actual data */指示从*data位置到帧尾的length }; buf[ETH_FRAME_LEN] 就是一帧实体,也是...

by newcch - 网络技术文档中心 - 2009-06-18 15:20:53 阅读(1388) 回复(0)

1 RT 2 哪位有写好的判断网段的函数给一个 如下 int ip_cidr(UINT32 ip, UINT32 mask, UINT32 checkip);

by wangqi0021 - C/C++ - 2009-04-08 18:07:34 阅读(960) 回复(3)

sk_buff读书笔记 第一部分: skb - Linux network buffers skb——Linux网络缓存 Harald Welte laforge@gnumonks.org 1.3, 2000/10/14 21:27:02 --------------------------------------------------------------------- Short description about the linux network buffers (skb's) --------------------------------------------------------------------- 1. Introduction At the time I wanted to know more about the Linux...

by moses731 - 网络技术文档中心 - 2007-06-19 14:57:13 阅读(913) 回复(0)

netfilter中想对收到的某些包优先权排序,在sk_buff.h中定义的sk_buff结构中:__u32 priority; /* packet queueing priority */ 就知道是分组排队优先级。也不知道具体是指什么,它是每个数据包自带的呢,还是可以在用户收到包后各自定义的?请高手指点。

by wzwhh - 内核/嵌入技术 - 2005-07-09 15:18:37 阅读(879) 回复(6)

本人刚接触LINUX不久,对sk_buf结构及其链表还不明白,最近读了几天的sk_buff源代码,仍感觉一头雾水,期望高手不吝赐教,给我讲讲sk_buff结构及其链表,谢谢!! alloc_skb()函数是申请新的sk_buff结构,在里面有这样几行我始终不明白: /*Get the HEAD*/ skb=skb_head_from_pool(); if(skb==NULL) { skb=kmem_cache_alloc(akbuff_head_cache,gfp_mask & `_GFP_DMA); if (skb==NULL) goto nohead; } 其中在skb_head_from_pool()...

by kingwi - Linux论坛 - 2005-06-15 22:05:58 阅读(562) 回复(0)

为什么struct sk_buff{}中有struct icmphdr *icmph ? 系统R9 sturct icmphdr *icmph定义在transport layer header里。 详细看文件: /usr/include/linux/skbuff.h :?: :?: :(

by devel - C/C++ - 2004-02-28 18:25:37 阅读(607) 回复(0)

请教各位朋友一个问题 在我所使用的2.6.24内核中 我发现sk_buff结构体中取消了sk_buff_head* list这个成员变量 导致了我无法调用skb_XXX系列函数,因为它们需要传入list这个参数 我使用netfilter框架来对数据包进行二次封装 添加我自己的协议头 拿不到list 我没办法调用skb_queue_head()将new_skbuff放入队列 不知道在当前内核下 该如何处理呢?

by minsavage - C/C++ - 2009-03-26 21:04:34 阅读(1577) 回复(1)

sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在skbuff.h中定义,并包含很多成员变量供网络代码中的各子系统使用。 这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的成员变量以使得成员变量的布局更加清晰。它的成员变量可以大致分为以下几类: Layout 布局 General 通用 Feature-specific功能相关 Management functions管理函数 这...

by newcch - 网络技术文档中心 - 2009-06-16 16:58:23 阅读(2961) 回复(0)

我想通过修改sk_buff来给ipv6报文插入一个新的扩展头,但是下边这段代码老把系统搞死,大家给看看是怎么回事? /*先检测有没有空间容纳新的扩展头,新扩展头名为 shim6hdr_pld*/ if (skb_headroom(skb)

by nearxlz - 程序开发 - 2006-08-19 16:42:05 阅读(605) 回复(3)

我想通过修改sk_buff来给ipv6报文插入一个新的扩展头,但是下边这段代码老把系统搞死,大家给看看是怎么回事? /*先检测有没有空间容纳新的扩展头,新扩展头名为 shim6hdr_pld*/ if (skb_headroom(skb)

by nearxlz - 内核/嵌入技术 - 2006-08-17 11:29:15 阅读(522) 回复(0)