bcm56146學習筆記

HiGig/HiGig+/HiGig2
HiGig(通常稱爲HiGigTM)是Broadcom公司的私有串行總線互聯方案,於2001年推出,主要用於Broadcom公司StrataXGS系列芯片(如BCM5670/BCM5690等)之間的互聯(也可以跟支持HiGig協議的NPU或ASIC連接),既可用於板內連接,也可通過背板走線形式實現跨板連接。
HiGig總線是在以太網協議的基礎上發展而來的,它在以太網二層報文中插入HiGig頭,形成HiGig報文,通過HiGig頭部攜帶的控制信息,來實現芯片端口的鏡像、聚合、QOS等功能。


如上圖所示,將以太網二層報文的8Byte前導碼和4個字節幀間隙(共12個字節幀間隙)替換成12個字節的HiGig報文頭,這樣,HiGig報文只有8個字節幀間隙,沒有前導碼。
HiGig接口支持的最大速率爲10Gbps(共4對SerDes通道,每通道最大支持3.125Gbps,因爲經過了8B/10B變換,所以有效帶寬爲2.5Gbps),物理層電氣特性如XAUI端口相同(詳見IEEE802.3ae clause 47)。
Broadcom公司在其StrataXGS II系列產品上(如BCM5675/BCM5695等)推出了HiGig+總線,HiGig+只是在HiGig的基礎了做了細微改進,將端口支持的最大速率從10Gbps提高到12Gbps(每個通道的最大速率從3.125Gbps提高到3.75Gbps),至於協議部分,沒有做任何更改,與HiGig完全一樣,所以對HiGig接口完全兼容。
隨着通信技術的發展,HiGig/HiGig+總線也暴露出了其自身的侷限線,在對更高端的網絡市場應用中顯得力不從心,主要表現在以下幾個方面:
1).地址空間和服務種類有限,滿足不了更高級系統應用;
2).頭部結構不夠靈活,滿足不了未來技術發展;
3).對流控和負載均衡技術支持不足。
在此背景下,Broadcom公司於2005年在其StrataXGS III系列產品(如BCM56580/ BCM56700/BCM56800等)上推出了HiGig2總線,HiGig2總線在HiGig+總線的基礎上,對端口速率和傳輸協議都進行了更改。
HiGig/HiGig+報文頭爲12個字節,而HiGig2報文頭部增加到16個字節,使得HiGig2報文可以攜帶更多的信息來決定報文的處理方式,如鏡像、重定向、流控和負載均衡等。如下圖所示:


說完HiGig/HiGig+/HiGig2後,不得不順便說下另外一種非主流的HiGig類協議HiGig-Lite。由於HiGig-Lite不能與HiGig/HiGig+/HiGig2兼容,所以其只在很小範圍內有使用(只侷限在BCM5601x/BCM5620x/BCM5622x/BCM5371x幾個系列芯片上)。HiGig-Lite端口只支持2.5Gbps速率,報文幀結構同XGMII類似。
HiGig-Lite協議不像HiGig/HiGig+/HiGig2那樣將報文的前導碼和部分幀間隙替換成HiGig/HiGig+/HiGig2頭部,以求變換後的報文傳輸效率不變,而是保持原以太報文的前導碼和幀間隙不變,只是在以太報文的前導碼和目的MAC地址之間插入了一個16字節的HiGig-Lite報文頭,如下圖所示:


HIGIG

Higig(XAUI)接口有4個通道,higig header中byte0使用lane0傳輸,byte1使用lane1,byte2使用lane2,byte3使用lane3,byte4使用lane0,依次類推。
Higig header主要包括:START_OF_FRAME (SOF)、DST_MODID、SRC_MODID、HDR_EXT_LENGTH、VID_HIGH、VID_LOW、VID_LOW、 SRC_MODID、SRC_PORT_TGID、DST_PORT、DST_MODID 、HDR_TYPE。其中HDR_TYPE決定HDR_TYPE之後4byte的格式。
HDR_TYPE:00 = Overlay 1 (default),提供mirroring/trunking信息
01 = Overlay 2 (classification tag),提供分類、過濾處理。


HIGIG2

HIGIG2 PACKET HEADER

