基于88E6095的链路冗余协议开发(二)
2017-04-15 14:43
232 查看
link 事件
功能实现
协议状态机需要根据当前端口的状态进行计算,并根据端口状态的改变触法状态机的切换.端口状态通过读取mv88e6095 的register 获取,协议在等待报文接受时进行10ms 的超时,每次超时对端口link 状态进行检测,如果有端口改变则调用端口link change 处理接口进行处理.
端口对link改变状态的读取,在88E6095 task中实现,扫描所有端口状态并存储在数据结构中,协议计算时直接读取数据结构中的内容进行读取。
端口stp状态
链路冗余协议通过对物理上连接的链路,配置端口的逻辑状态。当物理链路上形成环路时,通过逻辑状态的设置避免环路的出现,并能根据物理链路的变化,调整端口状态配置,从而达到链路冗余备份的目的,具体内容参考stp或者冗余环相关文档。为了达到对端口逻辑状态进行控制的目的,交换芯片提供了端口的逻辑状态配置寄存器,包括以下四种状态。(参考802.1D文档,参考88E6095文档的3.5.1章节)
功能实现
88E6095提供对实现链路冗余协议的支持,要支持链路冗余,首先要保证在系统启动时,所有端口为阻塞状态,防止由于设备重启导致网络环路,88E6095提供了启动配置引脚,来实现对系统启动时,端口状态的配置。(88E6095文档 page 44)88E6095提供了对每个端口stp进行配置的寄存器,支持软件根据链路冗余协议对每个端口的stp状态进行控制。(88E6095文档 page182 PortState)
接口函数
函数名称:set_port_status
函数功能:
配置指定端口的stp状态
相关文章推荐
- 基于88E6095的链路冗余协议开发(三)
- 基于88E6095的链路冗余协议开发(一)
- 基于88E6095的链路冗余协议开发(四)
- 基于C#的http协议开发
- 基于Wms协议的Map开发(七:计算模块)
- C#开发基于ESMTP协议的邮件发送系统经验总结
- Socket开发探秘--基于Json格式的数据协议收发
- 简单介绍基于WEB开发的HTTP协议
- iQQ 基于WebQQ3.0协议Java开发 跨平台QQ客户端
- 基于Wms协议的Map开发(五:模块组成)
- 基于Wms协议的Map开发(六:通讯模块)
- 数据终端设备与无线通信模块之间串行通信链路复用协议(TS27.010)在嵌入式系统上的开发
- 简单介绍基于WEB开发的HTTP协议
- 基于C#的http协议开发
- 基于C#的http协议开发
- 在Silverlight开发基于http协议客户端连接器(一)
- 简单介绍基于WEB开发的HTTP协议
- 简单介绍基于WEB开发的HTTP协议
- c#基于RTP协议开发音频视频传输学习手记一
- 在Silverlight开发基于http协议客户端连接器(三)