自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (3)
  • 收藏
  • 关注

转载 网卡驱动·linux内核网络分层结构

Preface   Linux内核对网络驱动程序使用统一的接口,并且对于网络设备采用面向对象的思想设计。   Linux内核采用分层结构处理网络数据包。分层结构与网络协议的结构匹配,既能简化数据包处理流程,又便于扩展和维护。内核网络结构   在Linux内核中,对网络部分按照网络协议层、网络设备层、设备驱动功能层和网络媒介

2016-09-26 17:18:48 220

转载 DM9000A网卡驱动框架源码分析

首先分析一下Linux网络设备的结构,如下图: 网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发送数据,并通过netif_rx()函数接受数据。这一层的存在使得上层协议独立于具体的设备。 网络设备接口层向协议接口层提供统一的用于描述具体网络设备属性和操作的结构体net_device,该结构体是设备

2016-09-26 16:57:38 793

转载 浅谈 Linux 内核开发之网络设备驱动

网络设备介绍网络设备是计算机体系结构中必不可少的一部分,处理器如果想与外界通信,通常都会选择网络设备作为通信接口。众所周知,在 OSI(Open Systems Interconnection,开放网际互连)中,网络被划分为七个层次,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。我们所讲的网络设备也包括两个层次,一层叫做 MAC(Media Access Con

2016-09-26 16:33:05 238

转载 Linux内核哈希表分析与应用

Linux内核哈希表分析与应用Author:tiger-johnTime:2012-12-20mail:jibo.tiger@gmail.comBlog:http://blog.csdn.net/tigerjb/article/details/8450995转载请注明出处。前言:1.基本概念:散列表(Hash table,也叫哈希

2016-09-26 10:27:30 596

转载 网络数据包收发流程(四):协议栈之packet_type

进入函数netif_receive_skb()后,skb正式开始协议栈之旅。先上图,协议栈大致过程如下所示:跟OSI七层模型不同,linux根据包结构对网络进行分层。比如,arp头和ip头都是紧跟在以太网头后面的,所以在linux协议栈中arp和ip地位相同(如上图)但是在OSI七层模型中,arp属于链路层,ip属于网络层..... 这里就不死抠概念,我们就说arp,ip都

2016-09-20 10:26:35 491

转载 网络数据包收发流程(三):e1000网卡和DMA

一、硬件布局每个网卡(MAC)都有自己的专用DMA Engine,如上图的 TSEC 和 e1000 网卡intel82546。上图中的红色线就是以太网数据流,DMA与DDR打交道需要其他模块的协助,如TSEC,PCI controller以太网数据在 TSECDDR  PCI_ControllerDDR 之间的流动,CPU的core是不需要介入的只有在数据流动结束时(接收完、

2016-09-20 10:23:06 502

转载 网络数据包收发流程(二):不配置NAPI的情况

上一篇讲的是内核配置成NAPI的情况,那也是绝大多数内核使用的配置现在讲讲内核不配置成NAPI时的情况一、no NAPI 数据结构不配置NAPI的时候,网络设备不使用自己的napi_struct结构,所有网络设备驱动都使用同一个napi_struct,即cpu私有变量__get_cpu_var(softnet_data).backlog每当收到数据包时,网络

2016-09-20 10:17:31 274

转载 网络数据包收发流程(一):从驱动到协议栈

一、硬件环境intel82546:PHY与MAC集成在一起的PCI网卡芯片,很强大bcm5461:   PHY芯片,与之对应的MAC是TSECTSEC:      Three Speed Ethernet Controller,三速以太网控制器,PowerPc 架构CPU里面的MAC模块            注意,TSEC内部有DMA子模块  话说现在的CPU越来越牛

2016-09-20 10:14:11 501

转载 Linux 网络协议栈协议的处理

简介:记录一下 Linux 网络协议栈中对于协议的处理。Table of Contents1 Overview1.1 网络协议栈模型1.2 协议 handler 在内核中的组织方式2 协议 Handler 的注册、注销和使用2.1 协议的表示 packet_type:2.2 协议的注册2.3 协议的注销2.4 协议 Handl

2016-09-20 09:37:57 687

转载 Linux网络协议栈之数据包处理过程

Linux网络协议栈之数据包处理过程   1 前言本来是想翻译《 The journey of a packet through the linux 2.4 network stack 》 这篇文章的。但在查阅相关的资料时,发现需要补充一些技术细节,才使得我这种菜鸟理解更加深刻,所以综合了上面两篇文档,在加上自己的裁减和罗嗦,就有了下面的文字。我不知道这是否

2016-09-19 19:03:18 1265

转载 Linux网络中通知链的使用

Linux 网络内核代码中使用了通知链(Notification Chains)来使相关的子系统对感兴趣的事件作出反应。下面从头介绍一下通知链的使用。数据结构定义通知链使用的数据结构如下:struct notifier_block {    int (*notifier_call)(struct notifier_block *, unsigned long, void *);

2016-09-18 10:44:26 269

转载 Linux内核通知链机制的原理及实现

一、概念:    大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而不能够在内核与用户空间之间进行事件的通知。 通知链表是一个函数链表,链表上的每一个节点都注册了一个函数。当某个事情发生时,链表上所有节点对应的函数就会

2016-09-18 10:26:19 235

转载 Linux网络编程必看书籍推荐

首先要说讲述计算机网络和TCP/IP的书很多。 先要学习网络知识才谈得上编程讲述计算机网络的最经典的当属Andrew S.Tanenbaum的《计算机网络》第五版,这本书难易适中。《计算机网络(第5版)》是国内外使用最广泛、最权威的计算机网络经典教材。目前已经是第五版,本书作者80年代就开发出MINIX,是一个用于操作系统教学的类UNIX(的小型操作系统。而

2016-09-09 12:02:50 313

转载 Linux makefile 教程 非常详细,且易懂

最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。            于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。           后记,看完发现这篇文章和《Linux环境下的C编程指南》的makefile一章所讲述的惊人的相似,只是这篇文章从一个实例切入,在有些地方比

2016-09-07 17:53:10 373

转载 改变你思维模式的书单

阅读推荐】改变你思维模式的书单《你以为你以为的就是你以为的吗?2》《你以为你以为的就是你以为的吗?2》是思维大师朱立安 `巴吉尼继畅销书《你以为你以为的就是你以为的吗?》之后的又一部力作。这部具有颠覆性与挑战性的作品揭露了热门论战中的8种思维陷阱,破解了那些看似有理,实则糟糕的谬误言论。《你以为你以为的就是你以为的吗?2》中标举了近百个精彩热点的实例,如"一只中

2016-09-02 17:12:15 4832

原创 好的博客

http://www.cnblogs.com/lcw/p/4507897.html

2016-09-02 17:09:21 237

转载 三色需求

【格局视野】三色需求与工作层次三色需求  人们的社会经济生活本身就是一个互相交换,价值传递的循环,但这个循环有一个核心,这个核心就是社会大众的需求,也可以称为市场需求,围绕这个需求产生了层级递进的需求关系。第一个层次是蓝色需求是最基础的社会大众的需求,也可以称为市场需求。这个需求可以是全体社会大众的,也可以是其中一部分人的需求,或一小部分人的。比如,全体大众

2016-09-02 17:06:57 433

Probe windows安装软件

Probe windows安装软件

2023-05-07

Dstream对应的调试软件DS-5-INSTALL2,win32版本

Dstream对应的调试软件DS-5-INSTALL2,win32版本

2023-03-04

Dstream对应的调试软件DS-5-INSTALL1,win32版本

Dstream对应的调试软件DS-5-INSTALL1,win32版本

2023-03-04

A53 GLIBC软浮点交叉编译工具;

A53 GLIBC软浮点交叉编译工具;

2022-09-28

u-boot文件用于gdb

u-boot文件用于gdb

2022-05-22

linux+A53+GLIBC+交叉编译工具

linux+A53+GLIBC+交叉编译工具

2022-05-20

STM范例代码

STM32本身的外设驱动有点乱,可以采用更模块化的设计方法将驱动重写

2017-11-21

空空如也

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

TA关注的人

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