999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

光纖通道接口通用驅動程序設計與實現*

2014-02-11 03:42:38馮國仕
通信技術 2014年11期
關鍵詞:設計

許 里,馮國仕,李 璞

(中國電子科技集團公司第三十研究所,四川成都610041)

光纖通道接口通用驅動程序設計與實現*

許 里,馮國仕,李 璞

(中國電子科技集團公司第三十研究所,四川成都610041)

光纖通道是一種高性能的光纖通信技術,在軍用和商用的多個領域都有著廣泛應用。文中介紹了光纖通道技術在目前發展中存在的問題和光纖通道協議族的基本架構,分析了光纖通道接口驅動程序的功能需求和實現方式,提出了一種linux系統下靈活性和通用性較好的驅動程序設計架構,并詳細描述了這種架構的程序實現要點和技術優勢。最后,在實際硬件環境中對驅動程序的性能進行了測試和分析。

光纖通道 接口驅動程序 接口性能

0 引 言

光纖通道(Fibre Channel,FC)是美國國家標準委員會(ANSI)為網絡和通道I/O接口建立的一個標準集,它是一種為適應高性能數據傳輸要求而設計的通信協議,具有高帶寬、低延遲、對距離不敏感、拓撲靈活、支持多種上層協議等優點。目前光纖通道已經是光通信的一種重要標準,廣泛應用于商用在商用存儲區域網絡及軍用航電系統中,具有良好的推廣前景。

相對于以太網等常見的通信標準,光纖通道的生態系統比較封閉,目前的標準規范和設備研制基本都由博科等少數幾家公司控制,而且幾乎全部針對存儲網絡進行定制和裁剪。第三方研發團隊自行研制FC設備困難較大。因此,本文提出了一種通用的FC接口驅動程序架構,并詳細描述了這一架構下的驅動程序實現要點。這一程序架構有良好的擴展性,易于進行各種定制化修改和二次開發,可以適應多種FC設備的需求。

1 FC接口協議棧介紹

FC網絡支持的星形和仲裁環兩種拓撲。其中,星形是最常見的拓撲類型,即整個網絡由FC交換機和接入交換機的各個FC節點(node)組成。本文描述的FC接口協議棧即是FC節點側的FC協議系統。

根據FC協議標準規定,FC接口的協議處理分為5層,如圖1所示[1]。FC-0層是物理接口和介質層,包括線纜、連接器和它們的各自特性的規范[2]。FC-1層是傳輸協議層,包括編解碼、字節和字之間的轉換、發射機接收機的狀態轉換和錯誤檢測等[3]。FC-2層是幀和信號協議層,定義FC幀格式、傳輸服務類型、接口狀態機等[1]。FC-2層是光纖通道協議的最復雜部分,也是光纖通道交換機的主要功能層。它涉及到光纖通道特有的結構,過程和操作的大部分環節。FC-3層是公共服務層,主要定義了系統中的擴展鏈路服務功能[4]。FC-4層定義了光纖通道結構到上層協議的映射,常見的映射包括SCSI、IP(Internet Protocol),ATM/AAL5等。

圖1 FC協議體系Fig.1 FC protocol architectural

一般來說,FC-0,FC-1和部分FC-2層次的功能都由硬件模塊完成,FC接口協議棧軟件需要完成的功能主要包括FC-2層次的交換與序列管理、分片與重組、幀封裝、基本鏈路服務功能,FC-3的擴展鏈路服務和FC-4的高層協議映射功能。

2 驅動軟硬件平臺

本文作者采用的硬件平臺如圖2所示的開發板。開發板CPU采用龍芯2F,FPGA采用Xilinx的Virtex5 50T芯片。雖然目前國內已經有一些采用fpga實現FC接口功能的研究成果[5],但是考慮到通用性,本文還是選用Xilinx公司提供的FC接口IP核(v3.3)完成FC-0,FC-1和部分FC-2的功能。由于fgpa的FC IP CORE只支持PCI-E接口而龍芯2F只支持PCI接口,因此需要選用PLXtechnology公司的PEX8112芯片完成兩種總線的橋接。

圖2 FC接口開發板原理示意Fig.2 Development board of FC interface

軟件平臺選用成熟的linux系統,內核版本為2.6.32。該內核成熟可靠,應用廣泛,是目前嵌入式設備開發中廣泛采用的版本。

3 接口驅動架構

