• qe工程师工作总结 > 接口:以太网
  • 接口:以太网

    免费下载 下载该文档 文档格式:PDF   更新时间:2011-06-09   下载次数:0   点击次数:1
    文档基本属性
    文档语言:English
    文档格式:pdf
    文档作者:Gayle Jones
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    下载
    第4章 接口:以太网
    4.1 引言
    在第3章中,我们讨论了所有接口要用到的数据结构及对这些数据结构的初始化.在本章 中,我们说明以太网设备驱动程序在初始化后是如何接收和传输帧的.本章的后半部分介绍 配置网络设备的通用 ioctl命令.第5章是SLIP和环回驱动程序. 我们不准备查看整个以太网驱动程序的源代码,因为它有大约 1 000行C代码(其中有一半 是一个特定接口卡的硬件细节 ),但要研究与设备无关的以太网代码部分,及驱动程序是如何 与内核其他部分交互的. 如果读者对一个驱动程序的源代码感兴趣, N e t / 3版本包括很多不同接口的源代码.要想 研究接口的技术规范,就要求能理解设备专用的命令.图 4-1所示的是 Net/3提供的各种驱动程 序,包括在本章我们要讨论的 LANCE驱动程序. 网络设备驱动程序通过 i f n e t结构(图3 - 6 )中的7个函数指针来访问.图 4 - 2列出了指向我 们的三个例子驱动程序的入口点. 输入函数不包含在图4-2中,因为它们是网络设备中断驱动的.中断服务例程的配置与硬件相 关,并且超出了本书的范围.我们要识别处理设备中断的函数,但不是这些函数被调用的机制.
    设 备 文 件
    DEC DEUNA接口 3Com以太网接口 Excelan EXOS 204接口 Interlan以太网通信控制器 Interlan NP100以太网通信控制器 Digital Q-BUS to NI适配器 CMC ENP-20以太网控制器 Excelan EXOS 202 (VME) & 203 (QBUS) ACC VERSAbus以太网控制器 AMD 7990 LANCE接口 NE2000以太网 Western Digital 8003以太网适配器
    vax/if/if_de.c vax/if/if_ec.c vax/if/if_ex.c vax/if/if_il.c vax/if/if_ix.c vax/if/if_qe.c tahoe/if/if_enp.c tahoe/if/if_ex.c tahoe/if/if_ace.c hp300/dev/if_le.c i386/isa/if_ne.c i386/isa/if_we.c
    图4-1 Net/3中可用的以太网驱动程序
    ifnet if_init if_output if_start if_done if_ioctl if_reset if_watchdog 以 太 网 leinit ether_output lestart leioctl lereset SLIP 环 回 说 明
    slouput
    looutput
    slioctl
    lcioctl
    硬件初始化 接收并对传输的帧进行排队 开始传输帧 输出完成 (未用) 处理来自一个进程的 i o c t l命令 把设备复位到已知的状态 监视设备故障或收集统计信息
    图4-2 例子驱动程序的接口函数
    下载
    第 4章 接口:以太网计计
    75
    只有函数 i f _ o u t p u t和i f _ i o c t l被经常地调用.而 i f _ i n i t,i f _ d o n e和 i f _ r e s e t从来不被调用或仅从设备专用代码调用 (例如:l e i n i t直接被l e i o c t l 调用).函数if_start仅被函数ether_output调用.
    4.2 代码介绍
    以太网设备驱动程序和通用接口 i o c t l的代码包含在两个头文件和三个 C文件中,它们列 于图4-3中.
    文 件 说 明
    net/if_ether.h net/if.h net/if_ethersubr.c hp300/dev/if_le.c net/if.c
    以太网结构 i o c t l命令定义 通用以太网函数 LANCE以太网驱动程序 i o c t l处理
    图4-3 在本章讨论的文件
    4.2.1 全局变量 显示在图4-4中的全局变量包括协议输入队列, LANCE接口结构和以太网广播地址.
    变 量 数据类型 struct ifqueue struct ifqueue struct ifqueue struct le_softc[] u_char[] 说 明
    arpintrq clnlintrq ipintrq le_softc etherbraodcastaddr

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • qe工程师的工作流程  qe工程师工作职责  qe工作总结  qe工程师有那七大手法  qe工程师待遇  qe工程师职责  qe工程师入职试题  qe工程师是什么意思  qe工程师前景