linux内核中sk_buff的问题

beyond907 2008-11-07 06:06:55
内核编程,定义了一个struct sk_buff skb;
把skb相应的数据段填充好了之后,包括网络各层的信息和要发送的数据,
问如何实现发送skb到网络,有相应的API吗?或者这个过程应该怎么做?
貌似netfilter的源码中有这样的例子,但我还没看。
刚开始内核编程,请大家不吝赐教。
...全文
134 8 打赏 收藏 转发到动态 举报
写回复
用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的地址等),具体的要看你的网卡芯片手册。

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