基于88E6095的链路冗余协议开发(三)

VLAN配置

链路冗余协议支持两种运行方式:
1. 基于物理端口进行计算,不考虑VLAN功能实现,例如STP,RSTP
2. 基于VLAN中的端口进行计算,例如MSTP
如果我们要实现基本VLAN模式的链路冗余协议,在协议配置之前,需要确定端口的VLAN配置信息。
VLAN的功能参考网络资料及802.1Q说明文档,该章节不对VLAN功能本身进行说明,主要介绍VLAN功能在88E6095的支持和应用。
88E6095支持两种VLAN模式,分别为3.5.6 Port Based VLANs和3.5.7 802.1Q VLANs。我们主要对802.1Q VLANs的实现进行介绍。
802.1Q VLAN主要支持一下几个方面的功能:
1. vlan优先级
2. 端口配置

3. 端口stp状态

功能实现

88E6095通过VLAN Translation Unit Operations接口对802.1Q VLANs进行配置,VTU通过一组VTU配置寄存器,组成VTU Entry对VTU database进行读写,参考88E6095的3.5.11 VLAN Translation Unit Operations。

VTU提供的配置寄存器如下:


其中VTU Operation寄存器定了VTU支持的操作功能,如下:


由VTU register的内容组成一条VTU Entry,格式如下:


其中各字段内容说明如下:




对各字段的简单说明如下:
MemberTag

用来指定当前端口是否包含在该VID指定的VLAN中。如果包含在该VLAN中,则可以指定该port对vlan tag的操作模式,包括四种状态:

00:port在vlan内,转发报文不修改报文的vlan tag状态

01:port在vlan内,发送报文剥离vlan tag

02:port在vlan内,发送报文添加vlan tag

03:port不包含在该vlan内


PortState:

用来配置vlan中port的stp状态,该功能实现了对基于vlan的链路冗余协议的支持。

接口函数

函数名称:

vlan_add

函数功能:

添加端口到指定vlan。

(该函数当前添加指定端口按照00(port在vlan内,转发报文不修改报文的vlan tag状态)进行添加。后期需要根据功能需求对接口函数进行修改。

Vlan添加端口一般不使用00模式,主要使用01(utag)和02(tag)模式进行添加。其中一个端口使用utag模式只可以添加一个vlan,使用tag模式可以添加多个vlan。

当前函数原型为void vlan_add(U16 vid, U16 port)。

建议后期修改为int vlan_add(U16 vid, U16 utag_map, U16 tag_map)实现可以参考vlan_add的当前实现进行修改。)

函数名称:

vlan_read

函数功能:

根据指定的VID读取VTU Entry。


函数名称:

vlan_delete

函数功能:

根据指定的VID删除VLAN。

(该函数功能当前未实现,根据vlan_add的代码及88E6095文档3.5.11说明进行操作)


函数名称:

Set_vlan_port_status

函数功能:

设置指定vlan中指定端口的stp状态。


该函数当前未实现,建议实现原型如下:

int Set_vlan_port_status(U16 vid, U16 port, U16 status)


在链路冗余协议中,在使用vlan base模式时,会使用多个vlan组成一个stg,协议状态机基于stg进行计算和配置操作。

使用88E6095实现是,需要对Set_vlan_port_status函数进行封装,根据vlan和协议配置,软件层实现stg层实现,包括以下函数。

Int stg_vlan_add(U16 stg, U16 vid)

Int stg_vlan_del(U16 stg, U16 vid)

int Set_stg_port_status(U16 vid, U16 port, U16 status)

加入一个stg的vlan,原则上要求添加的port相同(tag状态不需要相同),在执行Set_stg_port_status操作时,对加入的stg的vlan进行遍历,然后调用Set_vlan_port_status进行设置。





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 88e6095芯片手册是指Marvell公司开发的一款芯片手册。该芯片手册主要介绍了88e6095芯片的功能、性能、使用方法以及相关技术细节。 88e6095芯片是一款高性能的以太网交换芯片。它采用了先进的集成电路设计技术,具有良好的性能和可靠性。该芯片支持多种以太网接口类型,包括千兆以太网和万兆以太网,能够满足不同应用场景的需求。 88e6095芯片手册详细介绍了芯片的功能特性和性能参数。它包含了关于芯片引脚功能的说明,各个接口的使用方法以及与其他设备的接口协议。此外,芯片手册还介绍了芯片的工作原理和各个功能模块的实现方式,帮助用户更好地理解和应用该芯片。 在88e6095芯片手册中,还包含了关于芯片的软件开发指南。它详细介绍了芯片的软件编程接口、软件开发工具和软件调试方法,为用户提供了开发和调试的参考文档。通过芯片手册中提供的软件接口,用户可以方便地编写控制芯片的软件程序,实现各种功能和应用。 综上所述,88e6095芯片手册是一份详尽的技术文档,对于使用和开发88e6095芯片的用户来说,是一份非常宝贵的参考资料。它提供了关于芯片功能、性能、软件开发等方面的详细介绍,帮助用户更好地理解和应用该芯片。 ### 回答2: 88e6095芯片是一款高性能以太网交换芯片,由马维尔公司推出。该手册是针对88e6095芯片的详细说明书,内容包括芯片的主要技术参数、功能特性、引脚定义以及外部接口等。 首先,手册详细介绍了88e6095芯片的主要技术参数。例如,该芯片支持高达10Gbps的数据传输速率,具备先进的流量控制和差错检测机制,能够满足高性能网络设备的需求。 其次,手册介绍了88e6095芯片的功能特性。该芯片支持多种网络协议,包括IEEE 802.3、IEEE 802.1Q VLAN,以及IGMP和Spanning Tree等网络管理协议。它还支持多种网络拓扑结构,如星型、型和网状结构,灵活性强。 此外,手册还详细说明了88e6095芯片的引脚定义和外部接口。用户可以根据手册中提供的引脚信息,正确连接芯片与其他外部器件。同时,手册还提供了芯片的典型应用电路图和相关示例代码,方便用户进行参考和设计。 总的来说,88e6095芯片手册是应用于该芯片的重要参考资料,内容详尽全面。通过学习该手册,用户可以深入了解88e6095芯片的特性和使用方法,从而更好地应用于自己的项目中。 ### 回答3: 88e6095芯片是一款高性能的以太网交换芯片,适用于各种网络设备。该芯片手册详细介绍了芯片的各项功能和特性,以及如何使用和配置芯片使其能够正常工作。 首先,手册介绍了芯片的硬件架构,包括内部的各个模块以及它们之间的连接方式。通过了解芯片的硬件结构,用户可以更好地理解各个模块之间的相互作用和通信方式,为后续配置和调试提供基础。 其次,手册详细说明了芯片的通信协议支持,包括以太网、IEEE 802.1Q、VLAN等。用户可以根据自己的实际需求,选择合适的协议来支持不同的通信需求。同时,手册还提供了各种协议配置参数和详细说明,帮助用户正确配置芯片以实现所需功能。 此外,芯片手册还介绍了芯片的各项性能指标,例如吞吐量、时延、功耗等。用户可以根据这些数据来评估芯片在特定应用场景下的适用性。手册还提供了一些建议和最佳实践,帮助用户优化性能并解决可能出现的问题。 最后,芯片手册还提供了软件开发相关的信息,包括驱动程序和API接口的说明。用户可以参考手册中的指南,开发适配自己的应用程序的驱动程序,并与芯片进行交互。 总之,88e6095芯片手册详细介绍了这款芯片的功能、特性和应用。它为用户提供了全面的指导,使用户能够充分理解芯片并正确应用,以满足各种网络设备的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值