Higig2 Packet Header: 中包括, FRC和PPD。
1)K.SOP (0xFB): control character will always be aligned with Lane 0.即分隔符
2)K.EOP (0xFD): control character will be aligned depending on the length of HG_Payload
3)HG_Payload: will carry the Ethernet frame starting from the MACDA field
4)Fabric Routing Control (FRC),佔用7個字節。FRC中比較有用的是:
MCST(多播還是單播)、
TC [3:0](用於qos)、
DST_MODID [7:0] /MGID [15:8] (目的mode id)、
DST_PID [7:0] /MGID [7:0](目的端口id)、
SRC_MODID [7:0](源mode id)、
SRC_PID [7:0](源端口id)、
PPD_TYPE(Packet Processing Descriptor Type)

5)Packet Processing Descriptor (PPD),佔用8個字節。主要是根據FRC中的PPD_TYPE決定PPD的結構
000: PPD Overlay1
001: PPD Overlay2
010~111: Reserved。
6) HG_CRC32: will cover the bytes starting from the K.SOP to the last byte of the HG_Payload for packet error protection.

HIGIG2 MESSAGES

Higig2 messages佔用16byte。
K.SOM:分隔符
HG_CRC8:crc校驗,從K.SOM到最後一個HG_Message。
Higig2 messages可以出現在higig2數據包中,也可以獨立成包。

Higig2 messages包括MSG_TYPE(message類型)、FWD_TYPE
MSG_TYPE
000000: Flow Control
FWD_TYPE:
00: Link Level

Higig2能夠兼容HiGig+,而HiGig+不能兼容higig2.


在支持higig2和higig+的結構,結構圖如下

Combo MAC能夠區分higig2 header和higig+ header.
Translation shim負責轉換爲higig+ header。
Common HiGig+ Fabric Processing Core負責處理路由方案。

HIGIG-LITE
HIGIG-LITE header 位於以太報文的前導碼和目的MAC地址之間,佔用16byte,HIGIG-LITE由兩部組成:8byte的FRC和8byte的PPD。
HIGIG-LITE堆疊協議與基於HIGIG、HIGIG2的StrataXGS設備是不能兼容的,只有基於HIGIG-LITE的設備之間可以堆疊。

功能描述
每個交換設備都有唯一的一個mode id,用於轉發數據包。Frabric設備沒有mode id,因爲他們只適用於擴展系統,而不是邊沿設備,它只是需要通過mode id定位到相應的端口。
Mode id的數量是有限的,原來一個端口對應一個mode id,後來由於支持了重新映射功能,可以有多個端口對應一個mode id,通過端口數來區別。
當一個數據包需要通過higig口傳遞時,入**換設備需要header域添加合適的信息,fabric設備和其他交換設備需要分析header中的opcode,來獲知數據包的類型(CPU、broadcast、multicast、known unicast)。

Opcode=0:cpu控制報文。在大多數情況是發送給cpu的報文。
Opcode=1:known unicast packet。入**換查找2層/3層 table,找到一個匹配的。在mode header中,dst_modid 、dst_port 制定了最後的出口。中間的Fabric、交換設備根據MH中內容來轉化數據包,在目的mode,通過dst_port來發送到對應的端口上。不需要轉發表。
The ingress switch device will set opcode==1 for the following conditions:
1. Matching L2 entry
2. Matching L3 entry
3. FP match action==redirect
Opcode=2:用於廣播,或者是在table中沒有找到匹配的單播。Fabric、switch設備會將報文發到MH中制定的vlan中的其他成員。
Opcode=3:KNOWN L2 MULTICAST PACKETS。入**換查找L2/L2MC table,找到一個匹配的。在mode header中,dst_modid 、dst_port 指定了多播組id,中間的Fabric、交換設備根據MH中多播組id在L2/L2MC table查找,確定最後目的端口號。
Opcode=4:KNOWN L3 MULTICAST PACKETS。入**換查找L3/L3MC table,找到一個匹配的entry,在mode header中,dst_modid 、dst_port指定了IPMC group ID, 中間的Fabric、交換設備將定位L3/L3MC table,使用MH中IPMC group ID,確定最後目的端口號。
Opcode=5、6、7:無效的操作。
端口鏡像
在StrataXGS I/II,端口鏡像到鏡像端口端、報文發送到目的端口,需要module header中的mirror, mirror_done, mirror_only確定。

STRATAXGS I MIRRORING (BCM5670)

(mirror, mirror_done, mirror_only)==(100)表示報文需要映像和交換。如果交換端口和鏡像端口爲同一個端口,那麼只需要發送一個報文;如果不是同一個端口,需分別發送一個報文。無論是發送到交換端口還是鏡像端口,報文module header域都不需要改變。
上圖中MTP爲鏡像端口,B爲交換端口

