社区
无线
帖子详情
PTYPE_MASK
weixin_34707220
2018-06-22 01:04:06
无线驱动种的PTYPE_MASK值是多少?
...全文
335
回复
打赏
收藏
PTYPE_MASK
无线驱动种的PTYPE_MASK值是多少?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ptype
_base/
ptype
_all(内核2.6.32)
在数据包接收过程的那篇笔记中可以知道,在数据包的处理函数netif_receive_skb中,会先看
ptype
_all中是否有注册的协议,如果有,则调用相应的处理函数,然后再到
ptype
_base中,找到合适的协议,将skb发送到相关协议的处理函数.比如ip协议(ip_rcv)或者arp(arp_rcv)等等.此篇笔记讲的是有关
ptype
_all和
ptype
_base的相关知识点. ptyp
tcpdump抓包实现过程
目录应用层socket内核实现内核根据
ptype
_all找抓包点(重要)过滤包抓包点netfilter(重要)总结应用层实现抓包关键程序tcpdump抓包源码分析协议族AF_PACKET 协议族和地址族关系:每一种协议族都有对应的地址族。IPV4的协议族PF_INET,地址族为AF_INET,一一对应,值完全一样,经常混用。 从net_families中获取指定协议,并调用create方法创建 dev_add_pack 其实最后是把 hook 函数添加到了
ptype
_all 里了,代码如下。
Linux 网络协议栈收包过程
title: Linux-net-stack date: 2020-10-03 categories: Linux tags: Linux-networking Linux-net-stack 重要的结构 net_device & sk_buff , 这两个结构分别抽象了网络设备 和 网络数据包。是两个特别大的数据结构,分别位于 include\linux\netdevice.h 和 include\linux\skbuff.h 中。 初始化过程 网卡初始化 从开机一直到初始化网络设备的过程.
linux 网络协议栈(链路层)
1.int netif_receive_skb(struct sk_buff *skb),该函数是网络设备驱动到链路层协议栈的接口函数,该函数最后会调用__netif_receive_skb_core函数,下面主要介绍函数流程 1.1 list_for_each_entry_rcu(
ptype
, &
ptype
_all, list) { //遍历
ptype
_all,如果有则做相应...
深入理解Linux网络技术内幕 第14章 协议处理函数
协议处理函数 每种协议都会有一个初始化函数,如果协议被静态编译到内核中初始化函数在引导期间执行,如果被编译成模块,就在模块加载时执行。 设备驱动接收到一个报文后,将其保存在sk_buff结构内,然后对protocol字段初始化。 skb->protocol = eth_type_trans(skb, nic->netdev); protocol字段被前面章节出现过的__netif_receive_skb函数使用,找到合适的L3处理函数并调用deliver_skb函数将skb传递到上层进行处理。
无线
3,846
社区成员
5,006
社区内容
发帖
与我相关
我的任务
无线
硬件/嵌入开发 无线
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 无线
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章