- 博客(10)
- 资源 (65)
- 收藏
- 关注
原创 linux设备模型——总线,驱动,设备间的关系
设备模型之kobject,kset及其关系关于linux设备模型kobject,kset,ktype设备驱动基础0:设备模型之kobject,kset及其关系 设备模型之总线,驱动,设备Linux驱动之bus_register分析Linux设备管理(一)_kobject, kset,ktype分析
2017-07-17 09:11:43 1207
原创 学习Linux-4.12内核网路协议栈(1.8)——网络设备驱动模块的加载
1.了解PCI总线说到网络设备驱动,就不得不说PCI总线,但是这个话题可深可浅,而且网上的资料也是一大堆(比如),但是对于我们来说,目前并不需要掌握很深,下面是网上找的两张最基本的PCI工作结构图,虽然PCI总线上可以挂接不同种类的设备,但我们这里只要了解网络设备就够了,所以我更偏好第二张图,它够简单,也够直观。 关于PCI总线,这里主要介绍两个结构体,一个是
2017-07-16 19:32:28 2467
原创 学习Linux-4.12内核网路协议栈(1.7)——网络设备的初始化(struct net_device)
在linux的网络设备里,其中一个最关键的结构体应该要算net_device了,它由对应的网络设备驱动进行创建和初始化,服务于内核网络子系统。struct net_device这个结构体比较大,在了解它之前,我们先看一下它的注释:1433 /**1434 * struct net_device - The DEVICE structure.1435 * Actu
2017-07-16 19:21:19 8873
原创 学习Linux-4.12内核网路协议栈(1.6)——协议栈的初始化(inet_init实现过程)
这篇文章主要分析inet_init()函数的实现过程:1796 static int __init inet_init(void)1797 {1798 struct inet_protosw *q;1799 struct list_head *r;1800 int rc = -EINVAL;18011802 sock_skb_cb_check_siz
2017-07-14 14:57:03 1309
原创 学习Linux-4.12内核网路协议栈(1.5)——协议栈的初始化(inet_init主要数据结构)
前面了解到网络初始化申请了两块skb高速缓存和创建了一个/proc/net/protocols文件,现在开始重头戏,网络协议栈的初始化。这篇文章主要介绍网络栈中使用到的主要数据结构。网络协议栈的内核实现和理论上的分层有些不一样,在代码里面的分层如下图:开始前,先回顾一下应用层socket函数的调用,它会创建一个socket并返回对应的描述符:int sock
2017-07-09 21:37:52 1861
原创 学习Linux-4.12内核网路协议栈(1.4)——协议栈的初始化(proto_init)
这篇文章主要分析proto_init过程,它完成协议相关proc文件的创建3241 static __net_initdata struct pernet_operations proto_net_ops = {3242 .init = proto_init_net,3243 .exit = proto_exit_net,3244 };324
2017-07-09 10:42:28 1596
原创 学习Linux-4.12内核网路协议栈(1.3)——协议栈的初始化(sock_init)
static int __init sock_init(void){ int err; /* * Initialize the network sysctl infrastructure. */ err = net_sysctl_init(); if (err) goto out; /* *
2017-07-06 23:11:45 1659
原创 学习Linux-4.12内核网路协议栈(1.2)——协议栈的初始化(sk_buff)
sk_buff 是网络数据包的承载,是最关键的结构体之一/** * struct sk_buff - socket buffer * @next: Next buffer in list * @prev: Previous buffer in list * @tstamp: Time we arrived/left * @rb
2017-07-06 18:47:08 2327
原创 学习Linux-4.12内核网路协议栈(0)——前言
当决定开始写这个系列文章的时候,就意识到这可能会是个漫长的过程,也可能是个短暂的过程(如果自己中途放弃的话)。最近一段时间零零散散在了解内核网路协议栈相关的东西,有时候觉得好难,有时候觉得也就那么回事,这种感觉反反复复持续了一段时间,直到现在可以较为平静的面对这些问题的时候,决定对网络协议栈的学习做个梳理和记录,下面是阅读到的一些书籍:TCP IP详解卷1:协议 原书第2版
2017-07-03 17:46:12 3076
原创 学习Linux-4.12内核网路协议栈(1.1)——系统的初始化(do_initcalls)
我们知道,不管在什么样的平台上启动linux,它的开始都是以start_kernel()进行系统的初始化,当然网络协议栈的初始化也是在这个过程中完成,下面从start_kernel()开始跟踪:start_kernel() --> rest_kernel() --> kernel_thread(kernel_init, NULL, CLONE_FS) --> kernel_init_freea
2017-07-03 17:42:34 2518
sed awk讲解资料全集
2015-06-11
精通UNIX Shell脚本编程 第二版 免费 包含脚本文件
2015-06-11
netcat-0.7.1.tar.gz
2014-09-04
GitHubSetup
2014-08-31
80211r的无线局域网漫游技术的研究与实现
2018-07-01
Linux内核精髓-精通Linux内核必会的75个绝技 完整版
2017-03-19
TCP IP详解卷1:协议 原书第2版 压缩二
2017-03-19
Linux设备驱动开发详解:基于最新的Linux 4.0内核 高清完整.pdf版下载
2017-03-12
windows-use-vim-ctags-and-git
2016-08-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人