社区
Linux/Unix社区
帖子详情
skb中的mac_header报空指针
xc889078
2012-03-15 05:26:43
用netfilter编写内核模块,放在ARM开发板上,不过运行的时候因为报空指针内核崩溃。
后来查明在钩子函数中的skb->mac_header地址为空,也就是0x00000000,但是skb的地址确为0xc0470620,不为空。
skb->mac_header的地址不应该是skb的地址加上偏移量得到的嘛,为什么会为空呢?
本人刚学习内核,有很多方面不懂,还请各位多多指教!
...全文
109
回复
打赏
收藏
skb中的mac_header报空指针
用netfilter编写内核模块,放在ARM开发板上,不过运行的时候因为报空指针内核崩溃。 后来查明在钩子函数中的skb->mac_header地址为空,也就是0x00000000,但是skb的地址确为0xc0470620,不为空。 skb->mac_header的地址不应该是skb的地址加上偏移量得到的嘛,为什么会为空呢? 本人刚学习内核,有很多方面不懂,还请各位多多指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Linux内核网络分层模型——
skb
核心操作
也就是说,可以通过相对于
skb
的head指针的偏移来定位协议头的位置,也可以通过绝对 地址来定位,具体使用哪一种取决于系统有没有定义NET_
SKB
UFF_DATA_USES_OFFSET宏,以上的
skb
->network_
header
= p明显是通过绝对...
skb
学习记录-----sk_buff封装过程
1、创建
skb
struct sk_buff *
skb
= NULL;
skb
= alloc_
skb
(500, GFP_ATOMIC);//第一个参数是要分配的数据段长度,即
skb
->data -
skb
->tail;下图是分配空间后相关指针的位置 2、初始定位 static inline void ...
2.6内核的sk_buff结构分析
原文 http://andychenkan.blog.163.com/blog/static/56300913200961695519363/<br /> struct... //以下两个变量用于将sk_buff链接到一个双向循环链表
中
struct sk_buff *next; s
linux
skb
结构和相关操作函数分析
内核
中
sk_buff结构体在各层协议之间传输不是用拷贝sk_buff结构体,而是通过增加协议头和移动指针来操作的。如果是从L4传输到L2,则是通过往sk_buff结构体
中
增加该层协议头来操作;如果是从L2到L4,则是通过移动sk_...
sk_buff结构分析
前言: 以下是根据《深入理解Linux网络技术内幕》对sk_buff的...sk_buff是Linux网络代码
中
最重要的结构体之一。它是Linux在其协议栈里传送的结构体,也就是所谓的“包”,在他里面包含了各层协议的头部,比如ethernet
Linux/Unix社区
23,125
社区成员
74,509
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章