STRATAXGS II INGRESS MIRRORING (BCM5675)

上圖中MTP爲鏡像端口,B爲交換端口。
如果映像端口與交換端口不是同一個端口,會發送兩個數據包,兩個端口各一個。
(mirror, mirror_done, mirror_only)==(110)表示報文只映射不交換
(mirror, mirror_done, mirror_only)==(101)表示報文值交換不映射

STRATAXGS III INGRESS MIRRORING (BCM56500)


交換設備在經過higig會建立會有3份數據包拷貝: Switch copy、Ingress mirror copy 、Egress mirror copy
發送switch copy時,header會是MH.opcode==1 (known unicast), dst_modid, dst_port, mirror=0。
發送mirror copy時,header會是MH.opcode==1 (known unicast), dst_modid, dst_port, mirror=1。
對於ingress mirror copy,報文是沒有經過修改的原始報文。

2.5G HIGIG 模式
在2.5G higig模式下,只是用一個通道XAUI lane (0),XAUI lane (1-3)沒有使用。只有基於XAUI 的端口才支持2.5G higig模式


56146功能
56146簡介

該款芯片有24個FE口,4個1G/2.5G口。
56146支持的交換功能:L2交換、l2多播、vlan、Double VLAN Tagging、VLAN Range-Based Double Tagging、端口過濾、速率風暴控制、生成樹、鏈路匯聚、鏡像、L3路由、IP多播、CFP、QOS、端口安全、DoS、Cpu協議包處理、堆疊、MIB等。
56146支持Ethernet/IEEE 802.3包長爲64-1522B,jumbo數據最大爲12KB,支持16K的mac地址學習,支持1K的2層多播組,支持4k vlan,鏈路匯聚支持128個trunk,每個端口有8個CoS隊列,堆疊支持128個module,
56146的交換能力達到12.4Gps,24個FE口支持10M/100M,使用的接口是S3MII,BCM56146有2個HyperCores,每個HyperCores可以設置2個1G/2.5G port,所以有4個1G/2.5G端口,當設置爲1G時,支持10/100/1000M full/half-duplex, 1000Base-X (fiber), 100Base-FX mode (fiber)模式,使用SGMII接口,當設置爲2.5G時,支持HiGig-Lite或overclocked-Ethernet模式。
Cpu對56146的訪問主要使用pcie接口。Port-based rate control with 8 Kbps granularity。
主要包括的表是:
1)端口表(Port Table):每個端口在表中有一條目,記錄l2學習、沒用的端口、vlan處理、任務優先級等。
2)基於mac的vlan表(MAC-Based VLAN Table):能容納24K的mac地址,是基於源mac的vlan表,這個表與vlan轉換表協同工作。
3)Vlan轉換表(VLAN Translation table):入口、出口分別2K,用於客戶vlan與服務提供商vlan之間轉換,與基於mac的vlan表協同工作。
4)基於協議的vlan表(Protocol-Based VLAN Table ):每個端口16個。
5)Vlan表(VLAN Table):容納4K個vlan,顯示每個vlan的端口和生成樹組。
6)生成樹組表(Spanning Tree Group Table):容納256個生成樹組,顯示每個生成樹組中每個端口的生成樹狀態。
7)mac地址表(MAC Address Table):容納16K個mac地址,包括學習到的mac和編寫的mac,表示目的端口和其mac地址屬性(源、目的丟棄、阻塞、優先級、鏡像等)
8)保留mac地址表(Reserved MAC Address Table):包括64個條目,存儲保留的mac地址。
9)mac阻塞表(MAC Block Table):容納32組。出口處的阻塞、洪泛的源mac地址組。
10)2層多播表(Layer 2 Multicast Table):容納1K組。存儲2層多播組。
11)鏈路匯聚組表(Link Aggregation Group Table):容納128組。表示鏈路匯聚組端口成員與hash選擇條件的關係。
12)基於IP子網的vlan表(IP Subnet-Based VLAN Table):容納256個子網。
13)DSCP表(DSCP Table):容納1920個條目。重新映射入口、出口DSCP到新的DSCP和優先級
14)3層主機路由表(Layer 3 Host Route Table):容納512個IPV4主機,或256個IPV6主機。
15)3層最長前向匹配路由表(Layer 3 LPM Route Table):64 IPv4 路由或32個IPv6 路由
16)3層IP組播表(Layer 3 IP Multicast Table):容納64組。


56140系列交換芯片功能
56140系列芯片主要包括包括:

