
Linux Network
文章平均质量分 81
daocaoguizu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
skb数据的发送
数据的发送skb结构和分配skb分配释放的频率非常高,用kmem_cache分配skb_buf的头部,alloc_skb分配其数据区,alloc_skb最终调用了_kmalloc分配连续物理内存,skb_buf结构体中重要成员:head指向已分配空间的头部,end指向该空间尾部,data指向有效数据头部,tail指向有效数据尾部,当skb在各层流动时,head和end是不变的。sk原创 2017-07-31 10:41:39 · 2877 阅读 · 0 评论 -
Driver中使用的内核机制
Driver中使用的内核机制1. 互斥与同步mutex_init(&cmd->cmd_lock);init_waitqueue_head(&cmd->waitq);自旋锁spinlock_t lock;spin_lock_init(&cmd->lock);例如cmdevt.c中spin_lock_bh(&cmd->lock); kfree(cmd原创 2017-07-14 11:13:42 · 439 阅读 · 1 评论 -
根据Device Tree生成Platform device
根据Device Tree生成Platformdevice1.书写dts文件要生成platformdevice,首先要定义一个dts文件,Device Tree机制根据这个dts文件生成platform device.Documentation/devicetree/目录介绍了device tree的使用,dts的书写需要先阅读:http://devicetree.org/Devi原创 2017-01-17 09:51:42 · 958 阅读 · 0 评论 -
Platform设备模型
本文目的是介绍怎么使用平台驱动模型,而不去深究其platform driver的内部实现细节。首先进入Documentation/driver-model/目录,这里的文档隆重介绍了driver开发的三兄弟:Bus,Device,Driver。这三个概念勾勒出一个老司机驾驶一辆个性卡车使向无边远方的画面,Bus这条使向无边远方的路正是计算机中总线,driver驱动着外设device不知疲劳地行原创 2016-12-10 14:32:01 · 478 阅读 · 0 评论 -
网络设备注册与初始化
关键数据结构net_device,它是网络设备的软件抽象,定义在include/linux/netdevice.h。这是一个庞大的数据结构,在需要的时候回头查看1. 分配net_device函数例如dev = alloc_netdev(sizeof(*mynetdev), “wlan0”,ether_setup);struct mynetdev { … struc原创 2016-11-18 17:22:44 · 1692 阅读 · 0 评论 -
网络数据包类型
类型一-------以太网帧EthernetV2帧头结构为6bytes的源地址+6bytes的目标地址+2Bytes的协 议类型字段+数据 类型二-----802.3/802.2帧LLC is defined in ISO/IEC 8802-2:1998SNAP is defined in IEEE Std 802-2001. Theformatting for the S原创 2017-08-14 11:19:23 · 4652 阅读 · 0 评论 -
网卡数据的接收
数据的接收当网卡有数据收到时,网卡会产生硬件中断,驱动在中断处理函数中读取通道上的数据并将数据发往上层,由于会频繁的收到网络数据包,中断处理函数将耗时的数据处理放在低半部处理,常用的低半部机制为tasklet和softirq。网卡驱动就将耗时的操作放到了softirq中来完成,内核定义了NET_TX_SOFTIRQ和NET_RX_SOFTIRQ,因此网卡中断处理程序一般处理例程为首先读取状态寄原创 2017-08-07 10:58:24 · 3024 阅读 · 0 评论 -
文章标题 netfilter的hook函数
一,hook点与数据流向 linux抽象出整体的hook架构,通过在以下几个数据流经点添加hook机制,为实现netfilter提供基础框架: NF_IP_PRE_ROUTING、NF_IP_LOCAL_IN、NF_IP_FORWARD、NF_IP_LOCAL_OUT、NF_IP_POST_ROUTING。 这五个点在数据的流经方向如下图: 二、数据结构 1、nf_hook_ops原创 2017-09-08 11:33:51 · 1005 阅读 · 0 评论