社区
Linux_Kernel
帖子详情
linux内核中sk_buff的问题
beyond907
2008-11-07 06:06:55
内核编程,定义了一个struct sk_buff skb;
把skb相应的数据段填充好了之后,包括网络各层的信息和要发送的数据,
问如何实现发送skb到网络,有相应的API吗?或者这个过程应该怎么做?
貌似netfilter的源码中有这样的例子,但我还没看。
刚开始内核编程,请大家不吝赐教。
...全文
134
8
打赏
收藏
linux内核中sk_buff的问题
内核编程,定义了一个struct sk_buff skb; 把skb相应的数据段填充好了之后,包括网络各层的信息和要发送的数据, 问如何实现发送skb到网络,有相应的API吗?或者这个过程应该怎么做? 貌似netfilter的源码中有这样的例子,但我还没看。 刚开始内核编程,请大家不吝赐教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
beyond907
2008-11-13
打赏
举报
回复
谢谢大家。有没有类似的代码参考一下呢。
artszhao
2008-11-13
打赏
举报
回复
楼主的意思是如何发送sk_struct的package的信息的,那就看IP协议的原理和相关的code吧。
然后再看TCP的协议。
具体内容太多,你先看看这个先。
qap22
2008-11-10
打赏
举报
回复
ding
hantry
2008-11-10
打赏
举报
回复
一般状况下你要发送skb需要将skb里面的dev指针赋值为你要发送的那个设备
然后直接调用dev_queue_xmit即可,
这个函数里面也很简单,将skb加入到NIC的发送队列里面后OS的工作就完成了,生下来的事情就是网卡驱动和网卡硬件做的了
xjtlf
2008-11-09
打赏
举报
回复
ding
leeyiqun
2008-11-09
打赏
举报
回复
实现的过程在网卡的驱动程序里面。具体需要看网卡的芯片手册,还有系统分配给网卡的地址。
zkuang82
2008-11-07
打赏
举报
回复
LDD3的网络设备驱动
xiaohei9514
2008-11-07
打赏
举报
回复
这个过程由网卡芯片做,你只要按手册去配置你的网卡(比如:你的SKB的物理地址写哪里,你的TX_RING的地址等),具体的要看你的网卡芯片手册。
[
linux
]
sk
_
buff
结构体详解
linux
内核
sk
_
buff
结构体详解,从
sk
_
buff
结构到流程详细讲解
sk
_
buff
结构体
linux
下的
sk
_
buff
linux
内核
sk
b_buf相关操作介绍
sk
_
buff
详解.pdf
详细介绍
linux
内核
网络模块
中
重要的结构体
sk
_
buff
Linux
内核
??与
sk
_
buff
有关重要数据结构
几个月之前做了关于
Linux
内核
版本1.2.13网络栈的结构框架分析并实现了基于Netfilter的包过滤防火墙,这里以
内核
3.2.1
内核
为例来进一步分析,更全面的分析网络栈的结构。 1、先说一下
sk
_
buff
结构体 这个...
Linux
内核
模块的编写
这是我从网上找的一篇关于
Linux
内核
模块编写的方法,写得很好很详细,适合
Linux
内核
初学者
Linux_Kernel
4,436
社区成员
17,459
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章