AN5516-01设备以太网OAM模块详细设计.doc_第1页
AN5516-01设备以太网OAM模块详细设计.doc_第2页
AN5516-01设备以太网OAM模块详细设计.doc_第3页
AN5516-01设备以太网OAM模块详细设计.doc_第4页
AN5516-01设备以太网OAM模块详细设计.doc_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

FH TRXXSJ X XXX XXX XXXXXX RA 设备型号 设备型号 AN5516 01 产品代号 产品代号 项目代号 项目代号 部部 门 门 烽火通信科技股份有限公司宽带产品部 拟拟 制 制 2009 年 5 月 11 日 审审 核 核 年 月 日 批批 准 准 年 月 日 AN5516 01AN5516 01 设备以太网设备以太网 OAMOAM 模块模块 软件详细设计软件详细设计 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 2 65 目目 录录 0版本记录 4 1参考资料 4 2术语与缩写解释 4 3需求概述 5 4总体设计 5 4 1软件结构 5 4 2对外提供接口 6 4 3需要外部提供接口 7 5主控模块描述 8 5 1功能 8 5 2相关源文件 8 5 3数据结构 8 5 4全局变量 11 5 5程序逻辑 12 5 6主要函数定义 13 5 7802 1AG网管配置管理函数 21 5 8Y1731 网管配置管理函数 25 5 9告警相关函数 28 5 10802 1AG本地命令行 29 5 11Y1731 本地命令行 30 6CC 模块描述 32 6 1功能 32 6 2相关源文件 32 6 3数据结构 32 6 4全局变量 33 6 5程序逻辑 33 6 6主要函数定义 36 7LB 模块描述 39 7 1功能 39 7 2相关源文件 39 7 3数据结构 40 7 4全局变量 40 7 5程序逻辑 41 7 6主要函数定义 43 8LT 模块描述 46 8 1功能 46 8 2相关源文件 46 8 3数据结构 46 8 4全局变量 47 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 3 65 8 5程序逻辑 47 8 6主要函数定义 50 9OAM 帧收发模块描述 54 9 1功能 54 9 2相关源文件 54 9 3数据结构 54 9 4全局变量 55 9 5程序逻辑 55 9 6主要函数定义 57 10定时器模块描述 59 10 1功能 59 10 2相关源文件 59 10 3数据结构 59 10 4全局变量 60 10 5程序逻辑 60 10 6主要函数定义 60 11告警 62 12测试方案 62 12 1测试组网图 62 12 2以太网连续性检查 ETH CC 62 12 3以太网环回 ETH LB 63 12 4以太网链路跟踪 ETH LT 64 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 4 65 0 0版本记录版本记录 序号序号 版本号版本号生成时间生成时间主主 要要 修修 改改 记记 录录作者作者备注备注 1 1RARA2009 5 112009 5 11 初始化初始化贺超贺超 2 2 3 3 4 4 1 1参考资料参考资料 编号编号资料名称资料名称简介简介出版单位出版单位 1 1 以太网运行和维护要求 2007信息产业部标准文 本 中华人民共 和国信息产 业部 2 2ITU T Recommendation Y 1731 formerly Y 17ethoam OAM functions and mechanisms for Ethernet based networks Y 1731 协议文本 ITU T 3 3IEEE P802 1ag D6 9Draft Standard for Local and Metropolitan Area Networks Virtual Bridged Local Area Networks Amendment 5 Connectivity Fault Management 802 1ag 协议文本 IEEE 2 2术语与缩写解释术语与缩写解释 缩写 术语 解释 OAMOperation Administration and Maintenance 操作 管理 维护 MDMaintenance Domain 维护域 MAMaintenance Association 维护关联 MDLMaintenance Domain Level 维护域等级 MEGMaintenance Entity Group 维护实体组 MELMaintenance Entity Group Level 维护实体组等级 MEPMA MEG End Point MA MEG 端点 MIPMD MEG Intermediate Point MA MEG 中间点 ETH CCEthernet Continuity Check function 以太网连续性检查 ETH LBEthernet LoopBack function 以太网环回 ETH LTEthernet Link Trace function 以太网链路跟踪 CCMContinuity Check Message 连续性检查消息 LBMLoopBack Message 环回消息 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 5 65 LBRLoopBack Reply 环回响应 LTMLink Trace Message 链路跟踪消息 LTRLink Trace Reply 链路跟踪响应 3 3需求概述需求概述 遵照 以太网运行和维护要求 2007 Y1731 和 802 1ag 标准 在 AN5516 01 设备的主控盘 上 针对每个上联端口实现标准的以太网 OAM 协议 具体需求如下 1 同时支持 Y1731 和 802 1ag 标准 其中 Y1731 支持最新的 8 1 版本 2 仅实现标准的连续性检测功能 环回功能监视功能 链路跟踪功能 对于 Y1731 中其他的 功能如 AIS LCK 性能监测暂不实现 3 在每个上联端口上实现 DOWN MEP 对于 UP MEP 和 MIP 暂不实现 如无特殊说明 本文档 中提到的 MEP 均指 DOWN MEP 4 每个上联端口可以配置多个 MEP 5 每个上联端口可以配置独立的 MAC 地址 6 所有 OAM 帧必须携带 VLAN 而且仅支持一层 VLAN 4 4总体设计总体设计 4 14 1软件结构软件结构 主控模块 CC模块LB模块LT模块 定时器模块OAM帧收发 主从通信模块 交换芯片驱动 告警模块 软件结构图 由于 Y1731 是对 802 1ag 的扩展 所有 802 1ag 定义的功能 Y1731 中都有定义 虽然在具体的 细节上有所差异 但差异部分很小 因此 OAM 模块对这两种协议将使用统一的数据结构管理 OAM 模块分为以下几个子模块 主控模块 定时器模块 OAM 帧收发模块 CC 模块 LB 模块和 LT 模块 每个模块的功能如下 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 6 65 主控模块主控模块 1 管理 OAM 协议中定义的对象的数据结构 包括 MD MA MEP MIP 2 提供本地命令行 3 处理网管模块下发的控制命令 4 收集 CC LB LT 模块的告警信息 上报给告警模块 5 对从 OAM 帧收发模块收到的合法 OAM 帧以及从定时器模块收到的超时事件进行解析 然后 调用 CC LB LT 模块的接口进处理 定时器模块定时器模块 定时器模块通过看门狗实现 提供相应的创建 删除 开始 停止等接口供 CC LB LT 模块调用 OAM 帧收发模块帧收发模块 该模块对收到的 OAM 帧进行 MAC 地址 VLAN 和 OAM 头部的合法性检 测 丢弃非法的 OAM 帧 将合法的 OAM 帧发送到主控模块的队列 同时该模块还提供 OAM 消息 的发送接口给 CC LB LT 模块调用 CC 模块模块 该模块完成 ETH CC 功能 包括 CC 使能的情况下 定时的发送 CCM 并对收到的 CCM 帧进行处理 LB 模块模块 该模块完成 ETH LB 功能 包括使能 LB 时定时的发送一定数量的 LBM 消息 并对 收到的 LBR 进行处理 同时 LB 模块还需要对收到的 LBM 进行合法性判断 对于合法的 LBM 应答 相应的 LBR LT 模块模块 该模块完成 ETH LT 功能 包括使能 LT 时 发送一个 LTM 消息 然后对收到的 LTR 进行处理 同时 LT 模块还需要对收到的 LTM 进行合法性判断 对于合法的 LTM 应答相应的 LTR 4 24 2对外提供接口对外提供接口 4 2 1OAM 模块初始化 STATUS oamModuleInit 功能 初始化整个 OAM 模块 初始化的内容包括 模块版本信息 基础函数库 定时器 队列 OAM 帧和事件处理任务 本地命令行 图形网管命令等 输入参数 输出参数 返回值 总是返回 OK 4 2 2接收 OAM 帧 STATUS dot1agOamRecv char bufPtr uint32 len uint16 port uint32 vlanid 功能 提供给交换驱动模块调用 交换芯片收到 OAM 帧后 调用该接口将数据送到 OAM 模块 处理 输入参数 bufPtr 存放 OAM 帧的 buf 指针 len OAM 帧长度 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 7 65 port 接收 OAM 帧的端口号 vlanid OAM 帧携带的 VLAN 输出参数 返回值 返回被调函数 OAM Recv 的返回值 4 34 3需要外部提供接口需要外部提供接口 4 3 1OAM 帧发送函数 STATUS oamSend uint16 port char bufPtr uint32 len 功能 向指定的端口发送 OAM 帧 输入参数 Port 物理端口号 bufPtr 数据包的 buf len 数据长度 输出参数 返回值 发送失败 返回 ERROR 否则返回 OK 4 3 2获取系统 MAC 地址 STATUS sysMacAddrGet char macAddrPtr 功能 获取系统的 MAC 地址 输入参数 输出参数 macAddrPtr 指向 6 个字节的数组 用于存放系统 MAC 地址 返回值 获取 MAC 地址失败 返回 ERROR 否则返回 OK 4 3 3上报告警 int raiseEv trap int alarmId TRAP DATA trapdata 功能 向告警模块上报告警消息 输入参数 alarmId 告警 ID trapdata 告警信息 输出参数 返回值 上报告警失败 返回 ERROR 否则返回 OK 4 3 4网管命令处理函数注册 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 8 65 RegisterHookFunc int writFunc int readFunc int MODULE ID 功能 注册网管命令处理函数 输入参数 writFunc 配置命令的处理函数 readFunc 回读命令的处理函数 MODULE ID 模块 ID 输出参数 返回值 注册失败 返回 ERROR 否则返回 OK 5 5主控模块描述主控模块描述 5 15 1功能功能 主控模块功能如下 1 管理 OAM 协议中定义的对象的数据结构 包括 MD MA MEP MIP 2 提供本地命令行 3 处理网管模块下发的控制命令 4 收集 CC LB LT 模块的告警信息 上报给告警模块 5 对从 OAM 帧收发模块收到的合法 OAM 帧以及从定时器模块收到的超时事件进行解析 然后 调用 CC LB LT 模块的接口进处理 5 25 2相关源文件相关源文件 序 号 文件名称描述 1oamCommFun c基本 bit 和字符的操作函数 2oamCommFun h自定义数据类型 3oamDefs h协议相关的宏定义 4oamMain cOAM 帧和事件处理任务相关的函数 5oamMain h主要数据结构的定义 包括 MD MA MEP 等 oam nm c对 MD MA MEP 进行设置和读取相关的函数 Oam nm h设置和读取相关的宏和枚举定义 Cfm nm if c网管命令相关函数 Cfm nm if h网管命令相关的宏和枚举定义 Cli cfm cfg c802 1ag 命令行 Cli y1731 cfg cY1731 命令行 5 35 3数据结构数据结构 5 3 1MD 信息 typedef struct CfmMd 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 9 65 u int cfmMdIndex MD 节点的索引号 eCfmMdNameType cfmMdFormat MD NAME 的格式 u int cfmMdNameLen MD NAME 的长度 u char cfmMdName 48 存放 MD NAME 的数组 u char cfmMdMdLevel MD LEVEL MdType mdType MD 类型 如果该节点用于 Y1731 取值为 MD TYPE 1731 如果用于 802 1ag 取值为 MD TYPE AG LIST maList MD 中的 MA 列表 一个 MD 中可以有 0 到多个 MA tCfmMd 5 3 2MA 信息 typedef struct CfmMaNet u int cfmMaIndex MA 节点的索引号 eCfmMaNameType cfmMaNetFormat MA NAME 的格式 u int cfmMaNameLen MA NAME 的长度 u char cfmMaNetName 48 存放 MA NAME 的数组 eCfmCcmInterval cfmMaNetCcmInterval CC 间隔 void pParent 指向该 MA 所属的 MD LISTmepList MA 中的 MEP 列表 一个 MA 中可以有 0 到多个 MEP u charvlanList 513 MA 包含的 vlan 集合 u short vid MA 使用的主 VLAN tCfmMaNet 5 3 3MEP 协议相关信息 typedef struct CfmIfMep u int cfmMepIdentifier MEP ID u int cfmMepIfIndex MEP 所属的物理端口号 eCfmMepDirection cfmMepDirection MEP 的方向 目前只支持 DOWN u int cfmMepPrimaryVid MEP 的主 VLAN u char cfmMepPriority MEP 的优先级 发送 CCM 时使用 u char cfmMepCciEnabled CC 功能使能标志 u char cfmMepLtmPriority LTM 优先级 发送 LTM 时使用 u char cfmMepLbmPriority LBM 优先级 发送 LBM 时使用 u char cfmMepMacAddress 6 MEP 的本地 MAC 地址 所有 MEP 可以使用相同的 MAC 地址也可以使用不同的 MAC 地址 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 10 65 u int cfmMepTransmitLbmTimeout LBM 超时时间 u char cfmMepTransmitLtmTargetMacAddress 6 LTM 的目标 MAC 地址 u char cfmMepTransmitLtmTtl LTM 中的 TTL u int cfmMepTransmitLtmSeqNumber LTM 使用的序号 void pParent 指向 MEP 所属的 MA u char ccDestMac 6 CCM 的目的 MAC 地址 tOAMTimer sendCcmTimer CC 发送定时器 tCfmIfMep 5 3 4OAM 帧统计 typedef struct u int ccmSend 发送的 CCM 帧个数 u int ccmRecv 收到的 CCM 帧个数 u int ccmErrorPktRecv 收到的错误 CCM 帧个数 u int lbmSend 发送的 LBM 帧个数 u int lbmRecv 收到的 LBM 帧个数 u int lbmWrongPatternDrop 丢弃的 LBM 帧个数 u int lbrSendPkt 发送的 LBR 帧个数 u int lbrRecv 收到的 LBR 帧个数 u int lbrOutOfOrder 收到的乱序的 LBR 帧个数 u int lbrWrongPatternDrop 丢弃的 LBR 帧个数 u int ltmSend 发送的 LTM 帧个数 u int ltmRecv 收到的 LTM 帧个数 u int ltmWrongPatternDrop 丢弃的 LTM 帧个数 u int ltrSendPkt 发送的 LTR 帧个数 u int ltrRecv 收到的 LTR 帧个数 u int ltrOutOfOrder 收到的乱序的 LTR 帧个数 PacketStatics 5 3 5物理端口的 MEP 信息 typedef struct u int unit 物理端口号 LISTmepList 该端口下配置的 MEP 列表 tPortInfo 5 3 6CC 和 LT 定时器信息 typedef struct 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 11 65 tOAMTimer ccDbAgingTimer 远端 MEP 老化定时器 u int ccDbAging 远端 MEP 老化时间间隔 tOAMTimer ltAgingTimer LT 节点老化定时器 间隔默认为 10 分钟 tCfmGlobalPara 5 45 4全局变量全局变量 5 4 1MD 管理列表 LIST gMdList MD 管理列表为一个三维单向链表 存储形式如下 tCfmMdtCfmMd tCfmMaNet tCfmMaNet tCfmMaNet tCfmMaNet gMdList tCfmMeptCfmMep tCfmMeptCfmMep tCfmMeptCfmMep tCfmMeptCfmMep 5 4 2端口 MEP 管理列表 LIST gPortList 端口 MEP 管理为一个二维单向链表中 存储形式如下 tPortInfotPortInfotPortInfotPortInfo tCfmIfMep tCfmIfMep tCfmIfMep tCfmIfMep tCfmIfMep tCfmIfMeptCfmIfMep tCfmIfMep gPortList 每一个物理端口对应一个 tPortInfo 节点 该端口下的每一个 MEP 对应一个 tCfmIfMep 节点 5 4 3全局定时器 tCfmGlobalPara gCfmPara 其中包括远端 MEP 的老化定时器和 LT 节点的老化定时器 5 4 4OAM 帧和定时器事件接收队列 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 12 65 tOsixQId OAMQId 5 4 5AM 帧和定时器事件处理任务 tOsixTaskId OAMTaskId 5 55 5程序逻辑程序逻辑 5 5 1初始化 初始化模块版本信息 初始化基础库 包括内存 任务相关的资源 初始化CC LB LT相关的定时 器 初始化OAM帧和超时事件处 理队列和处理任务 初始化本地命令行接口 初始化网管控制接口 结束 模块初始化 全局OAM功 能是否使能 调用交换芯片接口开始OAM 帧侦听 是 否 5 5 2AM 帧和定时器事件处理任务流程 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 13 65 从队列中OAMQId取出一个事 件 判断事件类型 不同的事件调用 不同子模块的处理函数 定时器超时时间处理 OAMTimerHandle CCM帧处理 cfmRecvCcm LBM LBR帧处理 cfmRecvdLbm cfmRecvdLbr LTM LTR帧处理 cfmRecvdLtm cfmRecvdLtr 定时器超时事件CCM帧LB帧LT帧 5 65 6主要函数定义主要函数定义 5 6 1添加 MEG int add1731Meg int mdIndex octetstring namePtr u char level u short vlanId 功能 添加一个新的 MEG 由于 Y1731 和 802 1ag 公用相同的结构 因此一个 MEG 会被分解 成一个 MD 和一个 MA 添加 MEG 时 会添加一个新的 MD 然后在这个 MD 中添加一个新的 MA 而且 MD 和 MA 使用相同的索引号 输入参数 mdIndex MEG 的索引号 实际上是新添加的 MD 和 MA 的索引号 namePtr MEG 的 NAME 实际上是新添加的 MA 的 NAME level MEG 的 LEVEL 实际上是 MD 中的 LEVEL vlanId MEG 的 VLAN 实际上是 MA 的主 VLAN 输出参数 返回值 如果添加失败 返回 ERROR 否则返回 OK 5 6 2添加 MD int addCfmMd u int mdIndex 功能 遍历 MD 列表 如果给定的 MD 索引号已经被使用 则添加失败 否则列表中添加一个 新的 MD 节点 按索引号从小到大排序 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 14 65 输入参数 mdIndex MD 索引号 输出参数 返回值 如果添加失败 返回 ERROR 否则返回 OK 5 6 3添加 MA int addCfmMa u int mdIndex u int maIndex 功能 遍历指定 MD 的 MA 列表 如果给定的 MA 索引号已经被使用 则添加失败 否则列表 中添加一个新的 MA 节点 按索引号从小到大排序 输入参数 mdIndex MD 索引号 maIndex MA 索引号 输出参数 返回值 如果添加失败 返回 ERROR 否则返回 OK 5 6 4添加 MEP int addCfmMep u int mdIndex u int maIndex u short mepid 功能 遍历指定 MA 的 MEP 列表 如果给定的 MEP ID 已经被使用 则添加失败 否则列表中 添加一个新的 MEP 节点 按 MEP ID 从小到大排序 输入参数 mdIndex MD 索引号 maIndex MA 索引号 mepid MEP ID 输出参数 返回值 如果添加失败 则返回 ERROR 否则返回 OK 5 6 5添加物理端口节点 tPortInfo addCfmPortInfo u int unit 功能 向端口列表中添加一个端口节点 输入参数 Unit 物理端口号 输出参数 返回值 返回新添加的端口节点 5 6 6在端口节点 MEP 列表中添加 MEP 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 15 65 int addCfmMepInPort tCfmMep pMep 功能 向端口节点的 MEP 列表中添加一个新的 MEP 首先根据 pMep 中的物理端口号找到对应 的端口节点 然后在端口节点的 MEP 列表中添加新的 MEP 输入参数 pMep 指向 mep 的指针 输出参数 返回值 如果添加失败 返回 ERROR 否则返回 OK 5 6 7删除端口节点的 MEP 列表中的一个 MEP int delCfmMepInPort tCfmMep pMep 功能 从端口节点的 MEP 列表中删除一个存在的 MEP 首先根据 pMep 中的物理端口号找到对 应的端口节点 然后在端口节点的 MEP 列表中删除指定的 MEP 输入参数 pMep 指向 mep 的指针 输出参数 返回值 如果删除失败 返回 ERROR 否则返回 OK 5 6 8删除 MEP int delCfmMepFromIndex u int mdIndex u int maIndex u short mepid 功能 从一个特定的 MA 的 MEP 列表中删除特定的 MEP 首先遍历 MD 列表 找到 mdIndex 对应的 MD 然后遍历 MD 中的 MA 列表 找到 maIndex 对应的 MA 然后遍历 MA 中的 MEP 列表 找到 mepid 对应的 MEP 并删除该 MEP 输入参数 mdIndex MD 索引号 maIndex MA 索引号 mepid MEP ID 输出参数 返回值 如果删除失败 返回 ERROR 否则返回 OK 5 6 9删除 MA int maDelete int mdIndex int maIndex 功能 从一个特定的 MD 的 MA 列表中删除特定的 MA 首先遍历 MD 列表 找到 mdIndex 对 应的 MD 然后遍历 MD 中的 MA 列表 找到 maIndex 对应的 MA 找到后 首先删除该 MA 下所有 的 MEP 然后删除该 MEP 输入参数 mdIndex MD 索引号 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 16 65 maIndex MA 索引号 输出参数 返回值 如果删除失败 返回 ERROR 否则返回 OK 5 6 10 删除 MD int mdDelete int mdIndex 功能 删除一个特定的 MD 首先遍历 MD 列表 找到 mdIndex 对应的 MD 然后遍历 MD 中的 MA 列表 删除每个 MA 下的所有 MEP 然后删除所有的 MA 最后删除该 MD 输入参数 mdIndex MD 索引号 输出参数 返回值 如果删除失败 返回 ERROR 否则返回 OK 5 6 11 删除 MEG int del1731Meg int mdIndex 功能 删除一个特定的 MEG 由于一个 MEG 有一个 MD 和 MD 中的一个 MA 组成 因此首先 遍历 MD 列表 找到 mdIndex 对应的 MD 然后遍历 MD 中的 MA 列表 删除每个 MA 下的所有 MEP 然后删除所有的 MA 最后删除该 MD 输入参数 mdIndex MD 索引号 输出参数 返回值 如果删除失败 返回 ERROR 否则返回 OK 5 6 12 通过 MEP ID 查找 MEP tCfmMep getCfmMepFromIndex u int mdIndex u int maIndex u short mepid 功能 根据 MD INDEX MA INDEX MEP ID 查找相应的 MEP 使用遍历的方式查找 输入参数 mdIndex MD 索引号 maIndex MA 索引号 mepid MEP ID 输出参数 返回值 如果找到 返回 MEP 节点的地址 否则返回 NULL 5 6 13 通过 VLAN 查找 MA tCfmMaNet getCfmMaFromVlan u int mdIndex u short vlan 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 17 65 功能 根据 MD INDEX VLAN 查找相应的 MA 使用遍历的方式查找 输入参数 mdIndex MD 索引号 vlan MA VLAN LIST 包含的 VLAN 值 输出参数 返回值 如果找到 返回 MA 节点的地址 否则返回 NULL 5 6 14 通过索引号查找 MA tCfmMaNet getCfmMaFromIndex u int mdIndex u int maIndex 功能 根据 MD INDEX MA INDEX 查找相应的 MA 使用遍历的方式查找 输入参数 mdIndex MD 索引号 maIndex MA 索引号 输出参数 返回值 如果找到 返回 MA 节点的地址 否则返回 NULL 5 6 15 通过 LEVEL 查找 MD tCfmMd getCfmMdFromLevel u char level 功能 根据 MD LEVEL 查找相应的 MD 使用遍历的方式查找 输入参数 Level MD LEVEL 输出参数 返回值 如果找到 返回 MD 节点的地址 否则返回 NULL 5 6 16 通过索引号查找 MD tCfmMd getCfmMdFromIndex u int mdIndex 功能 根据 MD INDEX 查找相应的 MD 使用遍历的方式查找 输入参数 mdIndex MD 索引号 输出参数 返回值 如果找到 返回 MD 节点的地址 否则返回 NULL 5 6 17 通过端口号查找端口节点 tPortInfo getCfmPortInfoByIndex u int unit 功能 根据物理端口号在端口列表中查找相应的端口节点 使用遍历的方式查找 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 18 65 输入参数 unit 物理端口号 输出参数 返回值 如果找到 返回端口节点的地址 否则返回 NULL 5 6 18 通过端口信息查找 MEP tCfmIfMep getMepFromPort tPortInfo pPortNode u char mdLevel u short vlanId 功能 根据端口节点信息在端口列表中查找相应的端口节点 然后根据 level vlan 在端口节点的 MEP 列表中查找对应的 MEP 使用遍历的方式查找 输入参数 pPortNode 指向端口节点 mdLevel MEP 所在 MD 的 LEVEL vlanId MEP 所在 MA 的 VLAN 输出参数 返回值 如果找到 返回 MEP 的地址 否则返回 NULL 5 6 19 通过 MEP 查找对应端口节点 tPortInfo getPortNodeFromMep tCfmMep pMepNode 功能 根据 MEP 中的物理端口号 在端口列表中查找对应的端口节点 使用遍历的方式查找 输入参数 pMepNode 指向 MEP 输出参数 返回值 如果找到 返回端口节点的地址 否则返回 NULL 5 6 20 通过端口 VLAN 和 LEVEL 确定对应的 MP 类型 int getMpRoleFromIf tPortInfo pPortNode u char mdLevel u short vlanId 功能 在指定的端口节点中根据 level vlan 查找匹配的 MP 的类型 输入参数 pPortNode 指向端口节点 mdLevel MEP 所在 MD 的 LEVEL vlanId MEP 所在 MA 的 VLAN 输出参数 返回值 如果没有匹配的 MP 返回 CFM ROLE ERR 否则返回 MP 的类型 可能的取值为 CFM ROLE MIP CFM ROLE UP MEP 和 CFM ROLE DOWN MEP 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 19 65 5 6 21 获取 MEP 信息 int cfmMepGetApi void index unsigned int cmd void var 功能 获取指定 MEP 的信息 每次获取的并不是 MEP 的全部信息 而是由 cmd 来确定返回一 部分参数 需要获取不同的参数 就选择不同的 cmd 输入参数 index 整形数组 依次存放 MD Index MA Index MEP ID cmd 需要获取的参数的 ID 输出参数 var 返回需要获取的参数的值 根据 cmd 的不同 返回的 var 的内容也不相同 返回值 如果获取失败 返回 ERROR 否则返回 OK 5 6 22 获取 MA 信息 int cfmMaNetGetApi void index unsigned int cmd void var 功能 获取指定 MA 的信息 每次获取的并不是 MA 的全部信息 而是由 cmd 来确定返回一部 分参数 需要获取不同的参数 就选择不同的 cmd 输入参数 index 整形数组 依次存放 MD Index MA Index cmd 需要获取的参数的 ID 输出参数 var 返回需要获取的参数的值 根据 cmd 的不同 返回的 var 的内容也不相同 返回值 如果获取失败 返回 ERROR 否则返回 OK 5 6 23 获取 MD 信息 int cfmMdGetApi void mdIndex unsigned int cmd void var 功能 获取指定 MD 的信息 每次获取的并不是 MD 的全部信息 而是由 cmd 来确定返回一部 分参数 需要获取不同的参数 就选择不同的 cmd 输入参数 index 整形数组 存放 MD Index cmd 需要获取的参数的 ID 输出参数 var 返回需要获取的参数的值 根据 cmd 的不同 返回的 var 的内容也不相同 返回值 如果获取失败 返回 ERROR 否则返回 OK 5 6 24 设置 MEP 参数 int cfmMepSetApi void index unsigned int cmd void var 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 20 65 功能 设置指定 MEP 的参数 每次设置的并不是 MEP 的全部参数 而是由 cmd 来确定设置一 部分参数 需要设置不同的参数 就选择不同的 cmd 输入参数 index 整形数组 依次存放 MD Index MA Index MEP ID cmd 需要设置的参数的 ID var 需要设置的参数的值 根据 cmd 的不同 var 的内容也不相同 输出参数 返回值 如果设置失败 返回 ERROR 否则返回 OK 5 6 25 设置 MA 参数 int cfmMaNetSetApi void index unsigned int cmd void var 功能 设置指定 MA 的参数 每次设置的并不是 MA 的全部参数 而是由 cmd 来确定设置一部 分参数 需要设置不同的参数 就选择不同的 cmd 输入参数 index 整形数组 依次存放 MD Index MA Index cmd 需要设置的参数的 ID var 需要设置的参数的值 根据 cmd 的不同 var 的内容也不相同 输出参数 返回值 如果设置失败 返回 ERROR 否则返回 OK 5 6 26 设置 MD 参数 int cfmMdSetApi void index unsigned int cmd void var 功能 设置指定 MD 的参数 每次设置的并不是 MD 的全部参数 而是由 cmd 来确定设置一部 分参数 需要设置不同的参数 就选择不同的 cmd 输入参数 index 整形数组 依次存放 MD Index cmd 需要设置的参数的 ID var 需要设置的参数的值 根据 cmd 的不同 var 的内容也不相同 输出参数 返回值 如果设置失败 返回 ERROR 否则返回 OK 5 6 27 OAM 模块初始化 STATUS oamModuleInit 功能 初始化整个 OAM 模块 初始化的内容包括 模块版本信息 基础函数库 定时器 队列 OAM 帧和事件处理任务 本地命令行 图形网管命令等 输入参数 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 21 65 输出参数 返回值 总是返回 OK 5 75 7802 1ag802 1ag 网管配置管理函数网管配置管理函数 说明 具体的网管协议命令 ID 及格式请参见 接入卡新参数类型申请 EPON HSWB V1 0 文档 5 7 1配置 MD int unpack cfm md cfg char inBuf int inBufLen char outBuf int outBufLen 功能 用全删全建的方式 配置 MD 输入参数 inBuf 网管协议报文 inBufLen 报文长度 输出参数 outBuf 命令响应 outBufLen 命令响应的长度 返回值 总是返回 OK 5 7 2配置 MA int unpack cfm ma cfg char inBuf int inBufLen char outBuf int outBufLen 功能 用全删全建的方式配置一个 MD 下的所有 MA 输入参数 inBuf 网管协议报文 inBufLen 报文长度 输出参数 outBuf 命令响应 outBufLen 命令响应的长度 返回值 总是返回 OK 5 7 3配置 MEP int unpack cfm mep cfg char inBuf int inBufLen char outBuf int outBufLen 功能 用全删全建的方式 配置一个 MA 下面所有的 MEP 输入参数 inBuf 网管协议报文 inBufLen 报文长度 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 22 65 输出参数 outBuf 命令响应 outBufLen 命令响应的长度 返回值 总是返回 OK 5 7 4执行 停止 LB int unpack cfm lb ctrl char inBuf int inBufLen char outBuf int outBufLen 功能 在一个指定的 MEP 上执行或停止 LB 操作 输入参数 inBuf 网管协议报文 inBufLen 报文长度 输出参数 outBuf 命令响应 outBufLen 命令响应的长度 返回值 总是返回 OK 5 7 5执行 停止 LT int unpack cfm lt ctrl char inBuf int inBufLen char outBuf int outBufLen 功能 在一个指定的 MEP 上执行或停止 LB 操作 输入参数 inBuf 网管协议报文 inBufLen 报文长度 输出参数 outBuf 命令响应 outBufLen 命令响应的长度 返回值 总是返回 OK 5 7 6使能 去使能全局 OAM int unpack oam enable switch char inBuf int inBufLen char outBuf int outBufLen 功能 使能 去使能全局的 OAM 功能 输入参数 inBuf 网管协议报文 inBufLen 报文长度 输出参数 outBuf 命令响应 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 23 65 outBufLen 命令响应的长度 返回值 总是返回 OK 5 7 7回读 MD 参数 int pack cfm md cfg char inBuf int inBufLen char outBuf int outBufLen 功能 一次回读所有 MD 的信息 输入参数 inBuf 网管协议报文 inBufLen 报文长度 输出参数 outBuf 命令响应 outBufLen 命令响应的长度 返回值 总是返回 OK 5 7 8回读 MA 参数 int pack cfm ma cfg char inBuf int inBufLen char outBuf int outBufLen 功能 回读一个指定 MD 下的所有 MA 的信息 输入参数 inBuf 网管协议报文 inBufLen 报文长度 输出参数 outBuf 命令响应 outBufLen 命令响应的长度 返回值 总是返回 OK 5 7 9回读 MEP 参数 int pack cfm mep cfg char inBuf int inBufLen char outBuf int outBufLen 功能 回读一个指定 MA 下的所有 MEP 的信息 输入参数 inBuf 网管协议报文 inBufLen 报文长度 输出参数 outBuf 命令响应 outBufLen 命令响应的长度 返回值 以太网 OAM 模块软件详细设计 技术开发 FH TRXXSJ X XXX XXX XXXXXX RA Rev B 20080829 2020 01 20 24 65 总是返回 OK 5 7 10 回读 CC 状态 int pack cfm cc result char inBuf int inBufLen char outBuf int outBufLen 功能 回读一个指定 MEP 的 CC 状态和远端 MEP 信息 输入参数 inBuf 网管协议报文 inBufLen 报文长度 输出参数 outBuf 命令响应 outBufLen 命令响应的长度 返回值 总是返回 OK 5 7 11 回读 LB 结果 int pack cfm lb result char inBuf int inBufLen ch

温馨提示

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

评论

0/150

提交评论