Board logo

标题: 浅谈 NCSI 及其在 Linux 上的实现(3)NCSI 包结构 [打印本页]

作者: look_w    时间: 2018-6-18 12:27     标题: 浅谈 NCSI 及其在 Linux 上的实现(3)NCSI 包结构

NCSI 包结构NCSI 的以太网帧头正如前文所述,NCSI 是基于以太介质的。所有的 NCSI 包都是封装在 IEEE 802.3 定义的以太网帧格式中的,即:任意一个 NCSI 包都被封装在 14 字节的以太网头及 4 字节的以太网尾中,如图 3 所示:
图 3. NCSI 包的以太帧格式NCSI 控制包头每个 NCSI 包(包括 NCSI 请求包、响应包以及 AEN 包)都有一个 16 字节长的控制包头,以大端在先顺序排列,如图 4 所示:
图 4. NCSI 控制包头格式NCSI 控制包载荷NCSI 控制包载荷的数据都是按照大端在先的顺序排列的,包括数据、载荷填充、校验和以及以太包填充 4 部分,如图 5 所示:
图 5. NCSI 控制载荷格式AEN 包格式NCSI 的 AEN 包格式如图 6 所示:
图 6. AEN 包格式发送 AEN 包的网络控制器需要在 NCSI 包头的 Channel ID 字段里标识发生相应事件的 channel 号。
AEN 包的 NCSI 头的 IID 字段始终为 0x00,command 字段始终为 0xFF,Payload Length 字段始终为 0x04,也就是说 AEN 包的 NCSI 载荷长度为 4。
AEN 包的 NCSI 载荷中 3 字节为保留字段,另外一个字节为 AEN 类型字段,对应的含义如表 1 所示:
表 1. AEN 类型值与含义的对应关系AEN类型值含义 0x00 链路状态发生了改变 0x01 需要对网络控制器进行配置 0x02 网络控制器驱动的状态发生了改变 0x03 ~ 0x7F 保留 0x80 ~ 0xFF 各厂商自定义的 AEN 事件




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0