自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (14)
  • 收藏
  • 关注

原创 Linux邻居协议 学习笔记 之五 通用邻居项的状态机机制

邻居项的状态机机制是通用邻居层最重要的内容,主要是处理邻居项中状态的改变,其中包括几个邻居状态的定时器机制,以及邻居项的更新,solicit请求的发送等对于通用邻居项的状态机,主要有如下几个状态:NUD_INCOMPLETE、NUD_REACHABLE、NUD_DELAY、NUD_PROBE、NUD_STALE、NUD_NOARP、NUD_PERMANENT、NUD_PROBE、NUD_F

2014-03-26 23:59:00 9427

原创 Linux邻居协议 学习笔记 之四 通用邻居项创建、查找、删除等相关的函数

上节主要是分析了通用邻居层邻居项的垃圾回收机制,这一节主要是分析邻居项的创建、查找、删除等相关的函数,这一节只是介绍函数功能,而没有涉及状态机、通用邻居层的架构等。比如邻居项删除函数neigh_destroy,而这个函数主要是通过垃圾回收机制的调用才会执行删除操作;而对于邻居项创建函数neigh_create,在arp协议下,则在路由缓存与邻居项绑定时会触发调用neigh_create创建邻居项,

2014-03-21 22:38:37 4672

原创 Linux 邻居协议 学习笔记 之三 通用邻居项的垃圾回收机制

对于通用邻居层,我认为主要可以分为三个方面:1、邻居项处理函数,包括邻居项创建、更新、删除等2、邻居项的状态机机制,主要是处理邻居项中状态的改变,其中包括几个邻居状态的定时器机制,也包括发送solicit请求等3、邻居项的垃圾回收机制,主要是负责回收一个邻居表里长时间不用的邻居项,已节省邻居缓存空间。这三个方面需要相互协调工作,才能完成通用邻居层的功能,这一节就分析邻居项的垃圾回收机制

2014-03-20 21:57:45 2870

原创 Linux邻居协议 学习笔记 之二 通用邻居处理函数对应的数据结构的分析

在linux代码中,对于不同的邻居项,抽象出了一个通用的模型,通用邻居层,主要是用来进行邻居项的创建、添加、删除、查找、更新等操作。       对于通用邻居层,最主要的就是邻居项的状态机的设计,本部分先介绍相应的数据结构,在分析通用邻居处理函数时,会仔细分析邻居状态机。本部分会简要介绍状态机。  首先是邻居状态的定义,在通用邻居项中定义了以下邻居状态: #defineNU

2014-03-19 22:14:46 2383

原创 Linux邻居协议 学习笔记 之一 邻居协议概念及arp帧格式

什么是邻居协议?如果一台主机和你的计算机连接在同一个LAN上(也就是说,你和这台主机通过一个共享介质相连或点对点直接相连),那么它就是你的邻居,而且他们有相同的L3网络配置。定义邻居的另一种方式是,一台主机到其邻居必须有且仅有一个L3跳跃点,并且它的L3路由表必须提供可以直接和其邻居通信的一条路劲。不是邻居的主机间通信必须通过网关或路由器。 neighbour项是在什么时候创建的呢?

2014-03-18 21:33:23 3186

原创 Linux 网桥代码分析 六 网桥数据转发函数分析

对于数据包转发函数,主要是分为两大类:数据转发到指定端口、数据扩散到所有端口。 下面就从这两方面进行分析:一  数据转发到指定端口对于数据转发到指定端口的功能,也可以分为两个方面:对入口流量进行的数据转发、对出口流量进行的数据转发 入口流量很好理解:就是桥组中的一个网桥端口接收了数据包,经过网卡驱动后经由函数netif_receive_skb、handle_bridge

2014-03-06 22:16:44 9670 3

原创 Linux 网桥代码分析 五 网桥端口设备接收数据包的处理分析

对于网桥端口设备,底层接收到数据以后,经过网卡驱动的接收函数处理以后,最终会调用函数netif_receive_skb,而netif_receive_skb在对数据包头进行相关处理以及对ptype_all链上注册的相关协议进行调用deliver_skb处理后(包括PF_PACKET类型的rawsocket处理),会调用handle_bridge进入网桥处理,而其会调用br_handle_frame

2014-03-04 21:24:11 6370

原创 linux 网桥代码分析 四 网桥转发数据库的代码分析

四、对网桥转发数据库的操作对于网桥转发数据库,我们一般需要对数据库的初始化、数据库的插入、数据库的查找、数据库的更新、数据库的删除等操作,下面我们就以这几个方向分析fdb相关的代码  1、br_fdb_init 该函数调用kmem_cache_create 来创建一个新缓存(这个函数并没有向缓存分配任何内存)int __init br_fdb_init(void)

2014-03-03 21:48:30 4010

