BCM芯片介绍

在l3交换逻辑中,第一个阶段是sip查找。在l3表中查找sip,如果没有匹配到,不设置命中标志位,dip被查找。数据包能够

 

 

 

DIP查找,设备在l3表中查找包含在ipv4 数据包中的dip,这个表正常的表示用为了直接的附加到主机上,如果地址被找到,这个入口包含一个到ING_L3_NEXT_HOP和EGR_L3_NEXT_HOP表的索引。

从这个ING_L3_NEXT_HOP表来看,数据包的目标端口被获得,从这个EGR_L3_NEXT_HOP来看,数据包的下一跳MAC地址和EGR_L3_INIT表(包含路由器MAC地址和出口的VLAN)被得到。

对于在L3表的miss,硬件又寻找layer3 LPM(最长前缀匹配)表。一个最长前缀匹配寻找被用来决定跟所给的地址匹配的最长网关。如果找到了,这个入口包括一个索引(NEXT_HOP_INDEX)到ING_LE_NEXT_HOP和EGR_L3_NEXT_HOP表,数据包的下一跳MAC地址和EGR_L3_INTF表(包含路由器MAC地址和出口的VlAN)被获得。

 

没有静态的默认路由,所以使用者应该在LPM表中编写合适的默认路由。用所有的掩码位集合编写一个入口是有可能的,所以匹配所有的数据包,对于成功地路由的数据包,硬件自动的替换在数据包中的SA,DA和VID,它也减少了IP存活时间TTL(time tolive)领域,重新计算了ip校验码和Ethernet FCS。没有成功地路由的数据包被随意的发送给cup处理。第三层的表包括了一个hit位来支持基于软件的入口老化,这个hit位在一个dip hit被更新并随意的在一个sip hit。这个LPM表包括一个更新在一个LPM匹配的hit bit

入口/出口数据包 cpuport

Cpu端口是之前提到过得CMIC块的一部分,通过PCI/PCle或者Gbe接口,BCM56680连接到一个外部的CPU。BCM56680允许用户通过CPU端口到任何gbe或者HiGig端口发送和接受数据包。出于这个目的,DMA引擎作为一个pci总线master操作。CMIC现在有能力发送两种类型的数据包到cpu,Ethernet数据包和HiGig格式数据包。

当一个数据包作为Enthernet包被发送,它通过常规的入口处理和转发犹如它从一个GbE端口进入芯片。数据的转发行为被转发逻辑所决定。数据包可能穿过转发到一个本地端口被发送。穿过Fabric(建筑物?)发送,或者甚至复制或交换回到CPU,无论怎样这是被交换逻辑所决定的。

当一个数据包作为一个HiGig数据包被发送,cpu通过发送带有HiGig头的数据包拥有转发行为的全部控制权。这是使用在以前的StrataXGS设备的模式。数据包基于精确的被cpu指定的HiGig头中的信息进行转发。HiGig 能够被使用于发送控制数据包(例如,BPDU,RIP,OSPF,ARP,RARP,诊断数据包,学习数据包和cpu到cpu的数据包)。

Section 5 :L2 特征表和操作。

 

BCM56680设备支持一下二层特性:

学习

站点移动控制

L2地址老化

LE地址学习范围

L2多播

L2 用户入口

多标签协议(MPLS)站点

L2端口桥接

生成树

这些设备也=支持二层的交换机。这个特性的主要组成部分是L2表,对于应用的以下四个不同类型被使用。

1、对于交换机二层单播数据包基于VLAN的桥接(basic)

2、Single-VLAN交叉连接 for DSLAM转发是基于外部vlan_id完成的。

3、 Double-VLAN交叉连接 for DSLAM转发是基于外部和内部vlan_id完成的。

4、VFI-based VPLSbridging for supporting VPLS(VPLS虚拟专用局域网业务。目前比较热门的一种MPLS二层VPN技术。)

这个表被硬件管理,对于所有的数据包大小和情况允许线速转发。只有常规的VLAN和基于入口的VFI能够被学习到,但是所有的入口类型能够被老化。

为了支持基于VLAN的桥接,基于MAC地址和外部VLAN ID(VID),学习和转发被执行。这提供了独立VLAN学习(IVL)的无缝支持。对于交换决策,{DST MAC,VID}被用来查找L2表。当匹配被发现时,入口提供moduleID和port ID,TGID,VPG,或者L3指示。

当地址没有被找到,数据包是一个目的地查找失败(Destinationlookup Failure ,DLF),and 被泛洪到整个VLAN。广播数据包(MAC DA == FF:FF:FF:FF:FF:FF),也泛洪到整个VLAN。

为了支持单个Vlan的交叉连接应用。基于外部VLAN ID转发被执行。当发现匹配时,入口提供moduleID和port ID,TGID,VPG,或者L3指示。当匹配没有被发现,包被丢弃和它被随意的复制到CPU。

为了支持double Vlan交叉连接应用,基于外部和内部的VLAN ID转发被执行。当发现匹配时。入口提供module ID和port ID,TGID,VPG,或者L3指示。当匹配没有被发现,包被丢弃和它被随意的复制到CPU。

Learning

 L2_ENTRY TABLE

L2_ENTRY 表被组织成一个有4096buckets,每个有八个入口的逻辑表,当高级的哈希被激活(使能够),LE_ENTRY表被分成两块逻辑表,而不是一块,每个逻辑表有4096buckets,每个有四个入口。

L2_ENTRY包含入口的四种不同类型,基于VLAN的桥接(basic),single-vlan交叉连接,double-vlan交叉连接,和VFI-based VPLS briging.只有VLAN和基于入口的VFI能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值