他們符合StrataXGS? IV switching family

Pipeline Blocks
1)Intelligent Parser:包括full parser 和HiGig+/HiGig2 parser。Full parser主要是分析入口處的數據包中前128字節的。Higig parser主要是分析HiGig+/HiGig2 header信息。
2)Security Engine:主要提供Early discard detection、Control Denial-of-Service, DoS, attack detection、Flow-based mirroring、Flow-rate metering。
3)L2 Switching:執行vlan、權限任務,尋找轉發包的目的mac地址、源mac地址學習,包括VLAN type select、VLAN look-up、L2 unicast look-up、L2 multicast look-up。
4)L3 Routing:支持3層的ip協議。執行單播、多播數據包的源ip地址、目的ip地址查找。包括:L3 unicast look-up、L3 multicast look-up、Longest prefix match、Look-up switch logic、 Strict and loose uRPF checks。
5)ContentAware Processing:支持快速過濾處理、ACL、differentiated services、QoS。要分析這些內容:MACDA, MACSA, DIP, SIP, TCP, several others等等。
6)Buffer Management:提供cos、帶寬保障、帶寬限制、metering mechanisms。
7)Modification:數據包的修改可能是由於VLAN Translation、L3 routed packet modification等原因。

Memory Management Unit
內存系統主要有CBP和transaction queue (XQ)組成,主要是管理cell buffer,設備支持1.5M cell buffer poll(CBP)。對於buffer的管理方式主要是:Ingress backpressure (IBP)、Head-of-line (HOL) prevention、 Ingress rate shaping, PAUSE metering
a) IBP主要用於入端口,緩解端口擁塞;儘可能減少數據包的丟失。 在Ingress Ports上有效管理buffer資源; 基於每端口設置IBP產生門限值與IBP消除門限;當到達的數據包數量滿足達到門限,發送Pause幀; 當達到的數據包數量低於IBP的消除門限,停發Pause幀;
b) HOL主要用於出端口和cos。
? 當多個端口或多個流向一個端口發送數據包時有可能會產生阻塞,會引起輸入端口到其它端口數據包的丟失,此種情況即爲HOL(Head-of-Line Blocking,線路頭阻塞)。
? 通過設置HOL門限值,當進入的數據包達到該門限,不再允許新的數據包進入Egress隊列,在MMU丟棄這些數據包。HOL預防機制通過丟棄數據包達到目的; 與PAUSE Metering, Ingress Backpressure不同。
? 提供兩種HOL預防機制:Cell-base。設置每個端口所用memory大小; Packet-based。設置每個端口輸出隊列的包的最大個數.
c) PAUSE Metering:主要是爲入口提供實現入口速率整形。他會追蹤每個入端口的帶寬,當超過限制時,會發送PAUSE message。
? 每個端口有獨立的漏桶,用於限制帶寬與流量整形。
? 如下所示,每T_REFRESH(7.8125 ms)週期從BUCKET中取出REFRESHCOUNT 個token (每token=0.5bit);
? 初始化是漏桶bit值爲0(令牌爲full),當進入一個packets 時,相當於往BUCKET注入相應的token,每週期取出REFRESHCOUNT ;當進入的包大於PAUSE_THD 時,PAUSE幀產生;這就是PAUSE Metering功能,用於IBP機制;

Search Engines
支持Hash search engine、CAM search engine。
Hash search engine (HSE)主要用在L2 MAC table (for look-up and learning), L3 host table (for IPv4 and IPv6 look-ups), MAC VLAN, IPMC searches (s,g) and (*,g), Ingress VLAN translation, and egress VLAN translation中。
CAM search engine (CSE)主要是在使用ContentAware engine時,被Default routing/policy routing/ingress ACL或HiGig ACL觸發。

ContentAware Processor (CAP)
所謂ContentAware就是對packet的內容進行智能匹配的技術。主要是爲ACL, DSCP, QoS等提供支持。

這5個部分分別是智能協議識別選擇器、CAM查找引擎、策略引擎、meter和統計引擎、動作裁決引擎。在ingress端口,智能協議識別選擇器對進來的包的前128bit按照協議字段進行選擇和標記,CAM查找引擎按照用戶給的key匹配協議選擇器的內容,如果找到了,就執行策略引擎的動作,並可以實驗meter和統計引擎進行限速、標記顏色和統計。

