TWI835707B - 以硬體加速移除vxlan表頭的方法 - Google Patents

以硬體加速移除vxlan表頭的方法 Download PDF

Info

Publication number
TWI835707B
TWI835707B TW112144342A TW112144342A TWI835707B TW I835707 B TWI835707 B TW I835707B TW 112144342 A TW112144342 A TW 112144342A TW 112144342 A TW112144342 A TW 112144342A TW I835707 B TWI835707 B TW I835707B
Authority
TW
Taiwan
Prior art keywords
vxlan
packet
original packet
hardware
header
Prior art date
Application number
TW112144342A
Other languages
English (en)
Other versions
TW202420791A (zh
Inventor
蘇宗崟
陳驥
Original Assignee
瑞昱半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW112144342A priority Critical patent/TWI835707B/zh
Application granted granted Critical
Publication of TWI835707B publication Critical patent/TWI835707B/zh
Publication of TW202420791A publication Critical patent/TW202420791A/zh

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一種以一特殊應用積體電路加速移除虛擬擴展區域網(Virtual Extensible Local Area Network (VXLAN))表頭的方法,包含下列步驟:判斷一原始封包是否為一下行封包;當該原始封包為該下行封包時,判斷該原始封包是否為一VXLAN封包且包含一匹配的VXLAN網路識別符(VXLAN network identifier (VNI));當該原始封包為該VXLAN封包且包含該匹配的VNI時,判斷該原始封包是否指向一VXLAN進入介面;以及當該原始封包指向該VXLAN進入介面時,移除一外層表頭,以產生一輸入封包,其中該外層表頭包含一VXLAN表頭。

Description

以硬體加速移除VXLAN表頭的方法
本發明是關於虛擬擴展區域網封包(Virtual Extensible Local Area Network (VXLAN) packets)的處理,尤其是關於以硬體加速VXLAN封包的處理。
虛擬區域網(Virtual Local Area Network (VLAN))表頭(header)之VLAN識別符(VLAN ID)欄位的長度只有12位元,最多只支援2 12=4096個VLAN,這對於某些應用(例如:雲端計算)而言不敷使用。為了解決這個問題,虛擬擴展區域網(Virtual Extensible Local Area Network (VXLAN))近年來被廣泛地應用。VXLAN封包的表頭有虛擬網路識別符(Virtual Network Identifier (VNI)),其相當於VLAN ID,該VNI的長度有24位元,可支援2 24個VLAN,這足以滿足多數應用。
然而,目前技術多半以軟體來解析封包以及轉換封包格式,以實現VXLAN,但軟體的處理速度不理想。而硬體(例如:特殊應用積體電路(Application Specific Integrated Circuit (ASIC)))難以用來實現VXLAN的原因包含:除了對下行封包須移除VXLAN表頭外,對於不同的上行封包(upstream packets),須分別添加不同內容的VXLAN表頭至該些不同的上行封包。簡言之,硬體難以對所有封包執行一致化的處理。
本揭露的目的之一在於提供以硬體加速產生虛擬擴展區域網封包(Virtual Extensible Local Area Network (VXLAN) packets)的方法、以硬體加速移除VXLAN表頭的方法以及以硬體加速處理VXLAN封包的方法。
本揭露之以硬體加速產生VXLAN封包的方法的一實施例包含下列步驟:判斷一原始封包是否為一上行封包;當該原始封包為該上行封包時,判斷該原始封包是否指向一VXLAN外出介面;當該原始封包指向該VXLAN外出介面,加入一原型外層表頭於該原始封包之前,以產生一VXLAN封包;以及在產生該VXLAN封包後,判斷是否修改該VXLAN封包之該原型外層表頭的內容。
本揭露之以硬體加速移除VXLAN表頭的方法的一實施例包含下列步驟:判斷一原始封包是否為一下行封包;當該原始封包為該下行封包時,判斷該原始封包是否為一VXLAN封包且包含一匹配的VXLAN網路識別符(VXLAN network identifier (VNI));當該原始封包為該VXLAN封包且包含該匹配的VNI時,判斷該原始封包是否指向一VXLAN進入介面;以及當該原始封包指向該VXLAN進入介面時,移除一外層表頭,以產生一輸入封包,其中該外層表頭包含一VXLAN表頭。
本揭露之以硬體加速處理VXLAN封包的方法的一實施例包含:以該硬體加速產生一VXLAN封包的複數個封包產生步驟;以及以該硬體加速移除一VXLAN表頭的複數個表頭移除步驟。該複數個封包產生步驟包含:判斷一上行封包是否指向一VXLAN外出介面;當該上行封包指向該VXLAN外出介面,加入一原型外層表頭於該上行封包之前,以產生該VXLAN封包;以及在產生該VXLAN封包後,判斷是否修改該VXLAN封包之該原型外層表頭的內容。該複數個表頭移除步驟包含:判斷一下行封包是否為一VXLAN封包且包含一匹配的VXLAN網路識別符(VXLAN network identifier (VNI));當該下行封包為該VXLAN封包且包含該匹配的VNI時,判斷該下行封包是否指向一VXLAN進入介面;以及當該下行封包指向該VXLAN進入介面時,移除一外層表頭,以產生一輸入封包,其中該外層表頭包含該VXLAN表頭。
有關本發明的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
本說明書揭露了以硬體加速產生虛擬擴展區域網封包(Virtual Extensible Local Area Network (VXLAN) packets)的方法、以硬體加速移除VXLAN表頭(VXLAN header)的方法以及以硬體加速處理VXLAN封包的方法,該些方法能夠以硬體快速地實現VXLAN。本揭露之方法是應用於一網路裝置(例如:交換器(switch)、路由器(router)),該網路裝置包含上述硬體以及其它電路(例如:中央處理單元(CPU)、記憶體、媒體存取控制(Media Access Control (MAC))電路與實體層電路),該硬體例如是一特殊應用積體電路(Application Specific Integrated Circuit (ASIC)),其可以是一獨立電路專用於VXLAN,也可以是該網路裝置之某個電路(例如: MAC電路)的至少一部分。
圖1顯示本揭露之以硬體加速產生VXLAN封包的方法的一實施例。圖1的實施例包含下列步驟: S110:判斷一原始封包是否為一上行封包(upstream packet)。舉例而言,本步驟判斷該原始封包是否從一區域網路(local area network (LAN))傳向一廣域網路(wide area network (WAN));若是,該原始封包為該上行封包。該原始封包之格式的一範例如圖2所示,包含一目的地MAC(destination MAC (DMAC))欄位、一來源地MAC(source MAC (SMAC))欄位、一乙太種類(Ethertype)欄位、一乙太網路點對點協定(Point-to-Point Protocol over Ethernet (PPPoE))欄位、一點對點協定(Point-to-Point Protocol (PPP))欄位、一第4版本網際網路協定(Internet Protocol version 4 (IPv4))欄位或一第6版本網際網路協定(Internet Protocol version 6 (IPv6))欄位、一傳輸控制協定表頭(Transmission Control Protocol (TCP) header)欄位以及一酬載(Payload)欄位;然此並非本發明的實施限制。 S120:當該原始封包為該上行封包時,判斷該原始封包是否指向一VXLAN外出介面(VXLAN egress interface)。值得注意的是,不同的二個原始封包可能分別指向不同的二個VXLAN外出介面,以分別傳輸給不同目的地;此時這二個封包分別對應一內容表(content table)(如後所述)的二個不同內容緩存(content buffers)以及分別對應一控制表(control table)(如後所述)的二個不同控制項目(control entries),其中該內容表與該控制表儲存於該硬體中,該二個不同內容緩存的內容(例如:DMAC欄位的值)不同及/或該二個不同控制項目的內容不同。 S130:當該原始封包指向該VXLAN外出介面,加入一原型外層表頭(prototype outer header)於該原始封包之前,以產生一VXLAN封包,其中該原始封包可能被修改(例如:加入一客戶虛擬區域網(Customer Virtual Local Area Network (CVLAN))欄位)。該原型外層表頭之格式的一範例如圖3所示,包含一DMAC欄位、一SMAC欄位、一CVLAN欄位、一乙太種類欄位、一PPPoE欄位、一PPP欄位、一IPv4/IPv6欄位、一使用者資料包協定(User Datagram Protocol (UDP))欄位以及一VXLAN欄位;然此並非本發明的實施限制。本領域具有通常知識者可依實施需求修改該原型外層表頭的格式。 S140:在產生該VXLAN封包後,判斷是否修改該VXLAN封包之該原型外層表頭的內容。值得注意的是,在完成步驟S140後,該硬體可依一般的上行封包轉傳程序(forwarding process)處理該VXLAN封包。
請參閱圖1~3。若基於某些原因(例如:該原始封包的類型是該硬體首次處理的類型,或者對應該原始封包的類型的原型外層表頭未被預存),該原型外層表頭未儲存於該硬體的一內容表;此時,圖1之實施例可進一步包含下列步驟(未顯示於圖): S122:令該硬體從一上層電路(例如:前述網路裝置的CPU與記憶體)取得該原型外層表頭之內容的至少一部分(例如:圖3之原型外層表頭之所有欄位的內容)及/或令該硬體自行產生該原型外層表頭之內容的至少一部分,以得到完整的該原型外層表頭。舉例而言,該上層電路執行軟體及/或韌體以產生該原型外層表頭的內容;此部分可藉由已知的/自行開發的技術來實施,不在本發明的討論範圍內。 S124:將該原型外層表頭儲存於該內容表的一內容緩存中,以供後續使用,其中該內容緩存相關於/專用於該VXLAN外出介面。舉例而言,該內容表是一已知的/自行開發的查找表電路,該內容緩存是一或多個暫存器(register(s))。
請參閱圖1~3以及上一段的說明。在該原型外層表頭未儲存於該硬體的內容表的情形下,該硬體可能也未儲存用來判斷是否修改該原型外層表頭之內容的特定資料;若該硬體未儲存該特定資料,步驟S140可進一步包含下列步驟(未顯示於圖): S142:令該硬體從該上層電路取得複數個欄位值(亦即:欄位定義記錄(field definition record))的至少一部分及/或令該硬體自行產生該複數個欄位值的至少一部分,並將該複數個欄位值分別儲存於一控制表之一控制項目的複數個欄位,以供後續使用,其中該控制項目相關於/專用於該VXLAN外出介面。舉例而言,該上層電路執行軟體及/或韌體以產生該複數個欄位值;該控制表是一已知的/自行開發的查找表電路,該控制項目是以一或多個暫存器來實施。 S144:依據該控制表的該控制項目判斷是否修改該VXLAN封包之該原型外層表頭。舉例而言,該控制項目之複數個欄位值及其說明如底下表1所示: 表1
欄位值 說明
pppoe_len_offset 本欄位值為該內容緩存中的一偏移量(offset)的位址,該偏移量可用來找到PPPoE長度(於該原型外層表頭之PPPoE欄位中)
pppoe_len_diff 若pppoe_len_offset不為0,以本欄位值與該原始封包之總長的和去更新PPPoE長度(於該原型外層表頭之PPPoE欄位中)
ipv4_offset 本欄位值為該內容緩存中的一偏移量的位址,該偏移量可用來找到IPv4表頭 若本欄位值不為0,重算IPv4表頭中的檢驗和(checksum)(於該原型外層表頭之IPv4欄位中)
ipv6_offset 本欄位值為該內容緩存中的一偏移量的位址,該偏移量可用來找到IPv6表頭
ip_len_diff 若ipv4_offset或ipv6_offset不為0,以本欄位值與該原始封包之總長的和去更新IP長度(IP length)(於該原型外層表頭之IPv4/IPv6欄位中)
ip_dscp 若ipv4_offset或ipv6_offset不為0,以本欄位值去更新IP差分服務代碼點(IP Differentiated Services Code Point (IP DSCP))(於該原型外層表頭之IPv4/IPv6欄位中)
ip_ecn 若ipv4_offset或ipv6_offset不為0,以本欄位值去更新IP顯式擁塞通知(IP Explicit Congestion Notification ( IP ECN))(於該原型外層表頭之IPv4/IPv6欄位中)
ip_ttl 若ipv4_offset或ipv6_offset不為0,以本欄位值去更新IPv6欄位之IP存活時間(IP time-to-live (IP TTL)/IPv6欄位之跳數限制(Hop limit)(於該原型外層表頭之IPv4/IPv6欄位中)
ip_id 若ipv4_offset不為0,以本欄位值去更新IPv4識別符(IPv4  Identification) 本欄位每次被讀取,本欄位值會自動加1
udp_len_offset 本欄位值為該內容緩存中的一偏移量的位址,該偏移量可用來找到UDP長度(UDP length)
udp_len_diff 若udp_len_offset不為0,以本欄位值與該原始封包之總長的和去更新UDP長度
sport_offset 本欄位值為該內容緩存中的一偏移量的位址,該偏移量可用來找到UDP來源埠(UDP sport (UDP source port));若本欄位值不為0,參考flow.vxlan_sport以更新UDP來源埠 [註] flow.vxlan_sport為該VXLAN封包之內層封包(亦即:該原始封包)的流連接(flow connection)中事先儲存的VXLAN來源埠(VXLAN sport),它是根據該內層封包之第二層/第三層/第四層(L2/L3/L4)的訊息做雜湊(hash)計算以得到
承上一段的說明,該原型外層表頭包含M個欄位(例如:圖3之原型外層表頭的9個欄位),且該M為大於一的整數;以及步驟S144包含:依據該控制項目的該複數個欄位值檢查該原型外層表頭之K個欄位的內容,以決定是否修改該K個欄位的內容,其中該K為小於該M的正整數。舉例而言,該K個欄位包含:一PPPoE欄位;一IPv4/IPv6欄位;以及一UDP欄位。舉例而言,如表1所示,決定是否修改該K個欄位的內容的步驟包含:判斷該PPPoE欄位之一PPPoE長度偏移量(pppoe_len_offset)是否為零,並於該PPPoE長度偏移量不為零時,更新該PPPoE欄位的內容;判斷該IPv4/IPv6欄位之一IPv4/IPv6偏移量(ipv4/ipv6_offset)是否為零,並於該IPv4/IPv6偏移量不為零時,更新該IPv4/IPv6欄位的內容;判斷該UDP欄位之一UDP長度偏移量(udp_len_offset)是否為零,並於該UDP長度偏移量不為零時,更新該UDP欄位的內容;以及判斷該UDP欄位之一來源埠(source port)偏移量是否為零,並於該來源埠偏移量不為零時,更新該UDP欄位的內容。
請參閱圖1~3。若基於某些原因(例如:該原始封包的類型是該硬體之前已處理過的類型,或者對應該原始封包的類型的原型外層表頭已被預存),該原型外層表頭已儲存於該硬體之內容表的一內容緩存,且用來判斷是否修改該原型外層表頭之內容的特定資料已儲存於該硬體之控制表的一控制項目;上述情形下,圖1的步驟S130從該內容緩存取得該原型外層表頭,且圖1的步驟S140包含:依據該控制項目判斷是否修改該原型外層表頭,其中該控制項目包含複數個欄位。由於本領域具有通常知識者能夠參酌先前段落來瞭解上述情形下的實施細節與變化,重複及冗餘的說明在此省略。
圖4顯示前述硬體之一範例性的運作流程。圖4包含一流向表(flow table)410、一介面表(interface table)420、一內容表430以及一控制表440,其中流向表410包含複數個流項目(flow entries)(亦即:圖4中的流項目0、流項目1、流項目2等等),介面表420包含複數個介面(亦即:圖4中的介面0、介面1等等),內容表430包含複數個內容緩存(亦即:圖4中的內容緩存0、內容緩存1等等),控制表440包含複數個控制項目(亦即:圖4中的控制項目0、控制項目1等等)。圖4中,該硬體先依據該原始封包的相關資訊(例如:內容、來源埠、目標埠等等),判斷出該原始封包指向流向表410的流項目2,其中該流項目2包含複數個選項包括一進入介面(ingress interface)、一外出介面(egress interface)等等;接下來,該硬體依據該原始封包,判斷出該原始封包指向該流項目2的該外出介面;然後,該硬體依據該外出介面,判斷出該外出介面關聯介面表420的介面1;最後,該硬體依據該介面1,判斷出該介面1以一對一映射(one-to-one mapping)方式對應至內容表430的內容緩存1以及對應控制表440的控制項目1。上述判斷可藉由已知的/自行開發的技術來實現。
圖5顯示本揭露之以硬體加速移除VXLAN表頭的方法的一實施例。圖5的實施例包含下列步驟: S510:判斷一原始封包是否為一下行封包(downstream packet)。舉例而言,本步驟判斷該原始封包是否從一區域網路傳向一廣域網路;若否,該原始封包為一下行封包。 S520:當該原始封包為該下行封包時,依據該原始封包的內容,判斷該原始封包是否為一VXLAN封包且包含一匹配的VXLAN網路識別符(VXLAN network identifier (VNI))。 S530:當該原始封包為該VXLAN封包且包含該匹配的VNI時,依據該原始封包的內容,判斷該原始封包是否指向一VXLAN進入介面(VXLAN ingress interface)。 S540:當該原始封包指向該VXLAN進入介面時,移除該原始封包的一外層表頭,以產生一輸入封包,其中該外層表頭包含一VXLAN表頭。值得注意的是,在移除該外層表頭後,該硬體可依一般的下行封包轉傳程序處理該輸入封包。
圖6基於圖1與圖5的實施例顯示一綜合實施例的流程圖。圖6包含下列步驟: S605:解析(parsing)一原始封包的格式。 S610:判斷該原始封包是否從一區域網路(LAN)到一廣域網路(WAN);若是,至S615;若否,至S650。 S615:找出對應該原始封包的一流項目。 S620:依據該流項目,判斷該原始封包所關聯的一外出介面是否為一VXLAN介面;若是,至S625;若否,結束本流程(亦即:至S622)。 S625:找出對應的一內容緩存與一控制項目。 S630:於該原始封包前加入該內容緩存的一原型外層表頭,以產生一VXLAN封包。 S635:依據該控制項目判斷是否修改該VXLAN封包的該原型外層表頭;若是,至S640;若否,至S645。 S640:依據該控制項目修改該原型外層表頭。 S645:依一般的上行封包轉傳程序處理該VXLAN封包,然後結束本流程(亦即:至S647)。 S650:判斷該原始封包是否為一VXLAN封包且包含一匹配的VNI;若是,至S655;若否,結束本流程(亦即:至S622)。 S655:判斷該原始封包所關聯的一進入介面是否為一VXLAN介面;若是,至S660;若否,結束本流程(亦即:至S622)。 S660:移除該原始封包的一外層表頭包括一VXLAN表頭,以產生一輸入封包。 S665:依一般的下行封包轉傳程序處理該輸入封包,然後結束本流程(亦即:至S622)。
圖1與圖5的方法可分別地實施,也可結合作為以硬體加速處理VXLAN封包的方法。由於本領域具有通常知識者能夠參酌圖1與圖5之實施例來瞭解以硬體加速處理VXLAN封包之方法的實施細節與變化,重複及冗餘的說明在此省略。
請注意,在實施為可能的前提下,本技術領域具有通常知識者可選擇性地實施前述任一實施例中部分或全部技術特徵,或選擇性地實施前述複數個實施例中部分或全部技術特徵的組合,以增加實施本發明實施之方式的彈性。
綜上所述,本發明能夠以硬體(例如:ASIC)加速處理VXLAN封包。相較於先前技術以軟體處理VXLAN封包,本發明能達到較佳的效能。
雖然本發明之實施例如上所述,然而該些實施例並非用來限定本發明,本技術領域具有通常知識者可依據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
S110~S140:步驟 DMAC:目的地媒體存取控制 SMAC:來源地媒體存取控制 Ethertype:乙太種類 PPPoE:乙太網路點對點協定 PPP:點對點協定 IPv4:第4版本網際網路協定 IPv6:第6版本網際網路協定 TCP header:傳輸控制協定表頭 Payload:酬載 CVLAN:客戶虛擬區域網 UDP:使用者資料包協定 VXLAN:虛擬擴展區域網 410:流向表 420:介面表 430:內容表 440:控制表 S510~S540:步驟 S605~S665:步驟
[圖1]顯示本揭露之以硬體加速產生虛擬擴展區域網(VXLAN)封包的方法的一實施例; [圖2]顯示圖1所述之原始封包的格式的一範例; [圖3]顯示圖1所述之原型外層表頭的格式的一範例; [圖4]顯示圖1所述之硬體的一範例性的運作流程; [圖5]顯示本揭露之以硬體加速移除VXLAN表頭的方法的一實施例;以及 [圖6]基於圖1與圖5的實施例顯示一綜合實施例的流程圖。
S605~S665:步驟

Claims (5)

  1. 一種以硬體加速移除虛擬擴展區域網表頭(Virtual Extensible Local Area Network (VXLAN) headers)的方法,包含: 判斷一原始封包是否為一下行封包; 當該原始封包為該下行封包時,判斷該原始封包是否為一VXLAN封包且包含一匹配的VXLAN網路識別符(VXLAN network identifier (VNI)); 當該原始封包為該VXLAN封包且包含該匹配的VNI時,判斷該原始封包是否指向一VXLAN進入介面(VXLAN ingress interface);以及 當該原始封包指向該VXLAN進入介面時,移除一外層表頭,以產生一輸入封包,其中該外層表頭包含一VXLAN表頭。
  2. 如請求項1之方法,其中該硬體為一特殊應用積體電路。
  3. 如請求項2之方法,其中該特殊應用積體電路專用於VXLAN。
  4. 如請求項1之方法,其應用於一網路裝置,該網路裝置包含一媒體存取控制(Media Access Control (MAC))電路,該硬體為該MAC電路的至少一部分。
  5. 如請求項1之方法,其中判斷該原始封包是否為該下行封包的步驟包含:判斷該原始封包是否從一區域網路傳向一廣域網路;若該原始封包不是從該區域網路傳向該廣域網路,判斷該原始封包為該下行封包。
TW112144342A 2022-11-11 2022-11-11 以硬體加速移除vxlan表頭的方法 TWI835707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW112144342A TWI835707B (zh) 2022-11-11 2022-11-11 以硬體加速移除vxlan表頭的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW112144342A TWI835707B (zh) 2022-11-11 2022-11-11 以硬體加速移除vxlan表頭的方法

Publications (2)

Publication Number Publication Date
TWI835707B true TWI835707B (zh) 2024-03-11
TW202420791A TW202420791A (zh) 2024-05-16

Family

ID=91269784

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112144342A TWI835707B (zh) 2022-11-11 2022-11-11 以硬體加速移除vxlan表頭的方法

Country Status (1)

Country Link
TW (1) TWI835707B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468384A (zh) * 2014-12-22 2015-03-25 武汉绿色网络信息服务有限责任公司 一种实现多业务优先级的系统及方法
CN108475244A (zh) * 2015-12-22 2018-08-31 英特尔公司 加速网络分组处理
CN115174676A (zh) * 2022-07-04 2022-10-11 深圳星云智联科技有限公司 汇聚分流方法及其相关设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468384A (zh) * 2014-12-22 2015-03-25 武汉绿色网络信息服务有限责任公司 一种实现多业务优先级的系统及方法
CN108475244A (zh) * 2015-12-22 2018-08-31 英特尔公司 加速网络分组处理
CN115174676A (zh) * 2022-07-04 2022-10-11 深圳星云智联科技有限公司 汇聚分流方法及其相关设备

Also Published As

Publication number Publication date
TW202420791A (zh) 2024-05-16

Similar Documents

Publication Publication Date Title
EP3461082B1 (en) Network congestion control method and device
US7852774B2 (en) User datagram protocol traceroute probe extension
US7729276B2 (en) Method and system for tunneling MACSec packets through non-MACSec nodes
US9282039B2 (en) Address resolution method, apparatus, and system
US8929218B2 (en) Congestion notification across multiple layer-2 domains
US7852843B2 (en) Apparatus and method for layer-2 to layer-7 search engine for high speed network application
US8144709B2 (en) Method, system and computer processing an IP packet, routing a structured data carrier, preventing broadcast storms, load-balancing and converting a full broadcast IP packet
US8089967B2 (en) Modification of a switching table of an internet protocol switch
US20180198715A1 (en) Method and apparatus for flow control
US20210152593A1 (en) BGP Message Sending Method, BGP Message Receiving Method, and Device
WO2013053266A1 (zh) 一种报文的学习方法、装置和系统
US11799776B2 (en) Ethernet frame forwarding based on checking for an error in the ethernet frame
US9467367B2 (en) Universal labels in internetworking
WO2011026344A1 (zh) 一种ip分片报文的重组方法和装置
TWI835707B (zh) 以硬體加速移除vxlan表頭的方法
TWI819892B (zh) 以硬體加速產生vxlan封包的方法以及以硬體加速處理vxlan封包的方法
Alexander et al. RFC2132: DHCP Options and BOOTP Vendor Extensions
Cisco DHCP Options
CN111431768B (zh) 一种端口自环检测和保护的方法
Cisco Appendix B - DHCP Options
CN118057768A (zh) 以硬件加速产生和处理vxlan数据包及移除vxlan报头的方法
Cowley et al. Network Protocols
Cisco Appendix: DHCP Options
US20080320162A1 (en) Method and System for Minimum Frame Size Support for a Communication Protocol Encapsulated Over Ethernet
US12101666B2 (en) Lightweight fragmentation and reliability for fixed mobile convergence access stratum and non-access stratum signaling