文中設計驅動架構的主要出發點是將FC接口視為一種網絡接口,通過各種手段提升驅動的性能和靈活性。FC接口驅動的整體架構如圖3所示。

圖3 FC接口驅動架構示意Fig.3 Architecture of FC interface driver

本架構中,FC接口驅動與系統其它部分有三類接口。第一類是按照標準的網絡分系統接口,為系統協議棧提供協議報文收發服務。具體來說,FC接口驅動提供的發送報文的接口是int fc_xmit(struct sk_ buff*skb,struct net_device*dev),將收到的報文送到上層協議棧時采用的接口是系統提供的void netif_ receive_skb(struct sk_buff*skb)。第二類接口是接收系統對網絡接口的管理和控制,FC接口驅動提供inc fc_ioctl(struct net_device*dev,struct ifreq*ifr, int cmd).第三類對外接口是協議棧與PCI總線驅動的接口,實現FC數據幀的對外收發。這樣的接口設計保證了FC接口驅動能直接嵌入Linux網絡分系統中,與高層協議和底層硬件驅動都是松耦合關系,可以適應不同的硬件平臺和網絡協議需求。

在FC接口驅動中,FC接口協議棧部分完成上層協議報文和FC幀之間的相互轉換,數據收發調度則提供驅動對外的收發數據接口。這二者也是采用松耦合設計,僅通過標準的struct sk_buff結構傳遞協議報文。

4 驅動程序實現要點

根據上述架構分析,FC接口驅動程序的實現要點和難點主要是FC接口協議棧的設計和數據收發調度的設計。這兩者既是整個驅動程序的功能主體,又決定了驅動程序的性能表現。

4.1 FC接口協議棧

FC接口協議棧的功能非常復雜,包括了交換注冊、接口注冊、交換與序列管理、接口狀態變化響應等,不僅僅是報文的封裝和解析。因此,協議棧程序的實現上沒有拘泥于FC協議的層次劃分,而是采用了統一的狀態機編程方式,整個協議棧的主要狀態機轉換如圖4所示。

圖4 FC協議棧狀態轉移示意Fig.4 FC protocol state transition diagram

圖中有以下幾點需要特殊說明:

1)狀態之間的轉移條件和操作按照“[條件]/操作”的方式標注。

2)接口在遠端等待狀態時,會阻塞式調用遠端查找函數查找需要進行通信的遠端端口,根據系統設計,搜索可能是基于arp,名錄服務[6]等方式,在驅動中不作具體限定。

3)在完成接口準備后,回調上層協議,表示可以進行業務數據收發。

4.2 數據收發調度

為了提高設計的靈活性,FC接口的數據收發調度被設計為與具體協議無關,它的主要功能是提供對PCI總線和對系統協議棧的數據收發接口。

(1)PCI總線數據收發

為了降低CPU負載,選擇采用DMA方式實現PCI總線上的數據收發。Fpga端作為PCI總線的主設備。

DMA傳輸方式需要一種機制來描述緩沖區信息。本文的設計中采用消息循環隊列機制,即設置收方向和發方向各一個消息隊列,每個隊列元素為描述網絡報文緩沖區信息的描述符(Buffer Descriptor,簡稱為BD)。BD由總線地址(32位)、數據長度(16位)、標志位(16位)三個部分組成,共8個字節。收和發消息循環隊列長度分別置于fpga的寄存器RDCNT和TDCNT中,收和發BD區域的基地址分別存儲于RDA和TDA寄存器,BD區域存放在內存中。接收FC幀時,CPU通過BD告知fpga端網絡接收緩沖區位置(屬于內存區域),發送報文時,也是將網絡報文在內存中的地址轉換為總線地址后賦到BD中。FC幀是緩存于內存區域而非fpga的內置存儲空間中。

(2)上層協議數據收發

FC接口驅動與系統協議棧之間的發送數據接口遵循linux網絡分系統的標準。接口處理函數fc_ xmit()主要完成數據有效性檢查和高層協議分流,根據具體的高層協議調用不同的FC協議適配函數(即FC-4的協議數據接口)進行報文處理,目前實現的FC接口協議棧支持IPv4、ARP[7]和ASM[8]等多種上層協議。

