在網(wǎng)絡(luò)設(shè)備中,多個端口被配置為在網(wǎng)絡(luò)上接收和發(fā)送分組。分組處理管線包括多個硬件級,其中,至少一個硬件級被配置為輸出數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)包括基于對接收的分組或數(shù)據(jù)結(jié)構(gòu)執(zhí)行的第一分組處理操作從接收的分組中提取的字段,其中,數(shù)據(jù)結(jié)構(gòu)與分組相關(guān)聯(lián)。可配置處理器被耦合到分組處理管線的至少一個硬件級。可配置處理器被配置為修改數(shù)據(jù)結(jié)構(gòu)中的字段以生成經(jīng)修改的數(shù)據(jù)結(jié)構(gòu),并且將經(jīng)修改的數(shù)據(jù)結(jié)構(gòu)傳遞到后續(xù)的硬件級,后續(xù)的硬件級被配置為使用由可配置處理器修改的字段來對數(shù)據(jù)結(jié)構(gòu)執(zhí)行第二分組處理操作。
【技術(shù)實現(xiàn)步驟摘要】
【國外來華專利技術(shù)】具有可編程內(nèi)核的網(wǎng)絡(luò)設(shè)備相關(guān)申請的交叉引用本申請要求于2011年1月6日提交的題為“ProgrammableSwitch”的第61/430,413號美國臨時專利申請的優(yōu)先權(quán),其全部公開內(nèi)容以引用的方式并入本文。本申請還要求于2011年3月23日提交的題為“ProgrammableSwitch”的第61/466,718號美國臨時專利申請的優(yōu)先權(quán),其全部公開內(nèi)容以引用的方式并入本文。
本公開一般涉及通信網(wǎng)絡(luò),更具體地,涉及網(wǎng)絡(luò)切換設(shè)備。
技術(shù)介紹
本文提供的背景描述用于一般性地呈現(xiàn)本專利技術(shù)的上下文的目的。就該背景部分中描述的當前稱作專利技術(shù)人的工作以及可能以其它方式在提交時未作為現(xiàn)有技術(shù)的描述的各個方面而言,既沒有明確地也沒有隱含地承認當前稱作專利技術(shù)人的工作是相對于本專利技術(shù)的現(xiàn)有技術(shù)。網(wǎng)絡(luò)交換機被配置為在連接到通信鏈路的多個端口之間轉(zhuǎn)發(fā)網(wǎng)絡(luò)業(yè)務(wù)。對于高吞吐量的應(yīng)用而言,網(wǎng)絡(luò)交換機通常是使用諸如專用集成電路(ASIC)的硬件來實現(xiàn)的。當引入了新的網(wǎng)絡(luò)協(xié)議并且在引入新的網(wǎng)絡(luò)協(xié)議之前設(shè)計了網(wǎng)絡(luò)交換機的硬件(例如,ASIC)時,該網(wǎng)絡(luò)交換機可能難以處理符合新的網(wǎng)絡(luò)協(xié)議的分組。
技術(shù)實現(xiàn)思路
在一個實施方式中,網(wǎng)絡(luò)設(shè)備包括多個端口和分組處理管線,多個端口被配置為在網(wǎng)絡(luò)上接收和發(fā)送分組,分組處理管線包括多個硬件級。至少一個硬件級被配置為輸出數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)包括基于對接收的分組或數(shù)據(jù)結(jié)構(gòu)執(zhí)行的第一分組處理操作、從接收的分組中提取的字段,其中,數(shù)據(jù)結(jié)構(gòu)與分組相關(guān)聯(lián)。網(wǎng)絡(luò)設(shè)備還包括可配置處理器,可配置處理器耦合到分組處理管線的至少一個硬件級??膳渲锰幚砥鞅慌渲脼樾薷臄?shù)據(jù)結(jié)構(gòu)中的字段以生成經(jīng)修改的數(shù)據(jù)結(jié)構(gòu),并且將經(jīng)修改的數(shù)據(jù)結(jié)構(gòu)傳遞到后續(xù)的硬件級,后續(xù)的硬件級被配置為使用由可配置處理器修改的字段來對數(shù)據(jù)結(jié)構(gòu)執(zhí)行第二分組處理操作。在另一個實施方式中,一種方法包括經(jīng)由網(wǎng)絡(luò)切換設(shè)備的端口接收分組,以及利用分組處理管線處理分組,分組處理管線包括多個硬件級,多個硬件級至少包括第一級、第二級和可配置處理器。利用分組處理管線處理分組包括:利用第一級輸出數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)包括基于對接收的分組或數(shù)據(jù)結(jié)構(gòu)執(zhí)行的第一分組處理操作、從接收的分組中提取的字段,其中,數(shù)據(jù)結(jié)構(gòu)與分組相關(guān)聯(lián);使用可配置處理器修改數(shù)據(jù)結(jié)構(gòu)中的字段以生成經(jīng)修改的數(shù)據(jù)結(jié)構(gòu);以及將所修改的數(shù)據(jù)結(jié)構(gòu)傳遞到第二硬件級,第二硬件級被配置為使用由可配置處理器修改的字段來對數(shù)據(jù)結(jié)構(gòu)執(zhí)行第二分組處理操作。附圖說明圖1是根據(jù)本專利技術(shù)的實施方式的示例性網(wǎng)絡(luò)設(shè)備的功能圖;圖2是根據(jù)一個實施方式的用于在網(wǎng)絡(luò)設(shè)備中處理分組的示例性方法的流程圖;圖3是根據(jù)一個實施方式的用于在網(wǎng)絡(luò)設(shè)備中處理分組的另一個示例性方法的流程圖;圖4是根據(jù)一個實施方式的用于在網(wǎng)絡(luò)設(shè)備中處理分組的另一個示例性方法的流程圖;圖5是根據(jù)一個實施方式的用于修改分組的報頭的示例性方法的數(shù)據(jù)流程圖;圖6是根據(jù)一個實施方式的用于在網(wǎng)絡(luò)設(shè)備中處理分組的另一個示例性方法的流程圖;以及圖7是根據(jù)一個實施方式的在圖1的網(wǎng)絡(luò)設(shè)備中使用的示例性的可配置內(nèi)核單元的示意圖。具體實施方式圖1是根據(jù)一個實施方式的被配置用于處理和轉(zhuǎn)發(fā)數(shù)據(jù)單元(即分組)的示例性網(wǎng)絡(luò)設(shè)備100的框圖。如下面更詳細描述的,雖然在一個實施方式中作為硬件級或處理引擎的管線的配置,但是網(wǎng)絡(luò)設(shè)備100包括散布在管線的各個級之間的一個或多個可配置內(nèi)核。在一些實施方式中,一個或多個可配置內(nèi)核可以在制造設(shè)施處、由用戶在現(xiàn)場等重新配置。例如,當引入新的網(wǎng)絡(luò)通信協(xié)議時,可以重新配置一個或多個可配置內(nèi)核,使得網(wǎng)絡(luò)設(shè)備100可以處理符合新的網(wǎng)絡(luò)通信協(xié)議的分組。作為另一個示例,一個或多個可配置內(nèi)核被重新配置為使得網(wǎng)絡(luò)設(shè)備100可以執(zhí)行網(wǎng)絡(luò)設(shè)備100先前不能執(zhí)行的功能。在一些實施方式中,可以在與網(wǎng)絡(luò)設(shè)備100和/或網(wǎng)絡(luò)設(shè)備100中包含的硬件(例如,分組處理器)的生產(chǎn)商相關(guān)聯(lián)的制造設(shè)施中重新配置一個或多個可配置內(nèi)核。例如,如果存在這樣的集成電路(IC),即其上的分組處理器(或者其一部分)有瑕疵或者存在設(shè)計錯誤使得分組處理器未如期望地進行操作,則在已經(jīng)制造出IC以后,制造設(shè)施可以重新配置一個或多個可配置內(nèi)核以執(zhí)行解決方法使得分組處理器如期望地進行操作。在一個實施方式中,一個或多個可配置內(nèi)核是包含在分組處理管線中的管線單元(即硬件級)。在一個實施方式中,管線的單元基于分組中的字段(例如報頭字段)的值和/或基于與分組相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)來執(zhí)行與分組相關(guān)聯(lián)的不同的任務(wù)。在一個實施方式中,這種數(shù)據(jù)結(jié)構(gòu)包括分組的報頭字段。在一個實施方式中,數(shù)據(jù)結(jié)構(gòu)另外或可替換地包括與分組相關(guān)聯(lián)的其它信息。例如,其它信息可以包括由管線的第一單元生成的值,該值向管線的第二單元指示第二單元應(yīng)當如何處理分組(例如,第二單元應(yīng)當對分組執(zhí)行哪個任務(wù)或哪些任務(wù))。在一個實施方式中,一個或多個可配置內(nèi)核允許網(wǎng)絡(luò)設(shè)備100被配置為執(zhí)行不同的功能、適當?shù)靥幚矸喜煌蛐碌木W(wǎng)絡(luò)協(xié)議的分組、處理(workaround)管線中的錯誤或瑕疵等。在一個實施方式中,當網(wǎng)絡(luò)設(shè)備100的管線單元中的很多管線單元不適合于處理符合第二協(xié)議的分組時,一個或多個可配置內(nèi)核允許適合于處理符合第一協(xié)議的分組的網(wǎng)絡(luò)設(shè)備100或者網(wǎng)絡(luò)設(shè)備100中的至少各個級被重新配置為處理符合第二協(xié)議的分組。例如,在一個實施方式中,管線的單元處理與分組相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu),并且每一個數(shù)據(jù)結(jié)構(gòu)包括由管線的單元中的很多管線單元視作為與第一協(xié)議指定的第一分組報頭字段對應(yīng)的字段。在一個實施方式中,例如在制造設(shè)施處或者由顧客對可配置內(nèi)核中的一個進行配置,以基于由第二協(xié)議指定的第二分組報頭字段修改數(shù)據(jù)結(jié)構(gòu)字段。然后,假設(shè)數(shù)據(jù)結(jié)構(gòu)字段仍然與由第一協(xié)議指定的第一報頭字段相對應(yīng),管線的其它單元可以使用所修改的數(shù)據(jù)結(jié)構(gòu)字段處理數(shù)據(jù)結(jié)構(gòu)。換言之,在一個實施方式中,雖然分組似乎具有符合第一協(xié)議的數(shù)據(jù)結(jié)構(gòu)字段并且對分組進行處理如同該分組符合第一協(xié)議一樣,但是實際上在可配置內(nèi)核進行修改以后,數(shù)據(jù)結(jié)構(gòu)中的所選擇的字段的實際內(nèi)容符合第二協(xié)議。在一個實施方式中,對分組的實際處理(例如,做出轉(zhuǎn)發(fā)決定)是由處理單元根據(jù)第二協(xié)議執(zhí)行的,該處理單元表現(xiàn)地如同其處理符合第一分組的分組一樣。在另一個實施方式中,第一可配置內(nèi)核被配置為基于對分組的分析來設(shè)置數(shù)據(jù)結(jié)構(gòu)字段。位于第一可配置內(nèi)核的下游的第二可配置內(nèi)核被配置為基于數(shù)據(jù)結(jié)構(gòu)字段的值采取不同的動作。第一可配置內(nèi)核與第二可配置內(nèi)核之間的其它管線單元被配置為忽略數(shù)據(jù)結(jié)構(gòu)字段。在一個實施方式中,可配置內(nèi)核被配置為基于對分組的分析來設(shè)置一個或多個數(shù)據(jù)結(jié)構(gòu)字段,并且管線中的下游單元使用這一個或多個數(shù)據(jù)結(jié)構(gòu)字段來確定分組是否應(yīng)當繞過下游單元中的一個或多個的處理。參照圖1,網(wǎng)絡(luò)設(shè)備100包括耦合到一個或多個進入(ingress)物理端口108和一個或多個外出(egress)物理端口116的分組處理管線102。雖然圖1中僅示出了一個進入物理端口108和一個外出物理端口116,但是典型的交換機設(shè)備包括分組經(jīng)由其進入的多個進入物理端口108和分組經(jīng)由其從網(wǎng)絡(luò)設(shè)備100外出的多個外出物理端口116。在一個實施方式中,分組處理管線包括耦合到外出部分112的進入部分104。圖1是簡化的框圖,并且網(wǎng)絡(luò)設(shè)備中的處理管線通常包括圖1中未本文檔來自技高網(wǎng)...

