![](https://img-blog.csdnimg.cn/4fcfb092e1c04b9e8b103e431f4bc1ce.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
网络技术学习
文章平均质量分 95
了解整个网卡注册使用在Linux内核中涉及到的架构,以及工作中数据流的走向。持续更新!!
欢迎您来到网络世界!
Bazinga bingo
自律的顶端是孤独,孤独的顶端是自由
展开
-
Linux网络技术学习(六)—— 网络设备初始化(II)
文章目录初始化选项模块选项设备处理层初始化:net_dev_init用户空间辅助程序kmod解析热插拔虚拟设备虚拟设备范例通过/proc文件系统调整初始化选项内核内建的组件以及模块加载的组件都能输入参数,使用户调整组件所实现的功能、重写默认值等模块选项(module_param系列的宏)使用module_param宏可以在文件系统中/sys文件夹下生成变量选项,通过这些文件在运行期间配置这些选项向内核提供这些配置选项。引导期间内核选项(__setup系列的宏)在引导加载程序引导期间可以提供这些原创 2023-02-16 12:33:52 · 1064 阅读 · 0 评论 -
Linux网络技术学习(五)—— 网络设备初始化(I)
在之前介绍的硬件中断函数request_irq函数就是包含__setup_irq的包裹函数,用一个irqaction结构体输入,然后将其插入至一个全局变量irq_desc。一组设备共享一条IRQ线时,所有这些设备的设备驱动程序都必须能力处理共享的IRQ(换言之,每当一个设备注册要使用一条IRQ线时,就必须明确说明其是否支持中断共享。在系统中,设备驱动程序会在队列空间缺乏时关闭传输,同时要求NIC当可用内存大于给定量时(设备的MTU)发出一个中断,然后当中断到来时重启传输。会注册一个处理函数。原创 2023-02-14 22:03:17 · 1103 阅读 · 0 评论 -
Linux网络技术学习(四)—— 用户空间与内核的接口
内核通过各种不同的接口把内部信息输出到用户空间。原创 2022-09-03 23:03:26 · 979 阅读 · 0 评论 -
Linux网络技术学习(三)—— 通知链
文章目录使用通知链的原因什么是通知链?定义链链注册链上的通知事件网络子系统的通知链inetaddr_chainnetdev_chain参考文献使用通知链的原因图中是带有4个接口的Linux路由器。显示该路由器与5个网络之间的联系。网络A直接连接至RT的接口eth0,而网络F没有直接连接到RT,但是RT的eth3直接连接至另一个路由器,其接口的地址为IP1,并且第二路由器知道怎么联系网络F。总之,有些网络是直接连接的,而其他的网络则需要一个或多个附加的路由器协助才能联系到。假设接口eth3由于网原创 2022-03-22 23:19:10 · 1108 阅读 · 0 评论 -
Linux网络技术学习(二)—— net_device数据结构解析
文章目录网络设备:net_device数据结构net_device数据结构定义文件位置net_device数据结构分布标识符int ifindexunsigned short dev_id配置char name[IFNAMSIZ]unsigned long mem_startunsigned long mem_endunsigned long base_addrunsigned char if_portunsigned char dmaunsigned short flagsunsigned short g原创 2022-03-20 11:08:45 · 5693 阅读 · 0 评论 -
Linux网络技术学习(一)—— sk_buff数据结构解析
文章目录Linux网络代码中结构体套接字缓冲区:sk_buff数据结构sk_buff数据结构定义文件位置sk_buff数据结构分布sk_buff数据结构在传输中的流程网络选项以及内核结构布局字段sk_buff_head结构体struct sock *skunsigned int lenunsigned int data_lenunsigned int mac_lenatomic_t usersunsigned int truesizeunsigned int tailunsigned int endunsi原创 2022-03-19 12:37:30 · 4375 阅读 · 0 评论