FC接口驅動與系統協議棧之間的收數據接口選擇NAPI模式[9]。這種模式是Linux新定義一種網絡接口驅動架構,它的主要思想是將收數據中斷處理與實際的數據接收處理過程分離,并且一次接收中斷觸發一輪接收處理函數調用,收取多個報文,因此很適合高速數據接口。實現這個模式的關鍵工作是實現一個系統規定的NAPI數據接收處理函數,其函數原型是int(*poll)(struct net_device* dev,int*budget)。在本文描述的FC接口驅動中,接收函數fc_poll()的主要處理流程如圖5所示。

圖5 FC_poll函數流程示意Fig.5 FC_poll function flow diagram

6 性能測試與分析

不同的高層協議具有不同的測試指標,但是作為一個網絡接口卡本身,有一些基礎性指標是各種協議共有的。對于一個通用的光纖通道接口卡,采用吞吐量、丟幀率和幀處理時延占用來衡量其性能表現是合理的,測試結果如表1所示。

1)吞吐量:是指在沒有幀丟失的情況下,設備能接收并轉發的最大數據速率,本指標采用IXIA公司的光纖通道協議測試儀測得。

2)丟幀率:是指因系統資源不足等原因而導致的幀,丟失率本指標采用IXIA公司的光纖通道協議測試儀測得。

3)幀處理時延:從線路上受到一個FC幀到送至高層協議之間的時間差,這個指標是依賴在FC幀的載荷中增加時間戳,由fpga和軟件協同測得。

表1 性能測試結果Table 1 Performance test result

從表中的測試結果可以看出,本文測試的FC接口吞吐量已經接近了PCI橋接芯片的處理極限,幀處理時延很低,沒有丟幀情況,說明接口驅動程序具有較好的性能表現。

7 結 語

上文的分析和性能測試表明,文中提出的光纖通道驅動架構既具備良好的擴展和靈活性,又有較高的的性能表現,符合光纖通道接口驅動研究的目標。與目前可以獲取的各類公開的光纖通道接口協議實現不同,本文將光纖通道接口標準化為一個網絡設備,從而便于與各類網絡協議靈活融合。此外,文中驗證平臺采用的一系列常見的商用軟硬件,為后續的研究和產品開發奠定了一個高效穩定的基礎。當然,隨著光纖通道的傳輸速率不斷提高,驅動程序的架構還需要在后續研究中進一步優化性能,適應更高速率接口的要求。

[1] T11 Technical Committee.Fibre Channel Framing and Signaling-4[EB/OL].America:American National Standards Institute,Inc.2014-5-16[2013-1-17].http:// www.t11.org/ftp/t11/pub/fc/fs-4/14-018v1.pdf.

[2] T11 Technical Committee.Fibre Channel Physical and Signaling Interface-3[EB/OL].America:American National Standards Institute,Inc.1997-11-5[2013-1-17].http://www.t11.org/ftp/t11/member/fc/ph-3/ fcph3_94.pdf.

[3] T11 Technical Committee.Fibre Channel Physical Interface-5[EB/OL].America:American National Standards Institute,Inc.2011-1-11[2013-1-17].http:// www.t11.org/ftp/t11/pub/fc/pi-5/11-011v0.pdf.

[4] T11 Technical Committee.Fibre Channel Link Service-3 [EB/OL].America:American National Standards Institute,Inc.2014-2-11[2013-1-17].http://www.t11. org/ftp/t11/pub/fc/ls-3/14-033v0.pdf.

[5] 劉小剛,周東.光纖通道端口狀態機的研究及FPGA實現[J].通信技術,2011,44(07),1-3.

LIU Xiao-gang,ZHOU Dong.Study on Fiber Channel Port State Machine and its FPCA Implementation[J]. Communications Technology,2011,44(07),1-3.

[6] T11 Technical Committee.Fibre Channel Generic Service -7[EB/OL].America:American National Standards Institute,Inc.2013-6-1[2013-5-3].http://www.t11. org/ftp/t11/pub/fc/gs-7/13-215v0.pdf.

[7] DESANTI C.,CARLSON C.and NIXON R..Transmission of IPv6,IPv4,and Address Resolution Protocol (ARP)Packets over Fibre Channel[EB/OL].America: IETF RFC 4338.2006-1[2013-5-3].http://www.rfceditor.org/rfc/rfc4338.txt.