【技術(shù)保護點】
【技術(shù)特征摘要】
【國外來華專利技術(shù)】2011.01.06 US 61/430,413;2011.03.23 US 61/466,7181.一種網(wǎng)絡(luò)設(shè)備,包括:多個端口,被配置為在網(wǎng)絡(luò)上接收和發(fā)送分組;其特征在于所述網(wǎng)絡(luò)設(shè)備進一步包括:分組處理管線,包括多個硬件級,所述多個硬件級包括第一硬件級和第二硬件級,其中所述第一硬件級被配置為從接收的分組中的第一報頭信息提取第一數(shù)據(jù)并且輸出包括字段的數(shù)據(jù)結(jié)構(gòu),所述字段包括所述第一數(shù)據(jù),其中所述第一報頭信息符合第一通信協(xié)議并且所述數(shù)據(jù)結(jié)構(gòu)與所述分組相關(guān)聯(lián);可配置處理器,耦合到所述分組處理管線,其中所述可配置處理器被配置為修改所述數(shù)據(jù)結(jié)構(gòu)以生成經(jīng)修改的數(shù)據(jù)結(jié)構(gòu),生成所述經(jīng)修改的數(shù)據(jù)結(jié)構(gòu)包括利用從所述接收的分組中的第二報頭信息提取的第二數(shù)據(jù)來重寫所述數(shù)據(jù)結(jié)構(gòu)中的所述字段,其中所述第二報頭信息符合所述分組處理管線的所述第二硬件級所未識別出的第二通信協(xié)議;并且其中所述第二硬件級被配置為使用所述數(shù)據(jù)結(jié)構(gòu)的所述字段對所述數(shù)據(jù)結(jié)構(gòu)執(zhí)行分組處理操作并且從所述可配置處理器接收所述經(jīng)修改的數(shù)據(jù)結(jié)構(gòu),使得所述第二硬件級使用從符合所述第二硬件級所未識別出的所述第二通信協(xié)議的第二報頭信息提取的所述第二數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其中所述字段與從所述分組的符合所述第一通信協(xié)議的所述第一報頭信息中提取的目的地地址相對應(yīng);其中所述第二硬件級被配置為使用所述字段中所包含的信息來確定所述分組將經(jīng)由其進行發(fā)送的端口;并且其中所述可配置處理器被配置為在所述數(shù)據(jù)結(jié)構(gòu)由所述第一硬件級輸出之后并且在所述數(shù)據(jù)結(jié)構(gòu)被傳遞到所述第二硬件級之前重寫所述數(shù)據(jù)結(jié)構(gòu)中的所述字段,使得所述字段不再包括從所述分組的符合所述第一通信協(xié)議的所述第一報頭信息中提取的所述目的地地址。3.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其中:所述字段是第一字段;所述可配置處理器被配置為使用來自所述數(shù)據(jù)結(jié)構(gòu)中的第二字段的數(shù)據(jù)來重寫所述第一字段,所述第二字段存儲從所述接收的分組中的所述第二報頭信息提取的所述第二數(shù)據(jù)。4.根據(jù)權(quán)利要求3所述的網(wǎng)絡(luò)設(shè)備,其中,所述分組處理管線包括第三硬件級,所述第三硬件級被配置為從所述接收的分組中的所述第二報頭信息提取所述第二數(shù)據(jù)并且將所述第二數(shù)據(jù)存儲在所述數(shù)據(jù)結(jié)構(gòu)中的所述第二字段中。5.根據(jù)權(quán)利要求3所述的網(wǎng)絡(luò)設(shè)備,其中,所述分組包括符合所述第二通信協(xié)議的內(nèi)部分組,并且其中所述第二數(shù)據(jù)是從所述內(nèi)部分組中提取的。6.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其中,所述可配置處理器被配置為執(zhí)行機器可讀指令。7.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其中,所述可配置處理器包括一個或多個微碼引擎。8.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其中,所述可配置處理器包括可編程邏輯設(shè)備。9.一種用于通信的方法,包括:經(jīng)由網(wǎng)絡(luò)切換設(shè)備的端口接收分...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:A·羅特施特因,
申請(專利權(quán))人:馬維爾以色列MISL有限公司,
類型:
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。