Linux网络驱动程序】的更多相关文章

Linux 的网络系统主要是基于 BSD UNIX 的套接字机制. 在系统与驱动程序之间定义了数据结构 sk_buff 进行传输数据.系统支持对发送数据和接收数据缓存,提供流控机制并提供对多协议的支持. 1. linux 网络驱动程序的体系结构 层.各层作用例如以下: (1)      网络协议接口层向网络层协议提供统一的数据包收发接口.不论上层是IP还是ARP.都通过 dev_queue_xmit 函数发送数据.并通过 net_rx 函数接收数据.这一层的存在使得上层协议独立于详细的设备. (…
本文代码参考<LINUX设备驱动程序>第十七章 网络驱动程序 网络地址和虚拟主机地址为: snullnet0 192.168.0.0 snullnet1 192.168.1.0 local0 192.168.0.1 remote0 192.168.0.2 local1 192.168.1.2 remote1 192.168.1.1 注:ldd自带网络驱动程序中的很多函数和数据结构在最新2.6.32内核上有所变动,导致编译不通过. 修改源码参考:http://blog.csdn.net/xieb…
Linux网卡驱动程序编写 [摘自 LinuxAID] 工作需要写了我们公司一块网卡的Linux驱动程序.经历一个从无到有的过程,深感技术交流的重要.Linux作为挑战微软垄断的强有力武器,日益受到大家的喜爱.真希望她能在中国迅速成长.把程序文档贴出来,希望和大家探讨Linux技术和应用,促进Linux在中国的普及. Linux操作系统网络驱动程序编写 一.Linux系统设备驱动程序概述 1.1 Linux设备驱动程序分类 1.2 编写驱动程序的一些基本概念 二.Linux系统网络设备驱动程序…
接收到帧时通知驱动程序     在网络环境中.设备(网卡)接收到一个数据帧时,须要通知驱动程序进行处理. 有一下几种通知机制: 轮询:     内核不断检查设备是否有话要说.(比較耗资源,但在一些情况下却是最佳方法) 中断:     特定事件发生时,设备驱动程序代表内核指示设备产生硬件中断,内核中断其他活动满足设备的须要. 多数网络驱动程序使用中断. 中断期间处理多帧:     中断被通知.且驱动程序运行. 然后保持帧的接收(加载),直到输入队列达到指定的数目.或者一直做下去知道队列清空.或者经…
基本介绍 第三类是标准的网络接口Linux设备,本章介绍的内核,其余的交互网络接口描述 网络接口,必须使用特定的内核数据结构本身注册,与外部分组交换数据线打电话时准备 经常使用的文件上的网络接口操作是没有意义的,因此在它们身上无法体现Unix的"一切都是文件"的思想 网络驱动程序异步自外部世界的数据包 网络设备向内核请求把外部获得的数据包发送给内核 Linux内核中的网络子系统被设计成全然与协议无关 在网络世界中使用术语"octet"指一组8个的数据位.它是能为网络…
4.linux网络设备驱动程序体系结构 -------------------------------------- | 数据包发送 | 数据包接收 | ----->网络协议接口层 | dev_queue_xmit() | netif_rx() | |-------------------------------------- | 结构体 net_device | ----->网络设备接 口层 -------------------------------------- | 数据包发送 | 中…
本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(发送端) (4)QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(接收端) 1. 测试环境 1.1 总体环境 宿主机:Ubuntu Linux/KVM + VxLAN + Linu…
本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(发送端) (4)QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(接收端) 第一篇文章总结了Linux 网络协议栈的概括和功能.本文总结非虚拟化环境中的各种 Segmentatio…
c语言: 基础篇 1.<写给大家看的C语言书(第2版)> 原书名: Absolute Beginner's Guide to C (2nd Edition) 原出版社: Sams 作者: (美)Greg Perry    [作译者介绍] 译者: 谢晓钢 刘艳娟 丛书名: 图灵程序设计丛书 C/C++系列 出版社:人民邮电出版社 ISBN:9787115216359上架时间:2009-12-10出版日期:2010 年1月开本:16开页码:308 说明:这本是入门最好的,最简单,最好懂 2.<…
1.选择路由 若要将数据包发至PC2,则linux系统通过查询路由表可知168.1.1.10(目的地址)的网关地址为192.168.1.1,此时linux系统选择网卡1发送数据包. 2.邻居子系统(通过arp协议建立起邻居的信息) 选择网卡1发送数据时,首先将数据包发给邻居(网关),再由邻居转发至后面,若要发送给邻居,则必须知道邻居的MAC地址,若不知道邻居的MAC地址,则需要通过arp请求包获取邻居的MAC地址. Linux网络体系结构由以下五个部分组成 1)系统调用接口 2)协议无关接口 3…