[8] T11 Technical Committee.Technical Report.Fibre Channel Avionics Environment–AnonyMous Subscriber Messaging With Amendment 1 Changes[EB/OL].America: American National Standards Institute,Inc.2008-1-11 [2013-8-10].http://www.t11.org/ftp/t11/member/ fc/ae-asma1/08-013v1.pdf.

[9] CORBERT Jonathan,RUBINI Alessandro and KROAHHARTMAN Greg.Linux設備驅動程序[M].O'RELLY.第三版.2006:518-519.

XU Li(1983-),male,graduate student, engineer,majoring in networking and communication technology.

馮國仕(1981—),男,碩士研究生,工程師,主要研究方向為網絡通信與技術;

FENG Guo-shi(1981-),male,graduate student,engineer,majoring in networking and communication technology.

李 璞(1981—),男,碩士研究生,工程師,主要研究方向為網絡通信與技術。

LI Pu(1981-),male,graduate student,engineer,majoring in networking and communication technology.

Design and Implementation of Fabric Channel Interface Driver

XU Li,FENG Guo-shi,LI Pu
(No.30 Institute of CETC,Chengdu Sichuan 610041,China)

Fibre channel,as a high-performance fiber communication technology,is widely used in both military and commercial areas.This paper firstly describes the problems recently faced by fibre channel and the architecture of the fibre channel protocol suits.Then the function and implomentation of fabric channel interface driver is analyzed,the flexible software architecture of the interface driver proposed,and the programming keys and advantages of this architecture are also specified.Finally the tests and discussions of the driver are done.

fabric channel;interface driver;interface performance

TP393

A

1002-0802(2014)11-1343-04

10.3969/j.issn.1002-0802.2014.11.021

許 里(1983—),男,碩士研究生,工程師,主要研究方向為網絡通信與技術;

2014-07-05;

2014-08-26 Received date:2014-07-05;Revised date:2014-08-26

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 国产午夜小视频| 国产超薄肉色丝袜网站| 色婷婷亚洲十月十月色天| 制服丝袜亚洲| 99精品热视频这里只有精品7| 午夜视频日本| 99精品在线看| 国产真实乱了在线播放| 国产成人高清精品免费| 国产精品亚洲一区二区三区z | 国产亚洲欧美日韩在线观看一区二区| 色网站在线视频| 精品中文字幕一区在线| 亚洲一级色| 久久综合色播五月男人的天堂| 免费视频在线2021入口| 亚洲av无码人妻| 亚洲成a人片77777在线播放| 国产精品亚洲五月天高清| 国产精品va| 国产日韩欧美在线视频免费观看| 亚洲精品第五页| 国产v精品成人免费视频71pao | 国产精品真实对白精彩久久| 成人日韩欧美| 国产无遮挡猛进猛出免费软件| www亚洲精品| 九九九精品视频| 国产日韩欧美黄色片免费观看| 四虎永久在线精品国产免费| 亚洲AV人人澡人人双人| 色网在线视频| 狠狠ⅴ日韩v欧美v天堂| 无码一区二区三区视频在线播放| 欧美成人综合在线| 国产99视频精品免费视频7| 成人精品区| 国产原创自拍不卡第一页| 亚洲综合第一页| 国产成人精品综合| 久久久久久久久亚洲精品| 在线视频亚洲色图| 亚洲码在线中文在线观看| 日韩无码视频播放| 在线毛片网站| 国产精品浪潮Av| 亚洲三级视频在线观看| 免费人成视网站在线不卡| 在线色国产| 538精品在线观看| 久996视频精品免费观看| 久久五月视频| 成年看免费观看视频拍拍| 97狠狠操| 1769国产精品视频免费观看| 无码内射在线| 亚洲美女久久| 国产视频一区二区在线观看| 99精品免费在线| 欧美精品亚洲精品日韩专区va| 成年人视频一区二区| 欧美国产视频| 亚洲综合中文字幕国产精品欧美 | 不卡网亚洲无码| 色综合色国产热无码一| 国内精品久久久久鸭| 在线视频一区二区三区不卡| 亚洲人成网址| 国产在线91在线电影| 极品国产一区二区三区| 无码国产伊人| 精品国产成人a在线观看| 国产欧美在线观看精品一区污| 国产精品性| 成人国产精品一级毛片天堂| www.91中文字幕| 亚洲bt欧美bt精品| 欧美午夜网| 国产成人综合久久| 免费中文字幕一级毛片| 又大又硬又爽免费视频| 国产精品短篇二区|