TWI543575B - 封包處理方法以及封包處理裝置 - Google Patents
封包處理方法以及封包處理裝置 Download PDFInfo
- Publication number
- TWI543575B TWI543575B TW103120918A TW103120918A TWI543575B TW I543575 B TWI543575 B TW I543575B TW 103120918 A TW103120918 A TW 103120918A TW 103120918 A TW103120918 A TW 103120918A TW I543575 B TWI543575 B TW I543575B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- instruction
- packet processing
- processing
- column
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/72—Routing based on the source address
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1854—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明所揭露的實施例係相關於封包轉發,尤指一種封包處理方法,用以依據基於針對一輸入封包的一轉發決定所建立的一封包處理列來處理該輸入封包。
網路交換器通常係指連結不同電子裝置的電腦網路裝置。舉例來說,網路交換器可以接收從其所連接的一源電子裝置所產生的一輸入封包,並將自所接收到的該輸入封包衍生出的輸出封包發送給一個或是多個用於接收該接收到的輸入封包的原始的或者經過修改過的有用負載資料的目的電子裝置。一般來說,該網路交換器具有一封包緩衝器用以緩衝從入口埠所接收的封包的封包資料,並將儲存於封包緩衝器中的封包從出口埠轉發出去。若是有連接於網路交換機的不同出口埠的一組目的電子裝置要求相同的封包時,可從連接於該網路裝置的一個入口埠的一源電子裝置得到一請求封包,亦稱為一多播封包。且該網路交換器會執行一多播操作以傳達該請求封包的原始或是變更版本給該等目的電子裝置。在現今的封包交換器中,提供有彈性且客製化的封包轉發/修改為關鍵的差異。因此,需要一種新穎的封包交換器設計其能支援有彈性的封包修改及/或封包複製。
有鑒於此,特提供以下技術方案:
依據本發明的第一實施例,提出一種封包處理方法,包含有:接收針對一輸入封包所做的一轉發決定;以及依據該轉發決定來建立該輸入封包的一封包處理列,其中建立該封包處理列的步驟包含有:當該轉發決定指出該輸入封包需要經過複數個第一封包處理操作,其中每一第一封包處理操作包含有一共同處理操作以及一個別處理操作,以分別經由複數個第一出口埠來產生複數個第一輸出封包轉發時:在該封包處理列的一第一區的一出口埠欄位中記錄第一資訊,用以指示該些第一出口埠;在該封包處理列之該第一區的一共同處理欄位中記錄第二資訊,用以指示該些第一封包處理操作所共享之該共同處理操作;以及在該封包處理列之該第一區的一個別處理欄位中記錄第三資訊,用以指示該些第一封包處理操作的個別處理操作。
依據本發明的第二實施例,提出一種封包處理方法,包含有:接收一輸入封包;接收針對該輸入封包所建立的一封包處理列;以及藉由依據該封包處理列來處理該輸入封包,以產生複數個第一輸出封包,其中產生該些第一輸出封包的步驟包含有:從該封包處理列的一第一區的一出口埠欄位中讀取第一資訊,該第一資訊指示複數個第一出口埠;從該封包處理列之該第一區的一共同處理欄位中讀取第二資訊,該第二資訊指示一共同處理操作;從該封包處理列之該第一區的一個別處理欄位中讀取第三資訊,該第三資訊用以指示分別涉及產生該些第一輸出封包的複數個個別處理操作;以及針對該輸入封包執行複數個第一封包處理操作,其中每一第一封包處理操作包含有該共同處理操作以及一個對應個別處理操作,以分別產生該些第一輸出封包至該些第一出口埠。
依據本發明的第三實施例,提出一種封包處理裝置,包含有一轉發決定產生電路以及一封包處理列建立電路。其中該轉發決定產生電路係用來針對一輸入封包產生一轉發決定;以及該封包處理列建立電路係用來接收
該轉發決定,以及依據該轉發決定來建立該輸入封包的一封包處理列;其中當該轉發決定指出該輸入封包需要經過複數個第一封包處理操作,其中每一第一封包處理操作包含有一共同處理操作以及一個別處理操作,以分別經由複數個第一出口埠來產生複數個第一輸出封包轉發時,該封包處理列建立電路在該封包處理列的一第一區的一出口埠欄位中記錄第一資訊,用以指示該些第一出口埠;在該封包處理列之該第一區的一共同處理欄位中記錄第二資訊,用以指示該些第一封包處理操作所共享之該共同處理操作;以及在該封包處理列之該第一區的一個別處理欄位中記錄第三資訊,用以指示該些第一封包處理操作的個別處理操作。
依據本發明的第四實施例,提出一種封包處理裝置,包含有:一封包處理列建立電路以及一封包處理電路。其中該封包處理列建立電路係用來針對一輸入封包建立一封包處理列;以及該封包處理電路係用來接收該輸入封包以及該封包處理列,並藉由依據該封包處理列來處理該輸入封包,以產生複數個第一輸出封包;其中該封包處理電路從該封包處理列的一第一區的一出口埠欄位中讀取第一資訊,該第一資訊指示複數個第一出口埠;從該封包處理列之該第一區的一共同處理欄位中讀取第二資訊,該第二資訊指示一共同處理操作;從該封包處理列之該第一區的一個別處理欄位中讀取第三資訊,該第三資訊用以指示分別涉及產生該些第一輸出封包的複數個個別處理操作;以及針對該輸入封包執行複數個第一封包處理操作,其中每一第一封包處理操作包含有該共同處理操作以及一個對應個別處理操作,以分別產生該些第一輸出封包至該些第一出口埠。
本發明的封包處理方法以及封包處理裝置可使用封包處理框架來提供有彈性的封包修改及/或封包複製。
100‧‧‧封包處理裝置
102‧‧‧接收器模組
104‧‧‧轉發決定產生電路
106‧‧‧封包處理列建立電路
107‧‧‧儲存裝置
108‧‧‧封包佇列/排程電路
110‧‧‧封包處理電路
112‧‧‧傳送器模組
114‧‧‧多播表格
116、116_1、116_2‧‧‧指令鏈節點
118‧‧‧指令桶陣列
119、119_1、119_2、119_3、119_4、119_5‧‧‧指令桶
202_1‧‧‧第一區
202_2‧‧‧第二區
204_1、204_2‧‧‧出口埠欄位
206_1、206_2‧‧‧共同處理欄位
208_1、208_2‧‧‧個別處理欄位
302_1、302_2、302_3‧‧‧項目
1000~1018‧‧‧步驟
第1圖為本發明中使用所提出的一封包處理框架的一封包處理裝置的實施例的示意圖。
第2圖為本發明中一封包處理列的一資料結構的實施例的示意圖。
第3圖為本發明一多播表格的一資料結構的實施例的示意圖。
第4圖為本發明一指令鏈節點的一資料結構的實施例的示意圖。
第5圖為本發明一指令桶陣列的一資料結構的實施例的示意圖。
第6圖為本發明具有兩群組動作的一封包處理列的實施例的示意圖。
第7圖繪示了基於第6圖所示的中的封包處理列來產生輸出封包至一出口埠的封包修改程序。
第8圖繪示了基於第6圖中的封包處理列來產生一輸出封包至另一出口埠(例如埠#1)的封包修改程序。
第9圖繪示了基於第6圖所示的中的封包處理列來產生輸出封包至又另一出口埠的封包修改程序。
第10圖為本發明一逐埠群組指令執行方法的實施例的流程圖。
在說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有通常知識者應可理解,製造商可能會用不同的名詞來稱呼同樣的元件。本說明書及後續的申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準則。在通篇說明書及後續的請求項當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。另外,「耦接」一詞在此係包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可直接電氣連接於該第二裝置,或透過其他裝置或連接手段間接地電氣連接至該第二裝置。
本發明的主要精神係在於使用一封包處理框架(framework)來提供有彈性的封包修改及/或封包複製。舉例來說,本發明提出建立及使用一新穎的封包處理列來實現彈性的封包修改及/或封包複製。基於遠端控制器所提供的指令來啟動彈性處理對於突發的軟體定義網路(Software Defined Network,SDN)應用有相當的實用性。進一步的細節將詳敘如下。
第1圖為依據本發明一實施例的使用所提出的一封包處理框架的一封包處理裝置的示意圖。藉由範例來說明,但不以此限制,封包處理裝置100可以係一網路交換器或是任何支援一封包修改功能及/或一封包複製功能的電子裝置。在此實施例中,封包處理裝置100包含有但不限定於一接收器(RX)模組102、一轉發決定產生電路104、一封包處理列(PPL)建立電路106、一儲存裝置107、一封包佇列/排程電路108、一封包處理電路110以及一傳送器(TX)模組112。當接收器模組102從封包處理裝置100的入口埠P0’~PM’的其中之一接收一輸入封包PKTIN時,轉發決定產生電路104會分析輸入封包PKTIN的標頭資訊。舉例來說,轉發決定產生電路104可採用一表格查找的方式來決定如何修改及/或複製輸入封包PKTIN以產生輸出封包給指定的出口埠,並據以產生針對輸入封包PKTIN的一轉發決定FD。其中轉發決定FD可包含相關於應用於輸入封包PKTIN的封包修改及/或封包複製的資訊。由於轉發決定FD可用許多傳統的方法得到,因此進一步的敘述將不在此多作贅述。
封包處理列建立電路106從轉發決定產生電路104接收轉發決定FD,並且依據轉發決定FD來建立輸入封包PKTIN的一封包處理列PPL。具體地說,封包處理列PPL係基於轉發決定FD所給出之該封包修改資訊及/或該封包複製資訊來建立。
請參考第2圖,第2圖為依據本發明一實施例的封包處理列的一資料結構的的示意圖。基於針對每一輸入封包PKTIN的轉發決定FD,一個封包處理列PPL可包含一個或多個區。在一實施例中,封包處理列PPL具有複數個區,包含一第一區202_1以及一第二區202_2。第一區202_1包含有一出口埠欄位204_1、一共同處理欄位206_1以及一個別處理欄位208_1。第二區202_2包含有一出口埠欄位204_2、一共同處理欄位206_2以及一個別處理欄位208_2。應注意的是,建立來用於待被轉發的一個輸入封包的一封包處理列中所包含有區的數目,以及每一區中所包含的資料欄位的數目在此僅供說明用途,並不加以限定。例如第2圖中的封包處理列PPL可進一步包含另一區依附在第二區202_2。又例如第一區202_1和第二區202_2可分別包含額外的資料欄位,例如一服務類別欄位(class of service,CoS)。
當轉發決定FD指出輸入封包PKTIN需要經過複數個第一封包處理操作,其中每一第一封包處理操作包含有一共同處理操作以及一個別處理操作,以產生複數個第一輸出封包PKTOUT_11~PKTOUT_1J,其中複數個第一輸出封包PKTOUT_11~PKTOUT_1J經由從封包處理裝置100的出口埠P0~PM所選出的複數個第一出口埠來分別轉發。封包處理列建立電路106在封包處理列PPL的第一區202_1的出口埠欄位204_1中記錄第一資訊INF11,用以指示該些第一出口埠;在封包處理列PPL之第一區202_1的共同處理欄位206_1中記錄第二資訊INF12,用以指示該些第一封包處理操作所共享之該共同處理操作;以及在封包處理列PPL之第一區202_1的一個別處理欄位208_1中記錄第三資訊INF13,用以指示該些第一封包處理操作的個別處理操作。
在第一區202_1能夠記錄需要用來處理輸入封包PKTIN的所有封包處理操作的情況下,封包處理列PPL可以僅具有一單一區(例如第一區
202_1)。在另一種情況下,輸入封包PKTIN需要經過上述第一封包處理操作以及複數個第二封包處理操作,且每一第二封包處理操作包含有該共同處理操作(由該些第一和第二封包處理操作所共用),另一共同處理操作(由所有第二封包處理操作所共用但不包含於任一該些第一封包處理操作中),以及一個別處理操作,可以使用第二區202_2。具體而言,當轉發決定FD進一步指出輸入封包PKTIN需要經過該些第二封包處理操作,每一第二封包處理操作包含有一共同處理操作、另一共同處理操作以及一個別處理操作,以產生複數個第二輸出封包PKTOUT_21~PKTOUT_2K經由從封包處理裝置100的出口埠P0~PM所選出的複數個第二出口埠來分別轉發。封包處理列建立電路106在封包處理列PPL的第二區202_2的出口埠欄位204_2中記錄第四資訊INF21,用以指示該些第二出口埠;在封包處理列PPL之第二區202_2的共同處理欄位206_2中記錄第五資訊INF22,用以指示該些第二封包處理操作所共享且該些第一封包處理操作不包含之該另一共同處理操作;以及在封包處理列PPL之第二區202_2的個別處理欄位208_2中記錄第六資訊INF23,用以指示該些第二封包處理操作的個別處理操作。
如上所述,該些第一封包處理操作所共用之該共同處理操作亦被該些第二封包處理操作所共用。然而,該些第二封包處理操作所共用之該共同處理操作並未被該些第一封包處理操作所共用。在此實施例中,共同處理欄位206_2中的第五資訊INF22並未指示該些第一封包處理操作和第二封包處理操作所共用之該共同處理操作,而僅指示被該些第二封包處理操作所共用且不被該些第一封包處理操作所共用之該共同處理操作。具體而言,依據所提出的封包處理列設計,第二區202_2具有繼承自第一區202_1的一共同處理操作。更具體地說,後面的區會有繼承自前面的區的共同處理操作,加上並非繼承自任一區的一共同處理操作。因此,關於每一第二封包處理操作,第一區202_1中的共同處理欄位206_1中的第二資訊INF12,以及第二區202_2
中的共同處理欄位206_2中的第五資訊INF22應該一起納入考量。
另外,為通知隨後的封包處理電路110同一封包處理列PPL中的區的順序,一間斷點被用來標記每一區的結束位置。如第1圖所示,間斷點BP1指示第一區202_1的結束位置,而間斷點BP2指示第二區202_2的結束位置。由於間斷點BP1係位在間斷點BP2之前,故在產生輸出封包PKTOUT_21~PKTOUT_2K時,應考量從間斷點BP1之前的共用處理欄位以及從間斷點BP1和間斷點BP2之間的共用處理欄位所得到的指令。
在一示範性設計中,第一資訊INF11以及第四資訊INF21可分別係一埠位元映射圖(port bit map,PBM)。如第1圖所示,封包處理裝置100具有出口埠P0~PM。因此,該埠位元映射圖具有一位元長度M相等於出口埠P0~PM的數目。該埠位元映射圖的每一位元位置可以係對應至出口埠P0~PM其中之一的一位元。除此之外,可以藉由一條件旗標來設定該埠位元映射圖的每一位元位置,該條件旗標係用來指示一相對應出口埠是否被選為輸出一輸出封包。舉例來說,當設定一位元位置處的位元為‘1’時,該位元位置的條件旗標會被宣告(assert);當設定一位元位置處的位元為‘0’時,該位元位置的條件旗標會被解除宣告(deassert)。
因此,可以使用一M位元的埠位元映射圖,並將J個位元設定為‘1’,且將其餘位元設定為‘0’以指示選為輸出第一輸出封包PKTOUT_11~PKTOUT_1J之該些第一出口埠。相似地,可以使用一M位元的埠位元映射圖,並將K個位元設定為‘1’,且將其餘位元設定為‘0’以指示選為輸出第二輸出封包PKTOUT_21~PKTOUT_2K之該些第二出口埠。請注意,基於每一輸入封包之該轉發決定,該些第一出口埠可以完全不同於該些第二出口埠,或是該些第一出口埠中的一個或是更多可以包含在該些第二出口埠中。換言之,根據
輸入封包PKTIN的實際轉發決定FD,利用一第一封包處理操作對輸入封包PKTIN進行處理所產生的一輸出封包,以及利用一第二封包處理操作對同一輸入封包PKTIN進行處理所產生的另一輸出封包可以經由相同出口埠或者不同出口埠來被轉發。
在一示範性設計中,第二資訊INF12會記錄該些第一封包處理操作所共用(或是該些第一和第二封包處理操作所共用)之該共同處理操作的每一封包處理指令CMD,或是記錄一指令桶(command bucket)指標CMD_pkt_ptr,其指向儲存於儲存裝置107的指令桶陣列118中的一指令桶119 CMD_bkt,以及指令桶119 CMD_bkt儲存該些第一封包處理操作所共用(或是該些第一和第二封包處理操作所共用)之該共同處理操作的每一封包處理指令。
相似地,第五資訊INF22會記錄該些第二封包處理操作所共用但不為第一封包處理操作所共用之該另一共同處理操作的每一封包處理指令CMD,或是記錄一指令桶指標CMD_pkt_ptr,其指向指令桶陣列118中的一指令桶119 CMD_bkt,以及指令桶119 CMD_bkt儲存該些第二封包處理操作所共用但不為第一封包處理操作所共用之該另一共同處理操作的每一封包處理指令。
如上所述,第三資訊INF13指示該些第一封包處理操作的個別處理操作,第六資訊INF23指示該些第二封包處理操作的個別處理操作。在一示範性設計中,第三資訊INF13可在儲存於儲存裝置107中的一多播表格(multicast table)114中記錄一項目的一索引值Group_idx,好讓該些第一封包處理操作的個別處理操作能夠間接藉由多播表格114的方式來決定。相似地,第六資訊INF23可在儲存於儲存裝置107中的一多播表格114中記錄一項目的
一索引值Group_idx,好讓該些第二封包處理操作的個別處理操作能夠間接藉由多播表格114的方式來決定。
請參考第3圖,第3圖為本發明一多播表格的一資料結構的實施例的示意圖。在此實施例中,多播表格114有複數個項目(例如302_1、302_2、302_3)分別藉由複數個不同索引值來索引(例如Group_idx=0、Group_idx=1、Group_idx=2),且每一項目係相關於對應至少一出口埠的至少一多播列(multicast list,簡寫為ML)。舉例來說,多播表格114的第一項目302_1至少包含指向分別對應於出口埠P1、P2和PM的多播列ML01、ML02、ML0M的多播列指標ML_ptr_01、ML_ptr_02以及ML_ptr_0M;多播表格114的第二項目302_2至少包含分別指向對應於出口埠P0和P1的多播列ML10、ML11的多播列指標ML_ptr_10以及ML_ptr_11;多播表格114的第三項目302_3至少包含分別指向對應於出口埠P1和P2的多播列ML20、ML22的多播列指標ML_ptr_20以及ML_ptr_22。
多播表格114中每一多播列都具有一指令鏈節點(command chain node,CCN)指標CCN_ptr,指令鏈節點指標CCN_ptr指向儲存於儲存裝置107的一指令鏈節點116。請參考第4圖,第4圖為本發明一指令鏈節點的一資料結構的實施例的示意圖。每一指令鏈節點具有至少一指令桶指標,每一指令桶指標指向具有一對應至涉及產生一輸出封包的一個別處理操作的指令桶。舉例來說,每一指令鏈節點都允許具有至多四個指令桶指標。如第4圖所示,指令鏈節點116_1具有兩個指令桶指標CMD_bkt_ptr0、CMD_bkt_ptr1,指向指令桶陣列118中的兩個指令桶119,以及指令鏈節點116_2具有三個指令桶指標CMD_bkt_ptr0’、CMD_bkt_ptr1’以及CMD_bkt_ptr12,指向指令桶陣列118中的三個指令桶119。
請參考第5圖,第5圖為本發明一指令桶陣列的一資料結構的實施例的示意圖。指令桶陣列118具有複數個指令桶(例如119_1、119_2、119_3、119_4、119_5)。在此實施例中,指令桶陣列118中每一指令桶都具有32字元,且指令桶中的每一指令都具有8字元。因此,每一指令桶被允許具有至多四個指令CMD0、CMD1、CMD2、CMD3。在此實施例中,指令CMD0/CMD1/CMD2/CMD3可以係一“插入”指令,用來增加某個新資訊到一封包中;可以係一“刪除”指令,用來從一封包移除某個現有資訊;或是可以係一“修改”指令,用來修改一封包中某個現有資訊。
為了使用所提出的封包處理列來進一步加強封包修改及/或封包複製的彈性,所提出的封包處理框架會支援多播列鏈、指令鏈節點鏈、及/或指令桶鏈。關於該多播列鏈,請再次參考第3圖。除了一指令鏈節點指標CCN_ptr外,該多播列可進一步具有一下一多播列指標Next_ML_ptr。在對應一特定出口埠的一第一多播列的一下一多播列指標Next_ML_ptr被設定為一空(圖中標記為NULL)值的情況下,一輸出封包會基於被該第一多播列的一指令鏈節點指標CCN_ptr所指向的一指令鏈節點,來透過處理輸入封包PKTIN來產生至該特定輸出埠。在另一情況下,對應該特定出口埠之該第一多播列之該下一多播列指標Next_ML_ptr被設定為一有效指標值以指向一第二多播列,一輸出封包會基於被該第一多播列的一指令鏈節點指標CCN_ptr所指向的一指令鏈節點,來透過處理輸入封包PKTIN來產生至該特定輸出埠,以及另一輸出封包會基於被連接至該第一多播列之該第二多播列的一指令鏈節點指標CCN_ptr所指向的一指令鏈節點,來透過處理輸入封包PKTIN來產生至該同一特定輸出埠。簡而言之,每一多播列都代表應用於輸入封包PKTIN的一個個別封包修改/複製操作。
關於該指令鏈節點鏈的操作請再次參考第4圖,如第4圖所示,
指令鏈節點116_1具有一下一指令鏈節點指標Next_CCN_ptr,下一指令鏈節點指標Next_CCN_ptr指向指令鏈節點116_2。因此,當依據一被選擇的多播列中的一指令鏈節點指標CCN_ptr而選擇指令鏈節點116_1時,指令鏈節點116_1和指令鏈節點116_2所包含的所有的指令桶指標CMD_bkt_ptr0、CMD_bkt_ptr1、CMD_bkt_ptr0’、CMD_bkt_ptr1’、CMD_bkt_ptr2’都會被選用。
關於該指令桶指標鏈的操作,請再次參考第5圖。如第5圖所示,在指令桶119_1的結束部分有一下一指令桶指標Ptr。舉例來說,指令桶119_1可具有3個指令CMD0~CMD2以及一下一指令桶指標Ptr。在此實施例中,下一指令桶指標Ptr會指向介於指令桶119_2和指令桶119_4之間的指令桶119_3。因此,當依據一被選擇的指令鏈節點中的一指令桶指標而選擇指令桶119_1時,指令桶119_1和指令桶119_3所儲存的所有的指令都會被選用。
請再次參考第1圖。輸入封包PKTIN和相關封包處理列PPL都會被排入在封包佇列/排程電路108的複數個輸出佇列中的一個當中。封包佇列/排程電路108產生排程決定來排程針對該輸出佇列執行的出列操作以將封包以及相關封包處理列PPL從輸出封包出列。當輸入封包PKTIN以及相關封包處理列PPL都出列後,後續封包處理電路110便會基於其封包處理列PPL來針對輸入封包PKTIN執行封包修改及/或封包複製,接著發出複數個修改後輸入封包(即輸出封包)經由傳送器模組112至出口埠。舉例來說,輸出封包PKTOUT_11~PKTOUT_1J係藉由基於封包處理列PPL的第一區202_1提供的完整封包處理資訊來處理輸入封包PKTIN所產生,以及輸出封包PKTOUT_21~PKTOUT_2K係藉由基於封包處理列PPL的第一區202_1提供的部分封包處理資訊(例如第一區202_1中的共同處理欄位206_1中的第二資訊INF12)以及封包處理列PPL的第二區202_2提供的完整封包處理資訊來處理同一輸入封包PKTIN所產生。
為了更清楚地解釋本發明的機制,以下將以基於一輸入封包以及針對該輸入封包所建立的一封包處理列來產生輸出封包為例作為說明。
請參考第6圖,第6圖為本發明具有兩群組動作的一封包處理列的實施例的示意圖。在此範例中,該封包處理列中有兩群組動作,該封包處理列中的第一區描述了出口埠(埠#1和埠#2)和服務類別欄位(高)(在第6圖中標記為CoS=High),並進一步描述了一“修改”指令(MOD#1)用於共同封包處理以及一群組動作(Group_idx #1=0)用於個別封包處理。該封包處理列之該第二區描述了出口埠(埠#0和埠#2)和服務類別欄位(中)(在第6圖中標記為CoS=Med),並進一步描述了一指令桶指標(CMD_bkt_ptr=5)用於共同封包處理以及一群組動作(Group_idx #2=2)用於個別封包處理。在封包處理電路110中,該封包處理列之該第一區會首先被執行。Group_idx #1和PBM #1係用來索引多播表格以得到兩個多播列,其包含指向指令鏈節點#1(埠#1)以及指令鏈節點#2(埠#2)的指令鏈節點指標。在指令鏈節點#1中,有兩個指令桶指標來分別得到兩個指令桶MOD A和MOD C。在指令鏈節點#2中,有兩個指令桶指標來分別指向兩個指令桶MOD B和MOD C。
接著,該封包處理列之該第二區會被執行。Group_idx #2和PBM #2係用來索引多播表格以得到兩個多播列,其包含指向指令鏈節點#3以及指令鏈節點#5的指令鏈節點指標,其中指令鏈節點#4係經由指令鏈節點鏈來鏈結至指令鏈節點#3。在指令鏈節點#3中,有三個指令桶指標來分別得到三個指令桶MOD A、MOD B和MOD C,其中指令桶MOD A經由指令桶鏈結來鏈結至指令桶MOD A-1。在指令鏈節點#4中,有一個指令桶指標來得到一個指令桶MOD Z。在指令鏈節點#5中,有一個指令桶指標來得到一個指令桶MOD X。
關於產生輸出封包的一第一群組的操作,封包處理電路110會依序執行該第一區所描述之共同處理操作(即“修改”指令(MOD#1)),以及該第一區中所描述之個別處理操作(即基於Group_idx #1所得到的指令桶)。
關於產生輸出封包的一第二群組的操作,封包處理電路110會依序執行該第一區所描述之共同處理操作(即“修改”指令(MOD#1)),該第二區所描述之共同處理操作(即“修改”指令(MOD#2)),以及該第二區中所描述之個別處理操作(即基於Group_idx #2所得到的指令桶)。
如上所述,第三資訊INF13/第六資訊INF23可記錄多播表格114中的一項目的一索引值Group_idx。因此,會基於透過針對多播表格114執行一表格查找操作所選擇到的指令鏈節點來決定個別處理操作。然而此並非為本發明的限制所在。又或者是可以直接藉由至少一指令鏈節點指標(未繪示於圖中)來設定上述索引值Group_idx,這樣一來便不需要多播表格查找的動作。簡而言之,第三資訊INF13/第六資訊INF23亦可視實際設計考量用來記錄一指令鏈節點指標,且都屬於本發明的權利範圍。
第7圖繪示了基於第6圖所示的封包處理列來產生輸出封包(例如PKTOUT_21以及PKTOUT_22)至一出口埠(例如埠#0)的封包修改程序。其中係依序地執行該第一區的一共同處理欄位中的“修改”指令MOD#1、經由該第二區的一共同處理欄位中的指令封包指標CMD_pkt_ptr=5得到的指令桶MOD D、以及經由該第二區的一個別處理欄位中索引為Group_idx #2的一多播列以及該第二區的一出口埠欄位中的埠#0得到的指令鏈節點#3的指令桶,以修改一入口封包來產生輸出封包PKTOUT_21。此外,該第一區的一共同處理欄位中的“修改”指令MOD#1、經由該第二區的一共同處理欄位中的指令封
包指標CMD_pkt_ptr=5得到的指令桶MOD D、以及依據多播列鏈結得到的指令鏈節點#4的一指令桶會依序地被執行以修改同一入口封包來產生輸出封包PKTOUT_22。
第8圖繪示了基於第6圖中的封包處理列來產生一輸出封包(例如PKTOUT_11)至另一出口埠(例如埠#1)的封包修改程序。其中係依序地執行該第一區之該共同處理欄位中的“修改”指令MOD#1、以及經由該第一區的一個別處理欄位中索引為Group_idx #1的一多播列以及該第一區的一出口埠欄位中的埠#1得到的指令鏈節點#1的指令桶,以修改同一入口封包來產生輸出封包PKTOUT_11。
第9圖繪示了基於第6圖中的封包處理列來產生輸出封包(例如PKTOUT_12以及PKTOUT_23)至又另一出口埠(例如埠#2)的封包修改程序。其中係依序地執行該第一區之該共同處理欄位中的“修改”指令MOD#1、以及經由該第一區之該個別處理欄位中索引為Group_idx #1的一多播列以及該第一區之該出口埠欄位中的埠#2得到的指令鏈節點#2的指令桶,以修改同一入口封包來產生輸出封包PKTOUT_12。此外,該第一區之該共同處理欄位中的“修改”指令MOD#1、經由該第二區之該共同處理欄位中的指令封包指標CMD_pkt_ptr=5得到的指令桶MOD D、以及經由該第二區之該個別處理欄位中索引為Group_idx #2的一多播列以及該第二區之該出口埠欄位中的埠#2得到的指令鏈節點#5的一指令桶會依序地被執行以修改同一入口封包來產生輸出封包PKTOUT_23。
第10圖為本發明一逐埠(per-port)群組指令執行方法的實施例的流程圖。倘若大體上可達到相同的結果,並不一定需要按照第10圖所示之流程中的步驟順序來進行,且第10圖所示之步驟不一定要連續進行,亦即其他
步驟亦可插入其中。此外,第10圖中的某些步驟可根據不同實施例或設計需求省略之。在本發明一較佳實施例中,封包處理電路110可包含有複數個封包處理引擎,其中每一個都可產生輸出封包至一出口埠。因此,當產生一個或是多個封包至一相對應出口埠時,每一封包處理引擎可採用該逐埠群組指令執行方法來將個別處理操作應用於輸入封包PKTIN。舉例來說,該封包中每一區係以一群組索引(即記錄於一個別處理欄位的一索引值)作為結束,且在每一實體出口埠該些群組索引會依序被執行。然而,以上僅供說明用途,並非為本發明的限制所在。任何採用所提出的封包處理框架的電子裝置都落入本發明的權利範圍之中。
該逐埠群組指令執行方法可以歸納如下:
步驟1000:開始。
步驟1002:使用一群組索引來從該多播表格得到一多播列。
步驟1004:使用該多播列來得到一指令鏈節點。
步驟1006:依據該指令鏈節點來從一指令桶陣列得到指令桶。若該指令鏈節點未使用指令鏈節點鏈,可僅基於該指令鏈節點來得到該指令桶;且若該指令鏈節點有使用指令鏈節點鏈,可基於該指令鏈節點及連結至該指令鏈節點的額外指令鏈節點來得到該指令桶。
步驟1008:依據所得到的指令桶來修改一輸入封包,並將一修改後的輸入封包(即一輸出封包)輸出。
步驟1010:檢查是否有一下一多播列被多播列鏈所連結。若是,則進入步驟1012;否則進入步驟1014。
步驟1012:使用該下一多播列來得到一指令鏈節點。進入步驟1006。
步驟1014:檢查是否有一下一群組索引尚未處理。若是,則進入步驟1016;否則進入步驟1018。
步驟1016:使用該下一群組索引來從該多播表格得到一多播列。進入步驟1004。
步驟1018:結束。
如第10圖中所示之該逐埠群組指令執行方法,會依序處理針對一輸入封包建立的一封包處理列中的群組索引,以及依序處理相關於相同群組索引的多播列,以及依序處理相關於相同多播列的指令鏈節點。此外,每次處理一多播列的時候都會產生修改的輸入封包。熟習此領域者在閱讀過上述過於第10圖中的每一步驟後,應能瞭解其中的細節,故在此便不再針對其中的說明多作贅述。
以上所述僅為本發明之較佳實施例,舉凡熟悉本案之人士援依本發明之精神所做之等效變化與修飾,皆應涵蓋於後附之申請專利範圍內。
100‧‧‧封包處理裝置
102‧‧‧接收器模組
104‧‧‧轉發決定產生電路
106‧‧‧封包處理列建立電路
107‧‧‧儲存裝置
108‧‧‧封包佇列/排程電路
110‧‧‧封包處理電路
112‧‧‧傳送器模組
114‧‧‧多播表格
116‧‧‧指令鏈節點
118‧‧‧指令桶陣列
119‧‧‧指令桶
Claims (22)
- 一種封包處理方法,包含有:接收針對一輸入封包所做的一轉發決定;以及依據該轉發決定來建立該輸入封包的一封包處理列,其中建立該封包處理列的步驟包含有:當該轉發決定指出該輸入封包需要經過複數個第一封包處理操作,其中每一第一封包處理操作包含有一共同處理操作以及一個別處理操作,以分別經由複數個第一出口埠來產生複數個第一輸出封包轉發時:在該封包處理列的一第一區的一出口埠欄位中記錄一第一資訊,用以指示該些第一出口埠;在該封包處理列之該第一區的一共同處理欄位中記錄一第二資訊,用以指示該些第一封包處理操作所共享之該共同處理操作;以及在該封包處理列之該第一區的一個別處理欄位中記錄一第三資訊,用以指示該些第一封包處理操作的該個別處理操作。
- 如申請專利範圍第1項所述的封包處理方法,其中該第一資訊係一埠位元映射圖。
- 如申請專利範圍第1項所述的封包處理方法,其中該第二資訊記錄該共同處理操作的每一封包處理指令。
- 如申請專利範圍第1項所述的封包處理方法,其中該第二資訊記錄一指令桶指標,其指向一指令桶,以及該指令桶儲存該共同處理操作的每一封包處理指令。
- 如申請專利範圍第1項所述的封包處理方法,其中該第三資訊在一多播表格中記錄一項目的一索引值;該項目係相關於分別對應至該些第一出口埠的複數個多播列;每一多播列都記錄一指令鏈節點指標;以及該指令鏈節點指標指向具有至少一指令桶指標的一指令鏈節點,其中每一指令桶指標指向對應至涉及產生一輸出封包的該個別處理操作的一指令桶。
- 如申請專利範圍第5項所述的封包處理方法,其中被該指令鏈節點之該至少一指令桶指標的其中之一所指向的該指令桶包含有指向一下一指令桶的一下一指令桶指標。
- 如申請專利範圍第5項所述的封包處理方法,其中該些多播列的至少其中之一進一步包含有指向一下一多播列的一下一多播列指標;以及該下一多播列記錄指向具有該至少一指令桶指標的該指令鏈節點的該指令鏈節點指標,其中該至少一指令桶指標指向對應至涉及產生另一輸出封包的另一個別處理操作的一指令桶。
- 如申請專利範圍第5項所述的封包處理方法,其中該指令鏈節點進一步具有一下一指令鏈節點指標,該下一指令鏈節點指標指向一下一指令鏈節點,以及該下一指令鏈節點具有該至少一指令桶指標,其中每一該至少一指令桶指標指向對應至涉及產生該輸出封包之該個別處理操作的該指令桶。
- 如申請專利範圍第1項所述的封包處理方法,其中該第三資訊記錄至少一共同鏈節點指標,以及該共同鏈節點指標指向具有至少一指令桶指標的一共同鏈節點,其中每一指令桶指標指向對應至涉及產生一輸出封包的該個別處理操作的一指令桶。
- 如申請專利範圍第1項所述的封包處理方法,其中建立該封包處理列的步驟進一步包含有:當該轉發決定進一步指示該輸入封包需要經過複數個第二封包處理操作,其中每一第二封包處理操作包含有該共同處理操作、另一共同處理操作以及一個別處理操作,以產生複數個第二輸出封包經由複數個第二出口埠分別轉發時:在該封包處理列的一第二區的一出口埠欄位中記錄一第四資訊,用以僅指示該些第二出口埠;在該封包處理列之該第二區的一共同處理欄位中記錄一第五資訊,用以指示該些第二封包處理操作所共享之該另一共同處理操作;以及在該封包處理列之該第二區的一個別處理欄位中記錄一第六資訊,用以指示該些第二封包處理操作的該個別處理操作。
- 一種封包處理方法,包含有:接收一輸入封包;接收針對該輸入封包所建立的一封包處理列;以及藉由依據該封包處理列來處理該輸入封包,以產生複數個第一輸出封包,其中產生該些第一輸出封包的步驟包含有:從該封包處理列的一第一區的一出口埠欄位中讀取一第一資訊,該第一資訊指示複數個第一出口埠;從該封包處理列之該第一區的一共同處理欄位中讀取一第二資訊,該第二資訊指示一共同處理操作;從該封包處理列之該第一區的一個別處理欄位中讀取一第三資訊,該第三資訊用以指示分別涉及產生該些第一輸出封包的複數個個別處理操作;以及針對該輸入封包執行複數個第一封包處理操作,其中每一第一封包 處理操作包含有該共同處理操作以及一個對應個別處理操作,以分別產生該些第一輸出封包至該些第一出口埠。
- 如申請專利範圍第11項所述的封包處理方法,其中該第一資訊係一埠位元映射圖。
- 如申請專利範圍第11項所述的封包處理方法,其中該第二資訊記錄該共同處理操作的每一封包處理指令。
- 如申請專利範圍第11項所述的封包處理方法,其中該第二資訊記錄一指令桶指標,其指向一指令桶,以及該指令桶儲存該共同處理操作的每一封包處理指令。
- 如申請專利範圍第11項所述的封包處理方法,其中該第三資訊在一多播表格中記錄一項目的一索引值;該項目係相關於分別對應至該些第一出口埠的複數個多播列;每一多播列都記錄一指令鏈節點指標;以及該指令鏈節點指標指向具有至少一指令桶指標的一指令鏈節點,其中每一指令桶指標指向對應至涉及產生一輸出封包的一個別處理操作的一指令桶。
- 如申請專利範圍第15項所述的封包處理方法,其中被該指令鏈節點之該至少一指令桶指標的其中之一所指向的該指令桶包含有指向一下一指令桶的一下一指令桶指標。
- 如申請專利範圍第15項所述的封包處理方法,其中該些多播列的至少其中之一進一步包含有指向一下一多播列的一下一多播列指標;以及該下一多播列記錄指向具有該至少一指令桶指標的一指令鏈節點的一指令鏈節點指標,其中該至少一指令桶指標指向對應至涉及產生另一輸出封包的另 一個別處理操作的一指令桶。
- 如申請專利範圍第15項所述的封包處理方法,其中該指令鏈節點進一步具有一下一指令鏈節點指標,該下一指令鏈節點指標指向一下一指令鏈節點,以及該下一指令鏈節點具有該至少一指令桶指標,其中每一該至少一指令桶指標指向對應至涉及產生該輸出封包之該個別處理操作的該指令桶。
- 如申請專利範圍第11項所述的封包處理方法,其中該第三資訊記錄至少一共同鏈節點指標,以及該共同鏈節點指標指向具有至少一指令桶指標的一共同鏈節點,其中每一指令桶指標指向對應至涉及產生一輸出封包的一個別處理操作的一指令桶。
- 如申請專利範圍第11項所述的封包處理方法,進一步包含有:藉由依據該封包處理列來處理該輸入封包,以產生複數個第二輸出封包,其中產生該些第二輸出封包的步驟包含有:從該封包處理列的一第二區的一出口埠欄位中讀取一第四資訊,該第四資訊指示複數個第二出口埠;從該封包處理列之該第二區的一共同處理欄位中讀取一第五資訊,該第五資訊僅指示另一共同處理操作;從該封包處理列之該第二區的一個別處理欄位中讀取一第六資訊,該第六資訊用以指示分別涉及產生該些第二輸出封包的複數個個別處理操作;以及針對該輸入封包執行複數個第二封包處理操作,其中每一第二封包處理操作包含有該共同處理操作、該另一共同處理操作,以及一個對應個別處理操作,以分別產生該些第二輸出封包至該些第二 出口埠。
- 一種封包處理裝置,包含有:一轉發決定產生電路,用來針對一輸入封包產生一轉發決定;以及一封包處理列建立電路,用來接收該轉發決定,以及依據該轉發決定來建立該輸入封包的一封包處理列;其中當該轉發決定指出該輸入封包需要經過複數個第一封包處理操作,其中每一第一封包處理操作包含有一共同處理操作以及一個別處理操作,以分別經由複數個第一出口埠來產生複數個第一輸出封包轉發時,該封包處理列建立電路在該封包處理列的一第一區的一出口埠欄位中記錄一第一資訊,用以指示該些第一出口埠;在該封包處理列之該第一區的一共同處理欄位中記錄一第二資訊,用以指示該些第一封包處理操作所共享之該共同處理操作;以及在該封包處理列之該第一區的一個別處理欄位中記錄一第三資訊,用以指示該些第一封包處理操作的該個別處理操作。
- 一種封包處理裝置,包含有:一封包處理列建立電路,用來針對一輸入封包建立一封包處理列;以及一封包處理電路,用來接收該輸入封包以及該封包處理列,並藉由依據該封包處理列來處理該輸入封包,以產生複數個第一輸出封包;其中該封包處理電路從該封包處理列的一第一區的一出口埠欄位中讀取一第一資訊,該第一資訊指示複數個第一出口埠;從該封包處理列之該第一區的一共同處理欄位中讀取一第二資訊,該第二資訊指示一共同處理操作;從該封包處理列之該第一區的一個別處理欄位中讀取一第三資訊,該第三資訊用以指示分別涉及產生該些第一輸出封包的複數個個別處理操作;以及針對該輸入封包執行複數個第一封包處理操作,其中每一第一封包處理操作包含有該共同處理操作以及一個對應個別處理操作,以分別產生該些第一輸出封包至該些第一出口埠。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361837191P | 2013-06-20 | 2013-06-20 | |
US14/267,885 US20140376549A1 (en) | 2013-06-20 | 2014-05-01 | Packet processing apparatus and method for processing input packet according to packet processing list created based on forwarding decision made for input packet |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201501499A TW201501499A (zh) | 2015-01-01 |
TWI543575B true TWI543575B (zh) | 2016-07-21 |
Family
ID=52110884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103120918A TWI543575B (zh) | 2013-06-20 | 2014-06-17 | 封包處理方法以及封包處理裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140376549A1 (zh) |
CN (1) | CN104243300B (zh) |
TW (1) | TWI543575B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9172550B2 (en) * | 2013-07-19 | 2015-10-27 | Globalfoundries U.S. 2 Llc Company | Management of a multicast system in a software-defined network |
US10461946B2 (en) | 2013-09-17 | 2019-10-29 | Cisco Technology, Inc. | Overlay signaling for bit indexed explicit replication |
US9942053B2 (en) * | 2013-09-17 | 2018-04-10 | Cisco Technology, Inc. | Bit indexed explicit replication using internet protocol version 6 |
US10218524B2 (en) | 2013-09-17 | 2019-02-26 | Cisco Technology, Inc. | Bit indexed explicit replication for layer 2 networking |
US9806897B2 (en) | 2013-09-17 | 2017-10-31 | Cisco Technology, Inc. | Bit indexed explicit replication forwarding optimization |
JP6474710B2 (ja) * | 2015-11-18 | 2019-02-27 | Kddi株式会社 | 通信装置及びプログラム |
US10630743B2 (en) | 2016-09-23 | 2020-04-21 | Cisco Technology, Inc. | Unicast media replication fabric using bit indexed explicit replication |
US10637675B2 (en) | 2016-11-09 | 2020-04-28 | Cisco Technology, Inc. | Area-specific broadcasting using bit indexed explicit replication |
US10164794B2 (en) | 2017-04-28 | 2018-12-25 | Cisco Technology, Inc. | Bridging of non-capable subnetworks in bit indexed explicit replication |
US10893437B2 (en) * | 2018-02-27 | 2021-01-12 | Verizon Patent And Licensing Inc. | Out-of-order packet handling in 5G/new radio |
US11658837B2 (en) * | 2020-07-10 | 2023-05-23 | Realtek Semiconductor Corp. | Multicast packet replication method |
CN117978851B (zh) * | 2024-03-29 | 2024-06-07 | 苏州元脑智能科技有限公司 | 会话连接方法、交互方法、装置、设备及介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272567B1 (en) * | 1998-11-24 | 2001-08-07 | Nexabit Networks, Inc. | System for interposing a multi-port internally cached DRAM in a control path for temporarily storing multicast start of packet data until such can be passed |
US7224668B1 (en) * | 2002-11-27 | 2007-05-29 | Cisco Technology, Inc. | Control plane security and traffic flow management |
US8225389B2 (en) * | 2003-04-11 | 2012-07-17 | Broadcom Corporation | Method and system to provide physical port security in a digital communication system |
US7739424B2 (en) * | 2005-04-18 | 2010-06-15 | Integrated Device Technology, Inc. | Packet processing switch and methods of operation thereof |
US9769092B2 (en) * | 2010-01-18 | 2017-09-19 | Marvell International Ltd. | Packet buffer comprising a data section and a data description section |
BR112012024886B1 (pt) * | 2010-03-29 | 2018-08-07 | Huawei Technologies Co., Ltd. | Roteador agrupado e método de roteamento agrupado |
CN102123082A (zh) * | 2011-01-14 | 2011-07-13 | 中兴通讯股份有限公司 | 数据包转发方法和设备 |
-
2014
- 2014-05-01 US US14/267,885 patent/US20140376549A1/en not_active Abandoned
- 2014-06-17 TW TW103120918A patent/TWI543575B/zh not_active IP Right Cessation
- 2014-06-19 CN CN201410275783.4A patent/CN104243300B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20140376549A1 (en) | 2014-12-25 |
CN104243300A (zh) | 2014-12-24 |
CN104243300B (zh) | 2018-01-05 |
TW201501499A (zh) | 2015-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI543575B (zh) | 封包處理方法以及封包處理裝置 | |
US10764181B2 (en) | Pipelined evaluations for algorithmic forwarding route lookup | |
JP4799616B2 (ja) | ルータ及びルーティングネットワーク | |
US10652024B2 (en) | Digital signature systems and methods for network path trace | |
US10877838B1 (en) | Data plane error detection for ternary content-addressable memory (TCAM) of a forwarding element | |
US20190372905A1 (en) | Data Packet Processing System on a Chip | |
KR20090099519A (ko) | 네트워크 흐름을 분석하기 위한 장치 및 방법 | |
KR20150079477A (ko) | 소프트웨어-규정된 네트워크 엔진에서 패킷 수정 및 포워딩을 위해서 룩업들을 생성하고 결정들을 수행하기 위한 장치 및 방법 | |
TW495671B (en) | Media access control micro-RISC stream processor and method for implementing the same | |
TWI551087B (zh) | 封包處理裝置 | |
TWI652623B (zh) | 用於後援處理器單元的資訊查找請求處理或異常封包處理之方法及裝置 | |
CN104580202B (zh) | 报文的匹配方法和装置 | |
EP3948615A1 (en) | Applying attestation to segment routing | |
TWI569609B (zh) | 封包預分類方法及裝置 | |
CN105409169A (zh) | 一种多路径转发规则的构造方法、装置及系统 | |
CN115088239A (zh) | 用于网络设备的混合固定/可编程报头解析器 | |
US8249067B2 (en) | Separation of fabric and packet processing source in a system | |
JP2015537454A (ja) | キュースケジューリング方法、装置及びシステム | |
US10185675B1 (en) | Device with multiple interrupt reporting modes | |
US9979802B2 (en) | Assembling response packets | |
US11411862B2 (en) | Method, electronic device and computer-readable medium for processing data generated by service | |
US8792488B2 (en) | Network switch, route setup method, program, and parallel computer system | |
US8914550B2 (en) | System and method for transferring data between components of a data processor | |
US20220416996A1 (en) | Block Cipher Encryption Pipeline | |
CN112035866A (zh) | 一种数据加解密方法、装置、设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |