亚洲日本va午夜在线影院-激性欧美激情在线-精品蜜臀久久久久99网站-久久无码人妻一区二区三区午夜-国产色综合天天综合网

新聞 動態 ·
News Center
關注我們 關注前沿

Intel 以太網Flow Director技術上手指南

發表日期:2017-10-10        文章編輯:管理員         閱讀次數:

By Robison, Clayne B (Intel)

 

簡介
無論是應用、容器還是微服務,Intel® Ethernet Flow Director (Intel® Ethernet FD)  技術都可將以太報文精準送達使用它的進程所在的CPU核,。這比RSS(Receive Side Scaling)更進一步,RSS只是將包送到相應的核做中斷處理,然后轉發給需要它的進程。
Intel Ethernet Flow Director技術支持定制化的過濾器,以便將收到的包分發給不同的隊列,并且也支持非常精準的流控。它能將包流與CPU核心對應起來,并且支持多個彈性的流分類以及負載均衡的參數。在ATR (Application Targeting Routing)的模式下,如果需要利用硬件來做Linux的RFS (Receive Flow Steering) 的Offloading,FD是必須的,同時RPS (Receive Packet Steering) 和RFS需要被關閉。
它可以對物理機的Linux做非常好的優化,尤其是包很小并且吞吐量很大的時候。因為包處理已經offloading到了網卡硬件,同時Intel FD技術也可以用來防止DoS攻擊。
 
支持的設備
Intel 以太網FD技術支持在使用ixgbe驅動的設備,包括:
       •  英特爾® 以太網聚合網絡適配器X520
       •  英特爾® 以太網聚合網絡適配器X540
       •  英特爾® 以太網控制器82599家族
也支持使用i40e驅動程序的設備上
       •  英特爾® 以太網控制器X710家族
       •  英特爾® 以太網控制器XL710家族
 
同時,Data Plane Development Kit (DPDK) 對上述設備也有支持,關于如何使用 DPDK 啟用FD請參見 DPDK文檔 。
要判斷你的設備是否支持FD技術,使用ethtool命令來檢查:
# ethtool --show-features <interface name> | grep ntuple
 
如果ntuple-filters功能旁顯示了off或者on,就表示你的網卡支持FD技術。如果ntuple-filters旁邊顯示的 [fixed],表示你的網卡設備不支持FD。
 
啟用Intel® Ethernet Flow Director
ixgbe支持的驅動程序參數
在ixgbe驅動支持的設備上,有兩個FD相關的參數可以在加載階段被傳遞到Linux Kernel
•  FdirPballoc
•  AtrSampleRate
> FdirPballoc
這個參數規定了分配給FD的包緩存大小,可以選擇1-3, “1”表示緩存使用64k,“2”表示128k,“3”表示256k。如果參數沒有被顯式指定,默認就是1,即64k。
> AtrSampleRate
AtrSampleRate參數指定了規則被創建之前需要忽略多少個網絡包,可變范圍是0~255。如果沒有顯式指定該參數,默認值為20,意味著如果要創建一條新的報文流規則,每次第20個新的包會被做一次判斷。如果該參數指定為0,表示關閉ATR模式,并且發送隊列里面也不會拿任何包作為包流規則的樣本。
注:上述兩個驅動參數在i40e的驅動上不需要被用到,驅動自己會做調整。
要啟用這些參數,首先移除驅動。(注意,如果你是通過SSH連接服務器,這可能會讓你斷網)
# rmmod ixgbe
然后重新加載ixgbe驅動并且給相應的參數:
# modprobe ixgbe FdirPballoc=3,2,2,3 
AtrSampleRate=31,63,127,255
可以看到上面的命令中每個參數有四個值。這是因為我的測試系統中有兩張卡,82599與X540,每張卡有兩個網口。這會按照PCI設備的BDF (Bus/Device/Function) 排序來應用到不同的網口。用下面的命令可以看到系統的BDF順序。
# lshw -c network -businfo
 