原创 linux 网桥代码分析 三 网桥及网桥端口的添加与删除

1、网桥的添加及相关的函数  br_add_bridge,其函数实现以下功能:1、调用new_bridge_dev创建并初始化一个网桥设备与网桥2、调用register_netdevice注册网桥设备3、调用br_sysfs_addbr增加sysfs相关的功能,主要是建立kobject与sysfs之间的关系       (分析完网桥的代码以后,我会好好学习一下kobje

2014-03-01 23:32:44 4859

hwmon_driver_V1.0.tar.gz

实现一个虚拟的温度传感器驱动,涉及的知识点包括 1. 实现一个虚拟的i2c总线控制器; 2. 实现一个虚拟的i2c设备,用于模拟温度传感器,主要用于提供转换寄存器、配置寄存器,主要提供四路温度。 3. 实现一个虚拟的i2c驱动,用于和模拟温度传感器通信,主要实现配置温度采集及转换的channel、读取温度; 4. 实现一个虚拟的hwmon driver,该driver实现了四路温度的采集,实现temp_input,并实现show接口,而在show接口中,通过与模拟温度传感器通信,完成温度的采集等功能。 通过实现platform device、platform driver,实现i2c adapter的注册操作。

2020-05-16

virtual_uart_driver.tar.gz

此驱动linux虚拟串口控制器驱动,可用于无开发板模式下雪串口控制器驱动,用于学习uart_driver的开发流程

2020-04-18

virtual_tty_driver.tar.gz

本驱动模块主要实现一个虚拟的串口驱动,该串口驱动仅仅是用于tty子系统驱动的开发学习。针对本驱动,目前实现的是loopback的功能,即应用程序向次虚拟串口驱动写数据时,该驱动程序会将写入的数据再返回应用程序。

2020-04-13

virtual_tty_driver.tar.gz

本驱动模块主要实现一个虚拟的串口驱动,该串口驱动仅仅是用于tty子系统驱动的开发学习。针对本驱动,目前实现的是loopback的功能,即应用程序向次虚拟串口驱动写数据时,该驱动程序会将写入的数据再返回应用程序。

2020-04-12

virtual_spi_controller_test.tar.gz

虚拟spi控制器驱动模拟代码,并模拟了spi device以及应用层测试程序。通过模拟程序,可当我们在没有开发板时,练习spi驱动的流程

2020-03-25

virtual_i2c_controller_test.tar.gz

虚拟的i2c adapter驱动以及虚拟 i2c device的创建,从而可以用于练习linux i2c device driver以及i2c adapter驱动开发流程

2020-03-23

linux-kconfig.tar.gz

移植linux3.10的kconfig工具,使用该工具之后,可以针对不同的需求,生成不同的编译配置文件,完成不同应用组合的构建功能。 (busybox、buildroot也是借助linux 的kconfig工具实现类似功能)

2019-09-01

Linux netfilter 学习笔记

本文档主要为本人博客里的《Linux netfilter学习笔记》的集合,本文主要包括《ip 层netfilter的hook 注册以及执行hook函数的概要分析》、《ip层netfilter的table、rule、match、target结构分析》、《 ip层netfilter的table注册及规则的添加》、《ip层netfilter的table中规则的匹配检查》、《ip层netfilter的filter表的创建及其hook函数分析》、《ip层netfilter的连接跟踪模块的概念及相关的数据结构分析》、《 ip层netfilter的连接跟踪模块初始化》、《ip层netfilter的连接跟踪模块代码分析》、《ip层netfilter的连接跟踪模块 学习小结》、《ip层netfilter的NAT模块初始化以及NAT原理》、《ip层netfilter的NAT模块代码分析》等内容

2019-02-24

windows下定时关机程序

该软件为windows下的定时关机小程序,通过该程序可实现定时关机功能

2019-02-24

linux platform架构解析资料

Linux platform driver 机制和传统的 device driver 机制 ( 通 过 driver_register 函数进行注册 ) 相比,一个十分明显的优势在 于 platform 机制将设备本身的资源注册进内核,由内核统一管理,在驱动程 序中使用这些资源时通过 platform device 提供的标准接口进行申请并使 用。这样提高了驱动和资源管理的独立性,并且拥有较好的可移植性和安全 性 ( 这些标准接口是安全的 )

2019-02-24

linux 2.6 内核设备驱动模型精华

linux 2.6 内核设备驱动模型精华描述,包括链表、hash链表、kobject等

2019-02-24

C ++ 面 试 最新

程序员 面试 帮助程序员 面试 帮助程序员 面试 帮助

2009-08-25

c++思想编程 c++思想编程 c++思想编程

c++编程的思想 c++编程的思想 c++编程的思想 c++编程的思想

2009-06-26

c#有关课件

c#有关课件

2009-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除