MEF Policing
Meter用於監控傳輸帶寬。SrTCM、TrTCM、modified TrTCM是meter的三種方案。有待定信息速率(CIR)和額外信息速率(EIR),他們有一定擴展範圍,分別是CBS和EBS
- 當進入包數量在CBS之內時,報文標識爲Green,可被轉發的報文;
- 當進入包數量超出CBS但在EBS之內,超出CBS部分的包標識爲YELLOW, YELLOW 包不保證可發,可應用丟棄/轉發操作;
- 當進入的包數量超出EBS,超出EBS的包標識爲RED,不會得到令牌轉發;

Committed Information Rate (CIR)
Committed Burst Size (CBS)
Excess Information Rate (EIR)
Excess Burst Size (EBS)

CPU Management Interface Controller (CMIC)
CPU通過PCI接口與芯片的CMIC模塊連接,並與芯片交互數據;通過PCIe接口,提供兩種交互數據的機制:
- DMA 通道;用於交互大量數據塊,比如收發數據包,CPU獲取芯片的內存表數據;
- MESSAGING MECHANISM(消息機制);用於交互小數據塊,比如CPU讀寫芯片寄存器,讀寫內存表;

Packet Flow
1)2層入口數據包流
數據包到達入口處時,會被分析,從數據包取出相關的內容,進行CAP處理,然後,判斷數據包是否已經加了tag還是沒有加tag。對於沒有加tag的數據包,需要從VLAN_XLATE table、 Subnet-based table、 Protocol-based table、 Port-based table (default)中指定vlan id。對於已經加tag的,可以從數據包中獲得vlan id。通過vlan查找表,可以知道數據包是否屬於這個vlan,如果屬於這個vlan,將進行STP、vlan端口bitmap、PFM (port filtering mode)處理,如果這個數據包的vlan是無效的,將丟棄該數據包。
隨後,開始了學習階段。查看該數據的源mac地址和vlan id是否已經在L2 table中,如果有,說明已經學習過了,如果沒有,學習的方法取決於CPU Managed Learning (CML)的設置,是通過硬件學習,還是傳給cpu,還是丟棄。
下一階段是目的mac地址查找。如果在L2_USER_ENTRY中找到,數據包的目的地址要基於BPDU設置。如果BPDU設置爲0,數據包將根據目的module、目的端口進行轉發;如果BPDU設置爲,數據將被丟棄、或拷貝給cpu、或洪泛到vlan中。如果在L2_USER_ENTRY中沒有找到,但在L2_ENTRY table中找到了,將會轉發到DST_MODID 、DST_PORT/TGID。否則,則洪泛到整個vlan中。
當數據包是多播包時,經過的路徑與單播包一樣。當多播包在L2_ENTRY中找到,L2_ENTRY的索引將用來確定L2MC table的索引。L2MC table用於映射出端口,當PFM爲0時,將洪泛到整個vlan中,當PFM爲1是,將轉發給L2MC table中指定的端口。
對於多播包,經過的路徑與單播包一樣,只是在學習之後,將報文轉發給該vlan的所有成員。
2)3層入口數據包流
如果查目的MAC地址表的時候發現L3bit置位了,就進入到L3轉發流程。L3交換可以實現跨VLAN轉發,而且它的轉發依據不是根據目的MAC地址,而是根據目的IP。L3轉發的流程是:
首先對L3頭部進行校驗,校驗和錯的包直接丟棄;然後進行原IP地址查找,如果主機路由表中沒有找到,會上報給CPU,CPU會進行相應的處理,並更新接口表;
下一步進行目的IP地址查找,如果主機路由表中沒有找到,就會在子網路由表中進行查找,在子網路由表中進行最長子網匹配的查找算法,如果在子網路由表中還沒有找到,也送給CPU進行處理,如果在主機路由表或子網路由表中找到了,就會得到下一跳的指針。如果ECMP使能的話,會得到ECMP的指針和ECMP的個數,從而根據hash算法得到一個下一跳指針。下一條表項中包含了下一跳的MAC地址和接口表的索引。在包轉發出去的時候,用下一跳的MAC地址替換掉包的目的MAC地址。用接口表中的MAC地址和VLAN替換掉包的原MAC地址和VLAN。


L2 功能介紹
主要包括:
? “Learning” (mac地址學習)
? “L2 Address Aging” (2層地址老化)
? “L2 Address Learning Limits” (2層地址學習限制)
? “L2 Multicast” (2層多播)
? “L2 User Entry” (2層用戶登記)
? “L2 Port Bridge” (2層端口橋)
? “Spanning Tree” (生成樹)