基于這樣的系統配置,用上面的modprobe命令會給X540-AT2 (3:00.0) 分配FdirPballoc和AtrSampleRate的值分別是3和31,相應的,82599 (81:00.1) 的一個端口能拿到3和255的參數
一旦確定你的Intel品牌的服務器網卡支持FD技術,并且你已經給驅動相應的參數,執行下面的命令去啟用FD:
# ethtool --features enp4s0f0 ntuple on
 
因為這個命令只指示了哪個Rx隊列應該被送到,理論上接下來應該將Rx隊列和進程、應用或者容器去做綁定。這已經超出了本文檔的討論范圍,但這個可以用taskset命令來完成。綁定IRQ與CPU可以用set_irq_affinity腳本(已經包含在i40e和ixgbe的驅動中)來做,在這里可以找到最新版本的驅動 Intel Support: Drivers and Software 。
IRQ Affinity設置可以在這個tuning guide文檔的IRQ Affinity的段落找到 。
 
使用Intel Ethernet Flow Director技術
FD技術有兩種運行模式:外部編程(EP)模式與ATR模式。只要我們通過上面的步驟啟用了FD,默認就啟動了ATR模式,讓驅動進入多發送隊列模式。如果運行在EP模式,用戶或者管理編排軟件可以手動的設置包的走向。
應用導向路由 (Application Targeting Routing)
在ATR模式中, FD從Tx隊列里拿到外發包的字段去填充8K的完美匹配過濾(Perfect-Match Filter)表。選擇哪些包的字段取決于包的類型,比如過濾TCP的字段會和UDP的不同。FD會用完美匹配過濾表去智能路由收包到不同的Rx隊列。
如果要禁用ATR模式切換到EP模式,簡單的用ethtool命令添加一條過濾規則 (下方Adding Filters章節),驅動會自動的切換進入EP模式。如果要切換回到ATR模式,使用ethtool命令清空規則即可(下方Removing Filters 章節)。
外部編程模式(Externally Programmed Mode)
當FD運行在EP(External Programmed)模式,包流可以被手動的管理,可以是管理員輸入的規則,也可以是外部的編排管理軟件(比如OpenFlow)。像上面說過的一樣,只要通過ethtool命令手動輸入一條流的規則,FD就會自動進入EP模式。
> Adding Filters
下面的命令展示了如何增加過濾表,使用ethtool的-U, -N or –config-ntuple等等參數
指定從10.23.4.6到10.23.4.18的包使用4號隊列,用下面的命令:
# ethtool --config-ntuple flow-type tcp4 src-ip 10.23.4.6 dst-ip 10.23.4.18 action 4
注意:不用’loc’參數,這個規則會放在完美匹配過濾表的1號位置,如果1號位置已經有規則,就會被覆蓋掉
轉發2號隊列所有來自192.168.10.1:2000的ipv4 TCP包到192.168.10.2:2001,這條規則放在33號位置(會覆蓋原來在33號的規則,如果有的話)
# ethtool --config-ntuple <interface name> flow-type tcp4 src-ip 192.168.10.1 dst-ip 192.168.10.2 src-port 2000 dst-port 2001 action 2 loc 33
Drops all UDP packets from 10.4.83.2:
丟棄所有來自10.4.83.2的所有UDP報文:
# ethtool --config-ntuple flow-type udp4 src-ip 10.4.82.2 action -1
注意:VLAN字段在i40e的驅動中不支持(XL710 & X710)
參看ethtool的手冊看看-U, -N 或者—config-ntuple選項的更多用法
注意:Intel的XL710和X710網卡可以提供擴展的云過濾規則給復雜的云網絡環境,詳細內容請點擊文章末尾“引用文檔”中i40e文檔鏈接。
> Removing Filters
在EP模式下,可以用下面的命令移除已經保存的規則:
# ethtool --config-ntuple <interface name> delete N
> Listing Filters
EP模式下羅列相應網口已經采用的規則,使用下面的命令
# ethtool --show-ntuple <interface name>
 
關閉FD技術
關閉Intel FD可以使用這條命令,這同時也會清除所有已有的規則:
# ethtool --features enp4s0f0 ntuple off
 
