亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種ip數(shù)據(jù)包過濾器的制作方法

文檔序號:7867969閱讀:164來源:國知局
專利名稱:一種ip數(shù)據(jù)包過濾器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種IP數(shù)據(jù)包過濾器。
背景技術(shù)
為了方便對局域網(wǎng)中的計算機進(jìn)行進(jìn)一步的管理,可以通過數(shù)據(jù)包過濾功能來控制局域網(wǎng)中計算機對互聯(lián)網(wǎng)中某些網(wǎng)站的訪問。IP地址功能現(xiàn)有的IP地址過濾技術(shù)通常使用軟件程序進(jìn)行處理,需要占用大量CPU運算資源,CPU參與運算導(dǎo)致功耗上升。這種IP地址過濾技術(shù)的數(shù)據(jù)吞吐量小,效率較低且速度較慢,而且要依靠CPU接口總線。因此,需要一種能夠克服上述缺陷的IP數(shù)據(jù)包過濾器。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種能夠克服上述缺陷的IP數(shù)據(jù)包過濾器。在第一方面,本發(fā)明提供了一種IP數(shù)據(jù)包過濾器,包括DMA引擎,用于對通過以太網(wǎng)接收的IP數(shù)據(jù)包的描述信息進(jìn)行解析,根據(jù)解析后的描述信息從外部存儲器中讀取IP數(shù)據(jù)包并將其傳送給過濾器引擎;過濾器引擎,用于根據(jù)預(yù)先配置的過濾規(guī)則和過濾參數(shù)對讀取的IP數(shù)據(jù)包進(jìn)行過濾,并且將過濾后的IP數(shù)據(jù)包傳送到DMA引擎;所述DMA引擎還用于將過濾后的IP數(shù)據(jù)包寫入所述外部存儲器。優(yōu)選地,所述IP數(shù)據(jù)包過濾器還包括第一 AXI從接口,用于所述DMA引擎從以太網(wǎng)接收IP數(shù)據(jù)包的描述信息;第二 AXI從接口,用于接收所述預(yù)先配置的過濾規(guī)則和過濾參數(shù);AXI主接口,用于所述DMA引擎從內(nèi)存中讀取未過濾的IP數(shù)據(jù)包以及將過濾后的IP數(shù)據(jù)包寫入外部存儲器。優(yōu)選地,所述IP數(shù)據(jù)包過濾器還包括總線監(jiān)視器,用于監(jiān)視AXI總線以便在以太網(wǎng)接收到IP數(shù)據(jù)包的情況下通知所述DMA引擎接收IP數(shù)據(jù)包的描述信息。優(yōu)選地,所述IP數(shù)據(jù)包過濾器還包括第一存儲器,用于存儲IP數(shù)據(jù)包的描述信息;第二存儲器,用于存儲所述過濾參數(shù);以及第三存儲器,用于存儲未過濾的IP數(shù)據(jù)包和過濾后的IP數(shù)據(jù)包。優(yōu)選地,所述IP數(shù)據(jù)包過濾器還包括存儲器映射寄存器,用于存儲所述過濾參數(shù)。優(yōu)選地,所述IP數(shù)據(jù)包過濾器還包括握手同步模塊,用于將IP數(shù)據(jù)包過濾器發(fā)出的中斷請求信號以及接收的中斷響應(yīng)信號進(jìn)行時鐘域同步。優(yōu)選地,所述DMA引擎包括先入先出存儲器,用于存儲所述IP數(shù)據(jù)包的描述信息的基礎(chǔ)描述片段,其中,所述DMA引擎根據(jù)所述基礎(chǔ)描述片段從第一存儲器中讀取IP數(shù)據(jù)包的描述信息。在第二方面,本發(fā)明提供了一種移動終端,包括IP數(shù)據(jù)包過濾器,所述IP數(shù)據(jù)包過濾器包括DMA引擎,用于對通過以太網(wǎng)接收的IP數(shù)據(jù)包的描述信息進(jìn)行解析,根據(jù)解析后的描述信息從外部存儲器中讀取IP數(shù)據(jù)包并將其傳送給過濾器引擎;過濾器引擎,用于根據(jù)預(yù)先配置的過濾規(guī)則和過濾參數(shù)對讀取的IP數(shù)據(jù)包進(jìn)行過濾,并且將過濾后的IP數(shù)據(jù)包傳送到DMA引擎;所述DMA引擎還用于將過濾后的IP數(shù)據(jù)包寫入所述外部存儲器;所述移動終端還包括配置模塊和所述外部存儲器,所述配置模塊用于將過濾規(guī)則和過濾參數(shù)寫入IP數(shù)據(jù)包過濾器,所述外部存儲器用于存儲未過濾的IP數(shù)據(jù)包和過濾后的IP數(shù)據(jù)包。本發(fā)明通過DMA引擎、過濾器引擎和存儲器來處理IP數(shù)據(jù)包的過濾,CPU只需配置過濾器而不參與數(shù)據(jù)計算,提升了吞吐量和讀取速度、提高了過濾速率和效率,極大降低了對CPU資源的占用。


