资源描述:
《ASIC对二三层处理理和三层数据流过程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Programmer’sGuideBCM5650X10/20/05Section3:PacketFlowThefollowingdescribeshowpacketsflowfromvariousingress/egressports.Atagenerallevel,thissectionillustrateshowtheBCM5650Xtreatspacketflowandcongestion.Foraspecificcase,suchasIPv4toIPv6packetflow,refertotheBCM5650X/BCM5660XApp
2、licationNote,IPv4/IPv6Tunneling.L2INGRESSPACKETONGbE/10-GbEPORTSFigure7illustratesthedatapathfromaGbEporttoaHiGigandotherGbEports.UntaggedorMACbasedPri-TaggedPacketTagFieldSubnetbasedCheckProtocolbasedDefaultTaggedVLANInvalidCopytoCPULookupOrDropValidSTGIngressFilterCheckCo
3、ntinuetoPortMatchYesMAC_DAFoundCheckMAC_SALookupLookupNoNotFoundDroppacketCopytoCPUCMLSettingLearnSAinH/W,continuetoMAC_DAMAC_DAlookupLookupBPDU=0DST_MODIDL2_User_EntryFoundBPDUDST_PORTSettingCopytoCPUBPDU=1NotFoundDroppacketorFloodtoVLANFoundDST_MODIDL2_Entry_TableDST_PORT
4、/TGIDNotFoundFloodtoVLANFigure7:L2IngressGbE/10-GbEPacketFlowBroadcomCorporationDocument5650X-PG102-RPacketFlowPage197/12/2006VRWTCBCM5650XProgrammer’sGuide10/20/05TheBCM5650XsupportsstandardEthernet/IEEE802.3packets(64bytesto1522bytes),aswellasJumbopacketsupto9216bytes.The
5、packetparserwithintheingressblockparsesanincomingpacketandextractsallthefieldsneededbytheingresslogicandContentAwareengine.Next,thedevicedeterminesifitistagged,untagged,orprioritytagged.Ifitisuntaggedorprioritytagged,thedeviceobtainstheVLANIDfromthefollowingtables:•MAC-base
6、dtable•Subnet-basedtable•Protocol-basedtable•Port-basedtable(default)Ifthepacketistagged,thenVLANIDispickedupfromthepacketitself.ThepacketthenpassesthroughaVLANlook-uptabletodetermineifitispartoftheVLAN.IfthepacketbelongstotheVLANthenitsspanningtree,VLANportbitmapandPFM(por
7、tfilteringmode),areprocessed.IftheVLANIDisnotvalid,thepacketisdroppedorsenttotheCPU.Figure8,Figure9,andFigure10showthedifferentstepsthataretakentorecognizetheVLANtaggingstatusofanincomingpacket.[VlanTag]DTNNI(NetworkPort)ModeDoubleTaggingYesUNI(Access)Port?YesMode?OuterTag=
8、ServiceProviderTagInnerTag=CustomerTagNoYesOutervInnerTag=0vOuterTag=0OuterInnerIf