結論
Intel的以太網FD技術能將以太網報文精準送達使用它的進程所在的CPU核心,無論該進程是應用、容器還是微服務。這比RSS更進一步,RSS只是將包送到相應的核做中斷處理,然后轉發給需要它的進程。FD可以被管理員或者控制面的軟件顯式的管理,或者智能自動的創建過濾規則表,通過對發包的取樣來決定收包的規則。當處于ATR自動模式時,Intel以太網FD技術對于硬件Offload RFS是必須的。
Intel以太網FD可以帶來性能提升,特別是當數據包很小并且吞吐量很大的時候(比如在電信運營商的環境中)。并且在網卡層面就能過濾并且丟棄報文,也可以被用來避免DoS攻擊。
 
引用文檔
DPDK文檔(http://dpdk.org/doc/guides/howto/flow_bifurcation.html#using-flow-bifurcation-on-ixgbe-in-linux)
IRQ Affinity調整
(https://www.intel.com/content/dam/www/public/us/en/documents/reference-guides/xl710-x710-performance-tuning-linux-guide.pdf)
How to Set Up Intel® Ethernet Flow Director(https://software.intel.com/en-us/articles/setting-up-intel-ethernet-flow-director)
Intel® 82599 10 GbE Controller Datasheet(https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/82599-10-gbe-controller-datasheet.pdf)
ixgbe Linux* Base Driver for Intel(R) Ethernet Network Connection(ixgbe Linux* Base Driver for Intel(R) Ethernet Network Connection)
i40e Linux* Base Driver for the Intel(R) XL710 Ethernet Controller Family(https://downloadmirror.intel.com/26713/eng/Readme.txt)
Linux* Base Driver for the Intel(R) Ethernet 10 Gigabit PCI Express Familyof Adapters(https://downloadmirror.intel.com/22919/eng/README.txt)
 
文章摘自英特爾精英匯
歡迎聯系寶通集團咨詢英特爾產品信息
寶通集團聯系方式
咨詢熱線:13510526731
寶通官網:www.bjrongxin.com
客戶垂詢郵箱:cuifang.mo@ex-channel.com
客戶垂詢QQ:1627678462
地址:深圳市福田區深南大道1006號國際創新中心C座11樓
郵編:518026
電話:0755-82964380
郵件:Customer@ex-channel.com
地址:深圳市福田區深南大道1006號國際創新中心C座10樓

  • 官方微信

  • 官方微博
  • 服務熱線

    0755-83647532

    微信服務號

    [!--page.stats—] 主站蜘蛛池模板: 亚洲av永久无码天堂网毛片| 亚洲av无码专区在线厂| 欧美性猛交xxxx黑人| 日本一区午夜艳熟免费| 国产精品制服| 狠狠色噜噜狠狠狠777米奇小说 | 久久久久人妻一区精品| 国产麻豆md传媒视频| 俄罗斯大荫蒂女人毛茸茸| 激情久久av一区av二区av三区| 真人抽搐一进一出视频| 人妻中出受孕 中文字幕在线| 国产乱女乱子视频在线播放 | 午夜亚洲福利在线老司机| 国产亚洲午夜高清国产拍精品 | 少妇人妻偷人精品一区二区| 免费人成激情视频在线观看冫| 日本动漫瀑乳h动漫啪啪免费 | 少妇高潮喷水在线观看| 日日摸夜夜爽无码毛片精选| 国产精品成人一区二区三区| 18禁亚洲深夜福利人口| 又湿又紧又大又爽a视频| 日产精品一区二区| 国产麻豆剧果冻传媒一区| 久久av无码αv高潮αv喷吹| 久久强奷乱码老熟女网站| 国产一区日韩二区欧美三区| 欧美性大战久久久久久久| 亚洲国产精品无码中文lv| 中文精品久久久久人妻| 无码少妇一区二区性色av| 青青草原精品国产亚洲av| 超碰97资源站| 国产成人av一区二区三区在线观看| 亚洲精品无播放器在线播放| 日日摸日日碰夜夜爽无码| 亚洲精品美女久久7777777| 国产成人午夜无码电影在线观看| 潮喷大喷水系列无码久久精品| 国产精品无码一区二区三区在|