圖I是根據(jù)本發(fā)明實施例的IP數(shù)據(jù)包過濾器的基本流程圖;圖2是根據(jù)本發(fā)明實施例的IP數(shù)據(jù)包過濾的詳細(xì)流程圖;以及圖3是根據(jù)本發(fā)明實施例的IP數(shù)據(jù)包過濾器的工作和結(jié)構(gòu)示意圖。
具體實施例方式下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。本發(fā)明的IP地址過濾器采用32位AXI總線與外部連接,其中,一個AXIs Iave總線接受CPU配置寄存器,寫入過濾參數(shù);另一個AXI slave總線接受GMAC送入的數(shù)據(jù)描述信息;AXI master總線用于讀取DDR中未處理的數(shù)據(jù),并將處理完的數(shù)據(jù)寫入該DDR中指定的位置。本發(fā)明的IP地址過濾器(IP filter)支持12條輸出數(shù)據(jù)通道,并將其映射到對應(yīng)的EPS Bearer,同時在DDR中維護(hù)數(shù)據(jù)包的起始地址和數(shù)據(jù)包長度。內(nèi)部使用DMA搬運數(shù)據(jù),極大地提高了存取數(shù)據(jù)的效率。圖I是根據(jù)本發(fā)明實施例的IP數(shù)據(jù)包過濾器的基本流程圖。經(jīng)由一個AXI slave (S)接口,將通過以太網(wǎng)(Ethernet)接收到的IP數(shù)據(jù)包存儲到DDR中,同時將其DMA的接收描述符存儲到IP過濾器(IP Filter)內(nèi)部的存儲器中。經(jīng)由AXI master (M)接口,IP Filter從內(nèi)存(DDR)中將接收到的IP數(shù)據(jù)包搬運到其內(nèi)部的存儲器中,經(jīng)由另一個AXI slave (S)接收存儲器映射寄存器和參數(shù)存儲器中的過濾規(guī)則和過濾參數(shù),根據(jù)規(guī)則和參數(shù)對外部存儲器(DDR)中的IP數(shù)據(jù)包進(jìn)行過濾,并且確定過濾后的IP數(shù)據(jù)包所對應(yīng)的傳輸承載(EPS BEARER)。經(jīng)由AXI master接口,IP Filter將外部存儲器中的IP數(shù)據(jù)包搬運到相應(yīng)BEARER在DDR中的存儲空間中。圖2是根據(jù)本發(fā)明實施例的IP數(shù)據(jù)包過濾的詳細(xì)流程圖。在步驟101,配置IP filter的過濾規(guī)則和過濾參數(shù),然后啟動IP filter。在步驟102,IP filter啟動以后等待GMAC送來IP包的描述信息,然后IP filter讀取對應(yīng)的描述信息并進(jìn)行解析,然后根據(jù)解析后的信息從DDR中讀取對應(yīng)的IP數(shù)據(jù)包。在步驟103,判斷是否有所述描述信息。如果有,則流程進(jìn)行到步驟104 ;否則流程回到步驟102。在步驟104,IP filter根據(jù)解析后的信息從內(nèi)存DDR中讀取IP數(shù)據(jù)包,并且根據(jù)
4所述過濾規(guī)則和過濾參數(shù)對其進(jìn)行過濾。在步驟105,將過濾后的IP數(shù)據(jù)包寫入到對應(yīng)的DDR通道,通道可以包括I個控制承載(control bearer)和11個(演進(jìn)分組系統(tǒng)承載)EPS bearer,每個承載(bearer)都分配有數(shù)據(jù)空間和索引空間。在步驟106,判斷對應(yīng)的DDR通道是否存在數(shù)據(jù)溢出,DDR中的數(shù)據(jù)會被定期查看和讀取。如果在寫入過程中發(fā)現(xiàn)通道中數(shù)據(jù)已滿,如果發(fā)現(xiàn)有數(shù)據(jù)溢出,則流程進(jìn)行到步驟107 ;否則流程回到步驟102。 在步驟107,中斷寫入并且等待DDR通道中的數(shù)據(jù)被取走。在DDR通道中的數(shù)據(jù)被取走之后,步驟回到105,繼續(xù)將數(shù)據(jù)寫入對應(yīng)的DDR通道。圖3是根據(jù)本發(fā)明實施例的IP數(shù)據(jù)包過濾器的工作和結(jié)構(gòu)示意圖。圖3所示的IP filter包括三個AXI接口,分別為一個AXI主(master)接口和兩個AXI從(slave)接口。一個AXI slave接口用于軟件通過CPU內(nèi)核core來配置IP過濾器中的DMA引擎和過濾器引擎,另一個用于將通過以太網(wǎng)(Ethernet)接收的IP數(shù)據(jù)包的DMA描述信息(DMA receive descriptor)傳遞給內(nèi)置的DMA引擎,AXI master接口用于DMA讀寫內(nèi)存DDR。整體的數(shù)據(jù)處理過程為配置模塊對DMA引擎和過濾器引擎進(jìn)行配置,以太網(wǎng)接收到IP數(shù)據(jù)包并存到內(nèi)存DDR后,將與IP數(shù)據(jù)包相關(guān)的信息傳遞給內(nèi)置DMA引擎,DMA引擎將DDR上的IP數(shù)據(jù)包交給內(nèi)置過濾器引擎處理,處理結(jié)束后仍然由DMA將過濾后的IP數(shù)據(jù)包搬運到DDR上的指定位置。IP過濾器的詳細(xì)的工作流程如下所述(序號與圖3中對應(yīng))①配置模塊通過一個AXI slave接口連接到存儲器映射寄存器(MMR),以用于將配置信息存入DMA引擎(DMA Engine)和Filter引擎(Filter engine)中的寄存器,針對過濾器引擎的配置信息中還包含有過濾規(guī)則。②同時,配置模塊通過該AXI slave接口連接到參數(shù)存儲器(para ram),以用于將Filter引擎的過濾參數(shù)存入該參數(shù)存儲器。參數(shù)存儲器(Para ram)用于存儲針對IP數(shù)據(jù)包過濾的過濾參數(shù)(Filter參數(shù))。例如,參數(shù)存儲器可以采用單端口 S存儲器,大小4KB,32_bit 寬。③將通過以太網(wǎng)(Ethernet)將接收到的IP數(shù)據(jù)包存儲到存儲器DDR中。④同時,經(jīng)由另一個AXI slave接口,通過Ethernet將IP數(shù)據(jù)包的描述符(DMAreceive descriptor)存儲到DES存儲器中,DES存儲器的大小可以為1KB。⑤GMAC_IF中的總線監(jiān)視器(bus monitor)監(jiān)測通過以太網(wǎng)接收的IP數(shù)據(jù)包。每接收到一個IP數(shù)據(jù)包,其對應(yīng)的描述符的基礎(chǔ)描述片段被寫入DMA引擎中的緩存。該緩存可以是采用先入先出(FIFO)方式的存儲器,在存儲空間為IKB的情況下可容納64個基礎(chǔ)描述片段。⑥當(dāng)FIFO為空時,DMA引擎的主狀態(tài)機處于初始狀態(tài)。只要FIFO非空,則進(jìn)入DMA讀狀態(tài)。DMA引擎從FIFO中讀取當(dāng)前最先存入的IP數(shù)據(jù)包對應(yīng)的基礎(chǔ)描述片段,然后根據(jù)該讀取的基礎(chǔ)描述片段從DES存儲器的GIF接口輸出中讀取對應(yīng)的IP數(shù)據(jù)包的描述符,其中包括幀長度及其在DDR中的存儲地址等信息。⑦DMA引擎通過AXI master接口,根據(jù)描述符從DDR中依次讀取IP數(shù)據(jù)包的數(shù)據(jù)到PKT存儲器中。當(dāng)一個I P數(shù)據(jù)包的數(shù)據(jù)讀取完畢后,DMA引擎向過濾器引擎發(fā)送讀取完畢(reacLdone)信號,該信號用于通知Filter引擎待過濾的IP數(shù)據(jù)包已經(jīng)搬運完畢,可以開始過濾工作了。此時,過濾器引擎將PKT存儲器中待過濾的IP數(shù)據(jù)包讀入,并開始過濾工作。⑧過濾器引擎根據(jù)其寄存器中的過濾規(guī)則,從參數(shù)存儲器中讀取過濾參數(shù),對IP數(shù)據(jù)包進(jìn)行過濾。然后,將過濾后的IP數(shù)據(jù)包存入PKT存儲器中。過濾器引擎向DMA引擎發(fā)送過濾完成(filter_done)信號,該信號用于通知DMA引擎已經(jīng)過濾完畢。⑨DMA引擎通過AXI master接口,將過濾后的IP數(shù)據(jù)包從PKT存儲器中讀出,然后搬運到DDR中其對應(yīng)EPS承載(EPS Bearer)的存儲空間,并管理此EPS Bearer存儲空間中IP數(shù)據(jù)包存儲的索引信息。(該處采用了對PKT存儲器進(jìn)行預(yù)讀取與對AXI Mas ter進(jìn)行預(yù)請求的方式,加快了搬移的速度)。⑩另外,IP過濾器的中斷請求信號(int_req)由存儲器映射寄存器MMR發(fā)出,經(jīng)由握手同步模塊與IP過濾器外部的中斷控制器的時鐘域同步。中斷控制器返回的中斷響應(yīng)信號(int_ack)同樣經(jīng)過握手同步模塊與MMR的時鐘域同步后,返回給存儲器映射寄存器MMR。這樣,在DDR通道中發(fā)現(xiàn)數(shù)據(jù)溢出的情況下完成中斷處理。如圖3中所示,還可見三個協(xié)議轉(zhuǎn)換橋,用于將AXI總線協(xié)議轉(zhuǎn)換成內(nèi)部的較簡單的協(xié)議。其中包括兩個AXI轉(zhuǎn)GIF橋和一個GIF轉(zhuǎn)AXI橋。一個AXI轉(zhuǎn)GIF橋連接到所述第一 AXI從接口,用于將AXI總線協(xié)議轉(zhuǎn)換成第二協(xié)議;一個AXI轉(zhuǎn)GIF橋連接到所述第二AXI從接口,用于將AXI總線協(xié)議轉(zhuǎn)換成第二協(xié)議;以及GIF轉(zhuǎn)AXI橋連接到所述AXI主接口,用于將所述第二協(xié)議轉(zhuǎn)換成AXI總線協(xié)議。應(yīng)當(dāng)理解,也可以將AXI總線協(xié)議轉(zhuǎn)換成其他協(xié)議以在IP數(shù)據(jù)包過濾器內(nèi)部執(zhí)行。專業(yè)人員應(yīng)該還可以進(jìn)一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。以上所述的具體實施方式
,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施方式
而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種IP數(shù)據(jù)包過濾器,包括 DMA引擎,用于對通過以太網(wǎng)接收的IP數(shù)據(jù)包的描述信息進(jìn)行解析,根據(jù)解析后的描述信息從外部存儲器中讀取IP數(shù)據(jù)包并將其傳送給過濾器引擎;過濾器引擎,用于根據(jù)預(yù)先配置的過濾規(guī)則和過濾參數(shù)對讀取的IP數(shù)據(jù)包進(jìn)行過濾,并且將過濾后的IP數(shù)據(jù)包傳送到DMA引擎;所述DMA引擎還用于將過濾后的IP數(shù)據(jù)包寫入所述外部存儲器。
2.根據(jù)權(quán)利要求I所述的IP數(shù)據(jù)包過濾器,還包括 第一 AXI從接口,用于所述DMA引擎從以太網(wǎng)接收IP數(shù)據(jù)包的描述信息; 第二 AXI從接口,用于接收所述預(yù)先配置的過濾規(guī)則和過濾參數(shù); AXI主接口,用于所述DMA引擎從內(nèi)存中讀取未過濾的I P數(shù)據(jù)包以及將過濾后的IP數(shù)據(jù)包寫入外部存儲器。
3.根據(jù)權(quán)利要求I所述的IP數(shù)據(jù)包過濾器,還包括 總線監(jiān)視器,用于監(jiān)視AXI總線以便在以太網(wǎng)接收到IP數(shù)據(jù)包的情況下通知所述DMA引擎接收IP數(shù)據(jù)包的描述信息。
4.根據(jù)權(quán)利要求I所述的IP數(shù)據(jù)包過濾器,還包括 第一存儲器,用于存儲IP數(shù)據(jù)包的描述信息; 第二存儲器,用于存儲所述過濾參數(shù);以及 第三存儲器,用于存儲未過濾的IP數(shù)據(jù)包和過濾后的IP數(shù)據(jù)包。
5.根據(jù)權(quán)利要求I所述的IP數(shù)據(jù)包過濾器,還包括 存儲器映射寄存器,用于存儲所述過濾參數(shù)。
6.根據(jù)權(quán)利要求I所述的IP數(shù)據(jù)包過濾器,還包括 握手同步模塊,用于將IP數(shù)據(jù)包過濾器發(fā)出的中斷請求信號以及接收的中斷響應(yīng)信號進(jìn)行時鐘域同步。
7.根據(jù)權(quán)利要求4所述的IP數(shù)據(jù)包過濾器,其中,所述DMA引擎包括先入先出存儲器,用于存儲所述IP數(shù)據(jù)包的描述信息的基礎(chǔ)描述片段,其中,所述DMA引擎根據(jù)所述基礎(chǔ)描述片段從第一存儲器中讀取IP數(shù)據(jù)包的描述信息。
8.一種移動終端,包括如權(quán)利要求1-7之一所述的IP數(shù)據(jù)包過濾器、配置模塊和所述外部存儲器,所述配置模塊用于將過濾規(guī)則和過濾參數(shù)寫入IP數(shù)據(jù)包過濾器,所述外部存儲器用于存儲未過濾的IP數(shù)據(jù)包和過濾后的IP數(shù)據(jù)包。
全文摘要
本發(fā)明涉及一種IP數(shù)據(jù)包過濾器,包括DMA引擎,用于對通過以太網(wǎng)接收的IP數(shù)據(jù)包的描述信息進(jìn)行解析,根據(jù)解析后的描述信息從外部存儲器中讀取IP數(shù)據(jù)包并將其傳送給過濾器引擎;過濾器引擎,用于根據(jù)預(yù)先配置的過濾規(guī)則和過濾參數(shù)對讀取的IP數(shù)據(jù)包進(jìn)行過濾,并且將過濾后的IP數(shù)據(jù)包傳送到DMA引擎;所述DMA引擎還用于將過濾后的IP數(shù)據(jù)包寫入所述外部存儲器。本發(fā)明通過DMA引擎、過濾器引擎和存儲器來處理IP數(shù)據(jù)包的過濾,CPU只需配置過濾器而不參與數(shù)據(jù)計算,提升了吞吐量和讀取速度、提高了過濾速率和效率,極大降低了對CPU資源的占用。
文檔編號H04L29/12GK102984166SQ20121052423
公開日2013年3月20日 申請日期2012年12月7日 優(yōu)先權(quán)日2012年12月7日
發(fā)明者梁敏, 林晗, 陸棟, 于洲, 馮海強, 潘玉峰, 張建立, 楊鵬, 范小崗 申請人:蘇州簡約納電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1