1) Learning
L2_ENTRY表中包含三種不同的類型:
VLAN-based bridging (basic),
single-VLAN cross connect,
and double-VLAN cross connect.
當CPU managed Learning (CML)模式設置時,硬件mac地址學習使能。通過CML_FLAGS_NEW和CML_FLAGS_MOVE控制CML,CML_FLAGS_NEW用來控制數據包中mac地址不認識的情況,CML_FLAGS_MOVE用來控制入口的數據包的mac地址與2層表中記錄的該端口mac地址不相同的情況。有四種處理方式:HW學習包、pending學習、拷貝給cpu、丟棄。

L2_MOD_FIFO有128條記錄,用於向cpu通知L2_ENTRY 表發生了變化,L2_MOD_FIFO表中存儲了L2_ENTRY表的改變。
2)L2 Address Aging
通過L2_AGE_TIMER寄存器來使能老化,和設置老化時間。

3)L2 Address Learning Limits
? 設置每端口/每LAG,每VLAN與每芯片地址學習限制:
- 每芯片地址學習限制與當前學習的MAC數量統計
- 28個端口,每端口可設學習限制,當前學習的MAC統計;
- 128 個LAG,每LAG可設學習限制,當前學習MAC統計;
- 4095 VLAN,每VLAN可設學習限制,當前學習MAC統計;
? 支持使能地址限制Check功能:
數據包分別經過system limit,port/LAG limit, VLAN limit逐級檢查,如限制門限達到,丟掉該數據包;也可選送CPU;
4)L2 Multicast
? 支持三種PFM模式 (port filtering modes):
? PFM A, 所有組播包在VLAN域內廣播;
? PFM B, 已知組播轉發至組播表的pbmp端口;未知組播則在VLAN域內廣播;
? PFM C,已知組播轉發至組播表的pbmp端口;未知組播則丟棄;

5)L2 User Entry
L2_USER_ENTRY表包含64條表項,關鍵值是MAC_DA 、VLAN_ID。
6)L2 Port Bridge
允許收發包是同一個端口。典型的應用是Wireless Access Point (WAP)。同一個端口可以對應多個mac。

7)Spanning Tree
? 完全支持IEEE 802.1D(STP),IEEE 802.1s(MSTP), IEEE 802.1W(RSTP):
- 支持端口狀態設置: disable, blocking, listening, learning , forwarding;
- 以上的2層功能,支持生成樹必要的條件:學習,老化與MAC地址表的批量刪除;
- 支持256 生成樹表項。
VLAN

Internal VLAN ID獲取
? 提供並根據以下排列優先順序的幾種表用於獲取Internal VLAN ID:
– VLAN Translation。以數據包的Inner/Outer VID爲索引;每端口可選設置時能;
– MAC-Based。以數據包的源MAC地址爲索引;每端口可選設置時能;
– Subnet-Based。以數據包的源IP爲索引;每端口可選設置時能;
– Protocol-Based。以數據包的協議類型( ETHNET_TYPE )爲索引;每端口可選設置時能;
– Port-Based。以端口配置的默認VLANID作爲Internal VLAN;

- 對於Untagged與single priority-tagged packet ,查找的類型表以及優先順序爲MAC-Based - > Subnet-Based -> Protocol-Based ->Port-Base;
- 對tagged packet,查找順序爲 VLAN Translation -> MAC-Based - > Subnet-Based -> Protocol-Based ->Port-Base;

Ingress VLAN Action
? 查表結果,對數據包執行以下的VID轉換規則:
- Add Internal OVID/IVID
- Replace incoming OVID/IVID with internal OVID/IVID
- Delete incoming OVID/IVID
- Do not modify
使用VLAN_XLATE表

Egress VLAN Action
? 在出口端,根據OutVid/InnerVid 查找Egress VLAN Translation, 執行以下相應操作(根據untagged與tagged包類型):
- Add OVID/IVID
- Replace OVID/IVID with internal/outgoing OVID/IVID
- Delete OVID/IVID
- Do not modify
? 通過EGR_VLAN表配置,對數據包進行強制剝離外層VID;用於Double-tagged模式;

VLAN Range Checking
? 支持128個VLAN Range表。通過Range表的配置,將某段範圍的userVID替換成一個OVID,節省VLAN表與其他資源VLAN Transparent表項的資源;
? VLAN Range執行優於Ingress VLAN Translation;

VLAN tag操作流程

 

轉載自:點擊打開鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章