电信级以太网OAM概要设计说明书.doc_第1页
电信级以太网OAM概要设计说明书.doc_第2页
电信级以太网OAM概要设计说明书.doc_第3页
电信级以太网OAM概要设计说明书.doc_第4页
电信级以太网OAM概要设计说明书.doc_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软软软软件件件件概概概概要要要要设设设设计计计计说说说说明明明明书书书书 模块名称:模块名称: 电电信信级级以太网以太网 OAM 编编 写写 人:人: 文件编号:文件编号: 版版 本本 号:号: 时时 间间 : 2007-12-2 目录目录 软软软软 件件件件 概概概概 要要要要 设设设设 计计计计 说说说说 明明明明 书书书书.1 1. 前言.1 1.1. 文档说明.1 1.2. 项目背景.1 1.3. 术语定义和缩略语说明.1 1.4. 参考资料.3 2. 任务概述.4 2.1. 目标.4 2.2. 需求概述.4 2.3. 条件与限制.4 3. 总体设计.5 3.1. 总体结构和模块外部设计.5 3.1.1. 总体结构设计5 3.1.2. 模块概要设计6 3.2. 功能分配.7 4. 接口设计.8 4.1. 外部接口.8 4.1.1. OAM 运行状态控制 8 4.1.2. OAM 网管参数的设置与读取 8 4.1.3. 其它模块提供给本软件调用的接口8 4.2. 内部接口.9 4.2.1. OAM 初始化 9 4.2.2. MEPprocessEqualCCM()函数9 4.2.3. MEPprocessLowCCM()函数9 4.2.4. ProcessLBM().9 4.2.5. xmitLBM()9 4.2.6. 函数 ProcessLBR()9 4.2.7. 函数 xmitFaultAlarm()10 4.2.8. 函数 xmitLTM()10 4.2.9. 函数 ProcessLTR()10 4.2.10. 函数 ProcessLtm().10 4.2.11. 函数 clearPendingLTRs()10 4.2.12. 函数 enqueLTR().10 4.2.13. 函数 xmitOldestLTR().10 4.2.14. OSAL 提供的函数.10 5. 数据结构设计.12 5.1. 全局变量定义及说明.12 5.1.1. 各模块判断条件全局变量说明12 5.1.2. MEP 全局变量定义说明 .12 5.1.3. 连续性检测发起者全局使用的变量(continuity check initiator) .14 5.1.4. MEP/MHF 连续性检测接受者变量14 5.1.5. 远端 MEP 变量及说明 .15 5.1.6. 远端 MEP 错误变量定义及说明 .15 5.1.7. MEP 交叉连接变量 .16 5.1.8. MP 环回响应者变量定义及说明16 5.1.9. MEP 环回发起者变量定义及说明 .16 5.1.10. MEP 故障通知发生者变量定义及说明 .17 5.1.11. MEP 链路跟踪发起者变量 .17 5.1.12. MEP LTR 接收者变量.17 5.1.13. 链路跟踪响应者变量定义及说明18 5.2. 结构体定义及说明.18 5.2.1. 以太网头部18 5.2.2. 以太网 OAM 头部 18 5.2.3. TLV 详细定义19 5.2.4. MA (MEG)ID(名称对应见附录).20 5.2.5. MEP 结构体 .24 5.2.6. 远端 MEP 结构体 .25 5.2.7. CCM 结构体.26 5.2.8. LBM/LBR 结构体28 5.2.9. 出入口结构体30 5.2.10. ltmReplyList 结构体.31 5.2.11. LTM 结构体.32 5.2.12. LTR 结构体34 5.2.13. FNG 结构体35 5.2.14. LCK 结构体37 5.2.15. ltmReplyList 结构体.38 5.2.16. 定时器38 5.3. 枚举类型定义.38 5.3.1. highestDefect 说明不同缺陷的优先级 .38 5.3.2. recvdPortState 说明接收端口状态39 5.3.3. recvdInterfaceStatus 说明接收接口状态.39 5.3.4. rMEPlastPortState 说明接收到的 CCM 中端口状态 TLV 的值.40 5.3.5. rMEPlastInterfaceStatus 说明接收到的 CCM 中接口状态 TLV 的值41 5.3.6. fngDefect.41 5.3.7. ltrRelayAction 返回的 LTR 的 Relay Action 字段.42 5.3.8. ltrIngressAction 返回的 LTR 中 Reply IngressTLV 的 Ingress Action 字段.42 5.3.9. ltrIngressPorIdSubtype43 5.3.10. ltrEgressAction43 5.3.11. ltrEgressPortIdSubtype .44 5.4. 定时器.45 6. 逻辑结构设计.47 6.1. CFM管理对象47 6.1.1. 读 CFM 配置.48 6.1.2. 建立维护域管理对象48 6.1.3. 删除维护域管理对象49 6.2. CFM栈管理对象49 6.2.1. 读 CFM 栈管理对象.49 6.3. 默认MD level 管理对象(VID : VLAN identifier).50 6.3.1. 读默认 MD level 管理对象 .50 6.3.2. 写默认 MD level 管理对象 51 6.3.3. 输入51 6.4. 维护域管理对象.52 6.4.1. 读维护域管理对象52 6.4.2. 写维护域管理对象53 6.4.3. 创建维护集管理对象53 6.4.4. 删除维护集管理对象54 6.5. 维护集管理对象.55 6.5.1. 读维护集管理对象55 6.5.2. 写维护集管理对象56 6.5.3. 建立维护集端点管理对象56 6.5.4. 删除维护集端点管理对象57 6.6. 维护集端点管理对象.58 6.6.1. 读维护集端点管理对象58 6.6.2. 写维护集端点管理对象60 6.6.3. 传输环回消息60 6.6.4. 传输链路跟踪消息61 6.6.5. 读链路跟踪响应62 6.6.6. 读 MEP 数据库 .63 6.6.7. 发送 MEP 故障告警 .64 7. 物理结构设计.66 8. 模块详细设计.67 8.1. 连续性检测发起者模块状态机.67 8.2. MHF连续性检测接收者模块状态机68 8.3. MEP连续性检测接收者模块状态机.70 8.4. 远端MEP模块状态机.71 8.5. 远端MEP错误模块状态机.74 8.6. MEP交叉连接模块.75 8.7. MP环回响应者模块状态机.77 8.8. MEP环回发起者发送状态机.79 8.9. MEP环回发起者接收模块.80 8.10. MEP故障通知发生者模块状态机.82 8.11. MEP故障通知接收者模块状态机.85 8.12. MEP链路跟踪发起者模块状态机.87 8.13. MEP LTR接收者模块状态机.87 8.14. LTR发送者状态机89 8.15. LTM接收者模块状态机.90 8.16. LCK发起者模块状态机.92 8.17. LCK接收者模块状态机.94 9. 出错处理设计.96 9.1. 出错输出信息.96 9.2. 出错处理对策.96 10. 维护设计.97 软软件概要件概要设计说设计说明明书书 第第 0 页页 1. 前言前言 1.1.文档说明文档说明 本文档旨在进行 OAM 软件模块的概要设计,该文档可以供需要 OAM 的研发和测试及 工程人员使用。 1.2.项目背景项目背景 应包括 项目的由交换机软件组承担; 该软件系统相对较独立,主要多使用系统调用。 1.3.术语定义和缩略语说明术语定义和缩略语说明 AIS:告警指示信号; APS:自动保护倒换; CC:连续性检测功能; CCM:连续性检测消息; CE:客户边缘; DA:目的 MAC 地址; DM:延时测量; ETH:以太网 MAC 层; ETY:以太网物理层; EXM:实验用 OAM 消息; EXP:实验用 OAM 功能; EXR:实验用 OAM 响应; FP:流点; LBM:环回消息; LCK:锁定信号功能; LM:丢失性测量; LMI:本地管理接口; LMM:丢失性测量消息 武武汉汉烽火网烽火网络络有限有限责责任公司任公司 第第 1 页页 LMR:丢失性测量响应; LOC:连续性丢失; LT:链路跟踪; LTM:链路跟踪消息; LTR:链路跟踪响应; MA:维护集; MAID:维护集标识; MD:维护域; ME:维护实体; MEP:维护集端点; MEPID:维护集端点标识; MCC:维护通信通道; MHF:MIP 半功能; MIB:管理信息库; MIP:维护中间点; MP:维护点; OAM: 运营、管理、维护; OUI:组织唯一标识符; PDU:协议数据单元; PHY:以太网物理层实体; PRBS:Pseudo random bit sequence 伪随即比特序列; RDI:随机缺陷指示; SA:源 MAC 地址; STP:生成树协议; TC:流量调节; TFP:终结流点; TLV:类型、长度和值; TST:测试协议数据单元; TTL:生存时间; UNI:用户网络接口; UNI-C:用户侧 UNI; 软软件概要件概要设计说设计说明明书书 第第 2 页页 UNI-N:网络侧 UNI; VID:VLAN identifier; VSP:设备制造商专用 OAM 功能。 1.4.参考资料参考资料 编号编号资料名称资料名称简介简介出版单出版单 位位 1 1 GB2005H19,以太网运行、管理和维护(OAM)技术要求(送审稿) 。 GB2005H19 标准文本 中华人 民共和 国信息 产业部 2 2 ITU-T Recommendation Y.1731(formerly Y.17ethoam),OAM functions and mechanisms for Ethernet based networks. Y.1731 协 议文本 ITU-T 3 3ITU-T G.8021/Y.1341 Characteristics of Ethernet transport network equipment functional blocks. G.8021 协 议文本 ITU-T 4 4 ITU-T G.8010 ETH层架构 G.8010 协 议文本 ITU-T 5 5IEEE P802.1ag/D6.9Draft Standard for Local and Metropolitan Area Networks Virtual Bridged Local Area Networks Amendment 5:Connectivity Fault Management. 802.1ag 协 议文本 IEEE 6 6 Technical Specification MEF x.0,Service OAM Performance Monitoring Implementation Agreement,Draft 0.1 - September 18, 2007. MEF 16 E- LMI 协议文 本 MEF 武武汉汉烽火网烽火网络络有限有限责责任公司任公司 第第 3 页页 2. 任务概述任务概述 2.1.目标目标 遵照 GB2005H19 和 802.1ag 标准,实现 OAM 协议。 能够实现协议标准的连续性检测功能、环回功能监视功能、链路跟踪功能、性能监控 功能、告警指示功能、OAM MIB 变量恢复功能和 OAM 发现功能,通过主流测试仪表(Test center、IXIA)的一致性测试。 2.2.需求概述需求概述 需要生成 GB2005H19 和 802.1ag 定义的 OAM 的功能;通过最基本的连续性检测功 能、环回功能监视功能、链路跟踪功能、性能监控功能、告警指示功能,与网管、保护倒 换等其他外部需求联动,通过提供的外部接口提供判决条件,组合实现更多功能。 2.3.条件与限制条件与限制 该 OAM 模块的设计中维护域的分层使用 IEEE802.1ag 的分法,即 02 为客户,3、4 为供应商,57 为运营商。 本 OAM 功能适用于使用网络管理系统和运营支持系统来管理的 ETH 层环境。同时需 要 ITU-T G.8010 中对以太网的描述作为 ETH 层的结构基础。 软软件概要件概要设计说设计说明明书书 第第 4 页页 3. 总体设计总体设计 3.1.总体结构和模块外部设计总体结构和模块外部设计 3.1.1.总体结构设计总体结构设计 Loopback模模块块 MEP Loopback发发 起起者者发发送送 MEP Loopback接接 收收者者接接收收 MP Loopback响响应应 模模块块 状状态态机机状状态态机机状状态态机机 MEP Fault Notification模模块块 MEP故故障障通通知知发发起起者者MEP故故障障通通知知接接收收者者 状状态态机机状状态态机机 Linktrace模模块块 MEP Linktrace 发发起起者者 MEP LTR 接接收收者者 LTM接接收收 者者 LTR发发送送 者者 LT响响应应者者 状状态态机机状状态态机机状状态态机机 主主程程序序 输输入入:从从HAL获获得得OAM类类型型的的数数 据据包包 输输出出:Interface Management。设设 置置端端口口的的管管理理对对象象属属性性、发发送送CCM LTM LTR LBM LBR FN等等各各种种类类 型型的的OAM帧帧、提提供供自自动动保保护护倒倒换换的的 驱驱动动信信号号。 网网管管行行为为 可可以以为为网网管管提提供供性性能能管管理理参参数数、故故障障告告 警警信信号号。 定定时时器器 状状态态机机状状态态机机 CC模模块块 MHF CC 接接收收者者 MEP CC 接接收收者者 远远端端MEP 状状态态 远远端端MEP 错错误误 CC发发起起者者 状状态态机机状状态态机机状状态态机机状状态态机机状状态态机机 OAM分发模 块 OAM解析模 块 LCK模块 LCK发起者LCK接收者 状态机状态机 武武汉汉烽火网烽火网络络有限有限责责任公司任公司 第第 5 页页 黄色部分代表外部对本模块的输入或者本模块对外的输出。灰色表示本模块所要完成 的功能。由于定时器在本模块中的特殊地位,它会与本模块中各个组成部分发生联系。 本模块为单任务模块,并处于控制平面,从数据平面获得数据。 整个数据流程为: 1.从 HAL(硬件适配层,hardware adaptation layer)收到 OAM 类型的数据包, 首先进行解析;对应不同的 OpCode,将数据包送给不同的功能模块进行处理; 此时功能模块可能会调用主程序(主程序会循检网管行为的触发事件、对管 理对象进行操作包括各级管理对象的添加删除等)和定时器(调用定时器, 重置定时器等操作) ,完成以上操作之后,将处理后的结果传给分发模块;该 模块将构造好的数据包传给 interface management 或者 HAL 发出。 2.主程序因为会循检网管的触发行为,那么数据流程为:网管发出触发行为, 该行为直接导致功能模块具体功能函数被调用,功能模块完成具体功能后, 将结果输出给分发模块,该模块将构造好的数据包传给 interface management 或者 HAL 发出。 通过以上过程之后,一个完整的 OAM 数据流程完成。 3.1.2.模块概要设计模块概要设计 .主程序模块主程序模块 主程序模块主要执行的功能包括: 1.OAM 模块的内存空间分配; 2.循检网管的触发事件; 3.对管理对象进行操作。 .功能模块功能模块 该模块包括 5 个子模块,它们分别完成:CC、FN、LT、LB、LCK、RDI 等功能。具体实 现各个定义的功能。 (1.可能要增加 ETH-test 功能模块,相应的要增加 TST 帧。2应该要 增加 LM 功能模块,用以实现 Y1731 定义的丢失性测量功能) .分发模块分发模块 将功能模块处理的结果构造成相应的 CCM、FNG、LTM、LTR、LBM、LBR 等种类的消 息,并发送出去。 .解析模块解析模块 软软件概要件概要设计说设计说明明书书 第第 6 页页 将从 HAL 接收到的数据帧进行解析,对应操作码,将相应的数据帧发送给不同的功能模块。 3.2.功能分配功能分配 表明各项功能与程序结构的关系 各项功能中有五项基本功能在程序结构中以独立的模块化形式存在,OAM MIB 变量恢 复功能和 OAM 发现功能分别需要通过与网管和五项基本功能组合来实现。 武武汉汉烽火网烽火网络络有限有限责责任公司任公司 第第 7 页页 4. 接口设计接口设计 4.1.外部接口外部接口 4.1.1.OAM 运行状态控制运行状态控制 详见第 6 节,对各个管理对象的管理即为对 OAM 运行的控制。 4.1.2.OAM 网管参数的设置与读取网管参数的设置与读取 每个能读取的参数都有一个读取函数供网管使用; 每个能设置的参数也都有一个设置函数供网管使用。 能够触发 OAM 发生变化的网管操作包括: 维护端点创建; 维护集级别配置; 各个功能模块的使能; 各个功能模块消息的优先级设置; 各个功能模块参数设置; 各个功能模块的禁用; 4.1.3.其它模块提供给本软件调用的接口其它模块提供给本软件调用的接口 .OS 相关的函数相关的函数 (1)semMCreate/semTake/semGive 这 3 个函数是 vxworks 操作系统提供的用于信号量创建、获取、释放的函数,其函 数原型以及使用说明请参见 vxworks 说明文档; (2)malloc、free、memset、memcpy、memcmp、strlen、strcpy 这是 C 语言提供的内存分配、内存释放、内存赋值、内存复制、内存比较、取字符串长度、 字符串复制函数,关于这些函数的使用说明请参见 C 语言的库说明文档 .OSAL 提供的函数提供的函数 (1)TmrCreateTimerList、TmrStartTimer、TmrStopTimer、TmrGetNextExpiredTimer 软软件概要件概要设计说设计说明明书书 第第 8 页页 这是 OSAL 模块提供的定时器队列创建、启动定时器、停止定时器、从定时器中获取一个 超时定时器并将该定时器节点从超时列表中删除的函数,关于这些函数的使用说明,请参 见 OSAL 中的说明文档。 (2 )tTMO_SLL_NODE、tTMO_SLL 这是 OSAL 模块提供的链表的创建及其他操作函数。 (3)BufAllocate、BufAllocateLinear、BufRelease 这是 OSAL 模块提供的关于 Buffer 的分 配与释放的相关函数 4.2.内部接口内部接口 4.2.1.OAM 初始化初始化 建立一个 OAM 开关,在接口初始化之前初始化 OAM 4.2.2.MEPprocessEqualCCM()函数()函数 只要在MEP的MD level接收到CCM,函数MEPprocessEqualCCM()使用MEP连续性检测 接受者状态机。函数MEPprocessEqualCCM()要处理的CCM内容在CCMequalPDU中。 4.2.3.MEPprocessLowCCM()函数()函数 只要在MEP的MD level接收到CCM,函数MEPprocessEqualCCM()使用MEP连续性检测 接受者状态机。函数MEPprocessLowCCM()要处理的CCM内容在CCMlowPDU中。 4.2.4.ProcessLBM() 当接收到一个LBM时,该函数使用MP环回响应者状态机。ProcessLBM()会处理 LBMPDU。 4.2.5.xmitLBM() 该函数使用 ProcessLBM()以发送一个 LBR。xmitLBM()从 LBM 获得信息构造一个 LBR, 放入 LBMPDU 中,并使用一个 M_UNITDATA.request 发送到 Active SAP。 4.2.6.函数函数 ProcessLBR() 只要有一个 LBR 被接收到,ProcessLBR()使用 MEP 环回发起者接收状态机。 ProcessLBR()处理在 LBRPDU 中的 LBR。如果 source_address 的 I/G bit 显示为一个组地址 或者 destination_address 不与接收 MP 的 MAC 地址匹配,那么接收到的 LBR 将被丢弃。 ProcessLBR()确认接收到的 LBR 并决定是否丢弃(如果 LBR 已损坏) 。ProcessLBR()对接 收到的 LBR 和 LBM 执行逆向 bit-by-bit 的比较,看是否环回处理标志符匹配,但不比较 OpCode 字段;如果它们不匹配,则增加一个管理对象。 武武汉汉烽火网烽火网络络有限有限责责任公司任公司 第第 9 页页 如果 LBR 没有被丢弃,并且 LBIactive 为 true,LBR 的环回处理标志符字段会和 expectedLBRtransID 相比较。如果比较执行,且两个值相等,则 expectedLBRtransID 和正 确接收的 LBRs(详见 :w)数加 1。如果比较执行,且两个值不等,则将接收到的 环回处理标志符字段值拷入 expectedLBRtransID,然后正确接收的 LBRs 数加 1(详见 :x) 。 4.2.7.函数函数 xmitFaultAlarm() 该函数使用故障通知发生者状态机。发送一个故障告警详见 6.6.7。MEP 的标志符和 fngDefect 变量(5.1.11)说明了故障告警的原因,并通过故障告警 PDU 发送出去。 4.2.8.函数函数 xmitLTM() 只要发送链路跟踪消息管理操作被调用,函数 xmitLTM()就被访问。它在 Active SAP 使用 M_UNITDATA.request 构造并发送一个 LTM。 4.2.9.函数函数 ProcessLTR() 只要一个 LTR 被接收,函数 ProcessLTR()使用 MEP LTR 接收者状态机。 4.2.10.函数函数 ProcessLtm() 当一个 LTM 被接收到,使用 LTM 接收者状态机。处理 LTM,决定是否让 ForwardLTM() 函数转发 LTM,并决定是否让 enqueLTR()不用等待而发送一个 LTR。 4.2.11.函数函数 clearPendingLTRs() 清除在 MP 中未处理的 LTRs 队列,并重置 nPendingLTRs 为 0。 4.2.12.函数函数 enqueLTR() 由 xmitOldestLTR()函数,构造和不排队等待的一个单一 LTR,稍后发送。 4.2.13.函数函数 xmitOldestLTR() 如果仅 nPendingLTRs 非零,从队列中跳出一个单一 LTR 并发送,然后将 nPendingLTRs 减 1。 软软件概要件概要设计说设计说明明书书 第第 10 页页 5. 数据结构设计数据结构设计 5.1.结构体定义及说明结构体定义及说明 5.1.1.以太网头部以太网头部 typedef struct EthernretHead u_char dst_MAC6; u_char scr_MAC6; u_int VlanFlag; u_int VlanValue; u_int EthernetType; ETH_HEAD; 5.1.2.以太网以太网 OAM 头部头部 typedef struct EthernetOAMHead #if HOST=OSIX_BIG_BEGIN u_char ver:5; u_char MAlevel:3; #else u_char ver:3; u_char MAlevel:5; #endif u_char OpCode; u_char Flag; u_char TLVvalue; ETHOAM_HEAD; 武武汉汉烽火网烽火网络络有限有限责责任公司任公司 第第 11 页页 5.1.3.TLV 详细定义详细定义 .数据数据 TLV 格式格式 typedef struct EthernetOAM_DataTLV u_char TLVType; u_int TLVLength; u_char DataStyle;/*该值应 GB 要求可以忽略,其长度任意*/ EthOAM_DataTLV; 下图所示为Y.1731中定义的TLV类型值。在END TLV中,类型域等于0,并且不使用 长度域和值域。 .测试测试 TLV 格式格式 typedef struct EthernetOAM_TestTLV u_char TLVType/*默认值为 32*/; int TLVLength; u_char styleType; u_char TestStyle 1479;/*用于装入测试数据*/ 软软件概要件概要设计说设计说明明书书 第第 12 页页 EthOAM_TestTLV; 样本类型: 表示测试样本类型,取值有: 0x00 不带 CRC-32 的 Null 信号 0x01 带 CRC-32 的 Null 信号 0x02 不带 CRC-32 的 PRBS 2-31-1 0x03 带 CRC-32 的 PRBS 2-31-1 0x04-0xff 保留,用于将来的标准化 .本地存储的本地存储的 TLV 值结构体值结构体 typedef struct EthernetOAMTLV u_char TLVType; int TLVLength; u_char TLVoffset;/*存储 TLV 的偏移量*/ u_char HeadLength; EthOAMTLV *NextTLV;/*用于存储期望的下一个 TLV 的地址*/ EthOAMTLV; 5.1.4.处于处于 CCM 中的中的 MA (MEG)ID(名称对应见附录名称对应见附录)结构体结构体 typedef struct EthernetOAMMA u_char reserved; u_char MAIDFormat; u_char MAIDLength; u_char ICC5;/*用于 ITU 运营商编码*/ u_char UMC5;/*唯一的 MA 标志符编码*/*ICC 和 UMC 合起来组成了 MA 标识符*/ u_char noting29;/*未用,全部为零*/ ETHOAM_MADATA; 武武汉汉烽火网烽火网络络有限有限责责任公司任公司 第第 13 页页 5.1.5.MEP 结构体结构体 typedef struct EthernetOAMMEP tTMO_SLL_NODE node ; u_char MALevel;/*就是 GB 中所说的 MEL*/ u_char MEPID; u_char MAID; u_char MEPMAC6; BOOL MEPactive;/* 告诉管理员 MEP 的状态,确认 MEP 的功能是否正常,true 表示 MEP 功能正常。该变量被当作一个管理对象使用*/ BOOL enableRmepDefect;/* 显示服务实例通过 MEP 的 MA 监控帧,是否允许帧通过桥端 口;同时这种监控要基于生成树协议和 VLAN 拓扑管理。详见结构体后该变量说明列表*/ BOOL someRMEPCCMdefect;/* 说明远端 MEP 状态机的总的状态,true 说明在最低级远端 MEP 状态机没有接收到正确地 CCMs,false 说明所有远端 MEP 状态机都接收到正确的 CCMs,该变量是一个可读管理对象*/ BOOL someMACstatusDefect;/* 说明是否有一个或者多个远端 MEP 报错(报告有故障存在) ,这种报错是通过远端 MEP 的端口状态 TLV 或者接口状态 TLV 来实现的。true 说明不是 一些远端 MEP 报错,它的接口没有处于 isUp 状态;就是所有的远端 MEP 报错,它们的端 口状态 TLV 信息中不包含 psUp。False 则反之。这两种情况就导致了需要两种条件来判决, 它们分别是:1.如果两种情况都出现,则(rMEPlastPortState!=psUp 2.如果出现其中的一种,则 (rMEPlastPortState!=isUp /* 用以说明远端 MEP 的健康状况,true 说明有一个最低级远端 MEP 状态机接收到正确的 CCMs,false 说明没有一个远端 MEP 状态机接收到正确的 CCMs,该 变量是一个可读管理对象*/ BOOL MAdefectIndication;/* 说明 MEP 的 MA 的运行状态,true 说明在 MEP 的 MA 中有 一个最低级远端 MEP 配置错误;false 说明功能正常,或者 MEP 的活动周期小于超时间隔。 该变量的取值决定于:如下变量有一个或多个为 true:someRDIdefect、someRMEPCCMdefect、someMACstatusDdefect、xconCCMdefect; 和变量的优先级(如下表) ,变量的优先级要大于等于 lowestAlarmPri 的优先级。详细说明 见结构体定义后列表说明*/ BOOL allRMEPsDead;/*说明该 MEP 没有接收到一个远端 MEP 的 CCMs。取值由 allRMEPsDead 和 rMEPCCMdefect 的逻辑与决定*/ u_int highestDefectPri;/*说明缺陷在变量 highestDefect 中指定的优先级,见结构体后该变量 说明列表*/ 软软件概要件概要设计说设计说明明书书 第第 14 页页 u_int lowestAlarmPri;/*说明最低缺陷优先级能触发的故障告警。这个变量是一个管理对象*/ u_int MEPhighestDefect;/*其值取枚举类型 highestDefect 中的一个*/ void *pParam;/*该指针的作用是:插入不同功能模块的结构体于此,方便对象处理*/ ETHOAM_MEPInfo *nextMEP;/*用于指向下一个 MEP 信息结构体*/ ETHOAM_MEPInfo; BOOL MAdefectIndication;变量说明: 缺陷优先级 变量highestDefecthighestDefectPri重要性 xconCCMdefectDefXconCCM6最重要 errorCCMdefectDefErrorCCM5 someRMEPCCMdefectDefRemoteCCM4 someMACstatusDefectDefMACstatus3 someRDIdefectDefRDICCM2最低 无1 BOOL enableRmepDefect;变量说明: 端口状态桥端口在主 VID 的 设置 端口状态 TLVenableRmepDefect Disabled,blocked,listening,broken,Discarding or Learing psBlockedfalse NopsBlockedfalseForwarding YespsUpTrue int highestDefectPri 变量说明: 缺陷优先级 变量highestDefecthighestDefectPri重要性 xconCCMdefectDefXconCCM6最重要 errorCCMdefectDefErrorCCM5 someRMEPCCMdefectDefRemoteCCM4 someMACstatusDefectDefMACstatus3 someRDIdefectDefRDICCM2最低 无1 5.1.6.远端远端 MEP 结构体结构体 武武汉汉烽火网烽火网络络有限有限责责任公司任公司 第第 15 页页 typedef struct EthernetRemoteMEP tTMO_SLL_NODE node ; u_char rMALevel; u_char rMEPID; u_char rMAID; u_char rMEPmacAddress6; /*一个远端 MEP 的 MEP CCM 数据库中每个条目的一个字段, 包含从远端 MEP 接收到的 last-received CCM 中的 source_address。该变量被当作一个可读 管理对象*/ BOOL rMEPCCMdefect; /*报告远端 MEP 的状态,当最后时刻(3.25*CCIinterval)也没有 收到从远端 MEP 发出的 CCM 时,值设为 true*/ BOOL rMEPlastRDI; /*从 last-recrived CCM 中获得 RDI 标签值,该变量被当作一个管理对 象使用*/ u_int rMEPlastPortState; u_int rMEPlastInterfaceStatus; BOOL rCCMreceived; /*它通过 MEPprocessEqualCCM()来设为 true,此时表示在 CCM 间隔字段含有一个非零值的 CCM 被接收到。通过远端 MEP 状态机来设为 false。*/ int rCCMsequenceErrors; /*表示从所有远端 MEPs 收到的非顺序 CCMs 的总数。该变量被当 作一个可读管理对象。*/ BOOL errorCCMreceived; /*如果一个损坏 CCM 被接收到,则通过函数 MEPprocessEqualCCM()设为 true。通过远端 MEP 错误状态机清除,重置为 false。*/ BOOL errorCCMdefect; /*不论时设置还是清除都通过远端 MEP 错误状态机,以指示在 3.5 倍 CCM 传输时间间隔以内,接收到一个或者多个损坏 CCMs。该变量被当作一个可读管理 对象*/ u_char errorCCMlastFailure; /*与相同特征的 recvdFrame 一样。该值由远端 MEP 错误状态机 控制。可读管理对象(见 :r) 。*/ u_int rMEPwhile; /*用于记录 CCM 超时的定时计数器。该变量有一个粒度要求,该要求是 。该变量被当作一个可读管理对象*/ 4 intervalCCI rMEPwhil u_int errorCCMwhile; /*终止损坏 CCMs 定时计数器。errorCCMwhil 粒度要求为好于等于 1 毫秒*/ RMEPInfo *nextrMEP; EthOAM_RMEPInfo; 软软件概要件概要设计说设计说明明书书 第第 16 页页 5.1.7.MIP 结构体结构体 typedef struct EthernetOAMMIPinfo/*MIP 在 OAM 中只能响应某些 OAM 帧,但不会发起 OAM 帧,对途经的 ETH 流也部采取任何动作;所以 MIP 只用保留自己所处位置的信息, 而不用保留使能信息。*/ tTMO_SLL_NODE node ; u_char MALevel; u_char MIPID; u_char MAID; u_char MIPLevel; u_char MIPMAC6; void *mippParam;/*用于需要响应某些 OAM 功能帧时,存储这些帧信息,以便作出相应的 响应。*/ ETHOAM_MIPinfo *nextMIPinfo; ETHOAM_MIPinfo; 5.1.8.CCM 结构体结构体 .CCM PDU 格式格式 该结构体用于 CCM 在线路上的传输。 Struct EthernetOAMCCM_PDU #if HOST=OSIX_BIG_BEGIN u_char MAlevel:3, ver:5; #else u_char ver:5, MAlevel:3; #endif u_int ccmOpCode=01; 武武汉汉烽火网烽火网络络有限有限责责任公司任公司 第第 17 页页 #if HOST=OSIX_BIG_BEGIN u_char RDIFlag:1 reserved:4,/*注意 GB 这里是保留的*/ Period:3; #else u_char Period:3, reserved:4, RDIFlag:1; #endif u_int ccmTLVvalue70; int ccmseq_num;/*在 GB 中设置为全 0*/ int MEPID; u_char MAID48; u_short TxFCf1; u_short TxFCf2; u_short RxFCb1; u_short RxFCb2; u_short TxFCb1; u_short TxFCb2; u_short u2Reserved; u_short u2Reserved1; u_char EndTLV; EthOAM_CCMPDU; .MEP 发送发送 CCM 使能和信息结构体使能和信息结构体 struct EthernetOAMMEPsendCCMinfo u_char OpCode; u_char RDIFlag; BOOL CCIenable; 软软件概要件概要设计说设计说明明书书 第第 18 页页 u_char CCIinterval; /*该变量用于配置 CCM 传输间隔(时间) 。该变量被当作一个管理对象 使用*/ u_char CCIwhile; u_char CCIsentCCMs; BOOL MACstatusChanged; u_short TxFCf1; u_short TxFCf2; u_short RxFCb1; u_short RxFCb2; u_short TxFCb1; u_short TxFCb2; ETHOAM_MEPsendCCMinfo;/ .MEP 接收的接收的 CCM 使能和信息结构体使能和信息结构体 typedef struct EthernetOAMMEPrecdCCMinfo BOOL CCMreceiveEqual;/*该变量是一个布尔型标签(boolean flag) ;该变量在 MEP 的 MD level 接收到一个 CCM 时,通过 MEP Equal OpCode 解析器设置。由 MEP 连续性检测接受 者状态机清除*/ BOOL CCMreceivedLow;/* 该变量是一个布尔型标签,该变量从比 MEP 的 MD level 低的 层级接收到一个 CCM 时,通过 MEP Low OpCode 解析器设置。由 MEP 连续性检测接受者 状态机清除*/ BOOL RecvdMacAddress;/*通过 MEPprocessEqual()函数,利用从备份远端 MEP 状态机 (该备份是远端 MEP 提过的一种服务)提供的最后接收的(last-received)CCM 来设置 source_address */ void *recvdCCMPDU;/*用于将一个接收到的 CCM PDU 直接映射到这里。*/ u_char recvdMACaddress6;/*接收到的发送 CCM MEP 的 MAC 地址*/ BOOL recvdRDI;/*接收到的 CCM 的 RDI*/ u_int recvdInterial;/*接收到的 CCM 的时间间隔*/ ETHOAM_MEPrecdCCMinfo; .MIP 接收的接收的 CCM 信息信息 struct EthernetOAMMIPCCMinfo 武武汉汉烽火网烽火网络络有限有限责责任公司任公司 第第 19 页页 u_char OpCode; BOOL MHFrecvdCCM;/*该变量的值为 true 时,由 MHF OpCode 解析器当一个 CCM 在 MHF 所在 MD level 被接收到时设置;由 MHF 连续性检测接受者状态机清除(即设为 false)*/ void *CCMPDU;/*用于装入一个 CCMPDU*/ ETHOAM_MIPCCM; 5.1.9.LB 结构体结构体 .LBM PDU struct LBMPDU/*LBM 有两种模式,一种是连通性测试;一种是诊断测试*/ #if HOST=OSIX_BIG_BEGIN u_char MAlevel:3, ver:5; #else u_char ver:5, MAlevel:3; #endif u_int lbmOpCode03; u_char LBMflag; u_int lbmTLVvalue int lbmseq_num; void *LBMTLV;/*用于映射一个 TLV 到 LBM 中来,可以选择指向 DataTLV 或者 TestTLV*/ u_char ENDTLV=0; EthOAM_LBMPDU; .LBR PDU struct LBRPDU/*用于发送的 LBR。LBR 有两种模式,一种是连通性测试;一种是诊断测试 */ 软软件概要件概要设计说设计说明明书书 第第 20 页页 #if HOST=OSIX_BIG_BEGIN/*这里的 MAlevel、ver 都是从接收到的 LBM 那里拷贝过来 */ u_char MAlevel:3, ver:5; #else u_char ver:5, MAlevel:3; #endif u_int lbrOpCode02; u_char LBRflag;/*从接收到的 LBM 那里拷贝过来*/ u_int lbrTLVvalue/*从接收到的 LBM 那里拷贝过来*/ int lbrseq_num; /*从接收到的 LBM 那里拷贝过来*/ void *LBRTLV;/*用于映射一个 TLV 到 LBR 中来,可以选择时测试 TLV 还是数据 TLV*/ u_char ENDTLV=0; /*从接收到的 LBM 那里拷贝过来*/ EthOAM_LBRPDU; .LBI 结构体结构体(LBI,Loopback Initiator) typedef struct EthernetOAMLBI u_char MALevel; u_int LBMsToSend; /*看 MEP 环回发起者传输状态机发送了多少个 LBMs。设置有管理操 作详见 :c。*/ int nextLBMtransID; /*该变量值由 xmitLBM()传输,处于下一个 LBM 的环回处理标志符。 nextLBMtransID 变量通过 MEP 环回发起者传输状态机每传输一次就增

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论