chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在VPP IPSec中使用異步crypto框架?

FPGA之家 ? 來(lái)源:DPDK與SPDK開源社區(qū) ? 作者:DPDK與SPDK開源社區(qū) ? 2021-04-02 17:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

VPP的crypto框架是VPP原生的一套數(shù)據(jù)加解密框架,其目的是為VPP框架中所有Graph node提供數(shù)據(jù)加密服務(wù)。VPP的Crypto框架包含一套為Graph node準(zhǔn)備的用戶API,包括創(chuàng)建、更新和刪除密鑰,以及處理加密工作等;該框架還包括一條邏輯簡(jiǎn)單且巧妙的crypto engine API,用于作為VPP Plugin的crypto engine來(lái)注冊(cè)和上載回調(diào)函數(shù),并根據(jù)每個(gè)crypto engine根據(jù)預(yù)設(shè)的優(yōu)先級(jí)來(lái)決定某個(gè)算法的缺省engine回調(diào)函數(shù)。目前可用的VPP crypto engine有

crypto native engine:根據(jù)不同CPU特性和指令集所特別優(yōu)化的plugin,性能最優(yōu)但支持算法較少。

ipsecmb engine:基于intel-ipsec-mb庫(kù)的plugin,僅支持英特爾的CPU。

openssl engine:支持算法最全面的純軟件實(shí)現(xiàn),性能相比以上兩個(gè)plugin相對(duì)弱一些。

可以看到,以上的engine均為軟件實(shí)現(xiàn)。優(yōu)點(diǎn)是邏輯結(jié)構(gòu)較為簡(jiǎn)單,因?yàn)檐浖軐?shí)時(shí)返回密碼運(yùn)算結(jié)果,所以graph node可以立刻決定是否繼續(xù)或中止對(duì)某個(gè)網(wǎng)絡(luò)幀的流水線處理。然而,這一方式無(wú)法支持加密工作的卸載,如基于QAT的硬件卸載或基于多CPU Core合作的軟件卸載等。為了填補(bǔ)這一空缺我們?cè)赩PP 20.05提出了VPP 異步crypto 框架,并在VPP 20.09對(duì)其進(jìn)行了進(jìn)一步完善。

01

VPP同步crypto框架

剛才介紹到,已有的VPP Crypto框架是同步軟件實(shí)現(xiàn),圖1簡(jiǎn)單介紹了如何在VPP IPsec中使用crypto框架。

a1681868-92eb-11eb-8b86-12bb97331649.png

圖1:VPP IPSec 使用 crypto 框架加密ESP Tunnel模式網(wǎng)絡(luò)幀

如圖,esp4-encrypt-tun是VPP的IPsec數(shù)據(jù)面處理的Graph Node。它將對(duì)接收到的網(wǎng)絡(luò)幀進(jìn)行SA查表,并將SA 中預(yù)存的crypto key索引號(hào)連同要加密的數(shù)據(jù)指針和長(zhǎng)度一起提交給加密算法的缺省處理函數(shù)進(jìn)行加密。加密結(jié)果將在處理完成后立刻返回給esp4-encrypt-tun,在將處理失敗的網(wǎng)絡(luò)幀丟棄后,其余幀將交由下一個(gè)graph node處理。

02

收發(fā)間卸載

在討論如何將同步變成異步以前,我們首先需要介紹一下收發(fā)間卸載。

NIC的收發(fā)在某種程度上也屬于CPU卸載范疇的一部分:CPU無(wú)需在二進(jìn)制數(shù)據(jù)和光電信號(hào)之間進(jìn)行轉(zhuǎn)換,僅需要對(duì)二進(jìn)制數(shù)據(jù),及網(wǎng)絡(luò)幀數(shù)據(jù)進(jìn)行特定地址的讀寫即可完成網(wǎng)絡(luò)幀的收發(fā)工作,光電信號(hào)的轉(zhuǎn)換以及許多其他工作,如Checksum運(yùn)算卸載,VXLan封裝和解封卸載等,都是由NIC完成的。雖然NIC也需要一些時(shí)間完成收發(fā)工作,但并不需要讓CPU一直等待其工作完成,而是和CPU并行地異步工作著。NIC對(duì)于能收發(fā)多少網(wǎng)絡(luò)幀能立刻判定,因此CPU無(wú)需過(guò)多干預(yù)收發(fā)結(jié)果,只管讀寫即可。

那么,如果這類卸載發(fā)生在收發(fā)網(wǎng)絡(luò)幀的中間呢?

這種網(wǎng)絡(luò)幀收發(fā)之間的卸載,我們稱為收發(fā)間卸載,恰恰是QAT的工作方式。CPU將加密的工作卸載給QAT,QAT在CPU的流水線之外并行地處理加密工作。并在另一個(gè)時(shí)間點(diǎn)將處理好的工作取回,并最終交由NIC進(jìn)行發(fā)送。收發(fā)間卸載相比NIC卸載要相對(duì)復(fù)雜一些:CPU需要管理失敗的加解密命令的結(jié)果,因?yàn)镼AT的操作對(duì)象僅為內(nèi)存而非網(wǎng)絡(luò)幀,CPU需要自行管理QAT交互使用的內(nèi)存;CPU也需要針對(duì)加解密操作的結(jié)果進(jìn)行相應(yīng)的處理;如非法的加密網(wǎng)絡(luò)幀需要丟棄等。我們還需要一個(gè)獨(dú)立于收網(wǎng)絡(luò)幀之外的輪詢(polling)操作,以便將QAT處理完成的數(shù)據(jù)及時(shí)取回。

03

VPP的異步crypto框架以及在VPP IPsec中的應(yīng)用

要把圖1的同步模式轉(zhuǎn)變成異步模式,VPP的crypto 框架應(yīng)該要有一個(gè)成雙的enqueue和dequeue回調(diào)函數(shù),同時(shí)底下應(yīng)能有不同的async crypto engine來(lái)提供這些回調(diào)函數(shù)的指針。Esp4-encrypt-tun節(jié)點(diǎn)將需要加密的數(shù)據(jù)enqueue給cryptodev engine,并最終提交給QAT。我們還要增加了一個(gè)crypto dispatch node來(lái)輪詢QAT VF,來(lái)取回加密好的網(wǎng)絡(luò)幀并傳遞給esp4-encrypt-tun-post。籍此我們完成了esp4-encrypt-tun從同步到異步的轉(zhuǎn)變,如圖2所示。

a18c31ee-92eb-11eb-8b86-12bb97331649.png

圖2:VPP IPSec 使用 Async crypto 框架加密ESP Tunnel模式網(wǎng)絡(luò)幀

但光這樣還不夠。該圖僅僅描述了IPsec ESP在TUNNEL模式下的加密工作流程。VPP Crypto 的異步框架還能:

支持多engine 。和同步的VPP Crypto框架一樣,異步框架能讓不同的算法由不同的engine來(lái)處理。

所有的graph node都能獲取異步的crypto服務(wù)。它們僅需要想crypto dispatch節(jié)點(diǎn)告知自己在取回處理完成的網(wǎng)絡(luò)幀時(shí)的下一跳節(jié)點(diǎn)名稱。

Crypto dispatch節(jié)點(diǎn)在支持輪詢模式的同時(shí),還能在僅有限影響性能的前提下支持中斷模式,這樣能最大化VPP異步框架的適用性,如在容器中運(yùn)行等。

最后,我們還提供基于DPDK Cryptodev API的高性能Cryptodev engine,通過(guò)其實(shí)現(xiàn)對(duì)QAT卸載的高效支持。

04

如何在VPP IPSec中使用異步crypto框架及DPDK Cryptodev Engine

首先我們要保證在VPP的startup.conf中擁有足夠的QAT Virtual Function (VF)。因?yàn)橐粋€(gè)VPP Worker線程將占用一個(gè)QAT VF的硬件隊(duì)列,因此QAT VF的數(shù)量應(yīng)不小于VPP Worker內(nèi)核數(shù)量除以2。

a1eb61aa-92eb-11eb-8b86-12bb97331649.png

VPP啟動(dòng)后,使用如下命令能看到QAT 硬件隊(duì)列和VPP Worker線程的綁定關(guān)系

a205d346-92eb-11eb-8b86-12bb97331649.png

使用如下命令還可看到算法和engine的綁定關(guān)系

a22ad7f4-92eb-11eb-8b86-12bb97331649.png

Engine 名后的“*”代表其為該算法的缺省engine,這時(shí)我們可以將缺省的engine從sw_scheduler變成dpdk_cryptodev

a24d79bc-92eb-11eb-8b86-12bb97331649.png

可以看到缺省engine 變成了DPDK Cryptodev

a26cf918-92eb-11eb-8b86-12bb97331649.png

這時(shí)我們可以在IPsec中啟動(dòng)異步模式

a2a62e40-92eb-11eb-8b86-12bb97331649.png

自此所有的IPsec工作流都將以異步的方式進(jìn)行處理。在VPP的show run命令輸出可以看到多出來(lái)的用于處理IPsec異步模式的graph node。

a2c31d02-92eb-11eb-8b86-12bb97331649.png

我們還可以切換輪詢或者中斷模式(可選),中斷模式下crypto dispatch節(jié)點(diǎn)僅在隊(duì)列中還有網(wǎng)絡(luò)幀未被取出時(shí)才會(huì)啟用。使用中斷模式將視網(wǎng)絡(luò)情況略微影響性能,但能在沒有網(wǎng)絡(luò)幀要處理時(shí)盡量小地占用CPU。

原文標(biāo)題:同步異步你說(shuō)了算:VPP 的異步Crypto框架

文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11331

    瀏覽量

    225904
  • VPP
    VPP
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    10129

原文標(biāo)題:同步異步你說(shuō)了算:VPP 的異步Crypto框架

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    何在 S32 配置工具中添加 ADC 并在 Simulink 中使用?

    對(duì)于 S32K3,如何在 S32 配置工具中添加 ADC 并在 Simulink 中使用?
    發(fā)表于 04-07 07:09

    Atmel Crypto產(chǎn)品組合:全方位系統(tǒng)安全解決方案

    Atmel Crypto產(chǎn)品組合:全方位系統(tǒng)安全解決方案 在當(dāng)今數(shù)字化時(shí)代,系統(tǒng)安全至關(guān)重要。Atmel的Crypto產(chǎn)品組合為各類應(yīng)用提供了全面的系統(tǒng)安全解決方案,涵蓋客戶端和主機(jī)端硬件安全I(xiàn)C
    的頭像 發(fā)表于 04-06 11:15 ?727次閱讀

    LT1313雙PCMCIA VPP驅(qū)動(dòng)器/穩(wěn)壓器深度解析

    LT1313雙PCMCIA VPP驅(qū)動(dòng)器/穩(wěn)壓器深度解析 各位電子工程師同行們,在今天的博文中,我將為大家詳細(xì)介紹 Linear Technology 公司的 LT1313 雙 PCMCIA VPP
    的頭像 發(fā)表于 04-02 09:40 ?96次閱讀

    何在S32K322的ADC1中使用mcal,通過(guò)硬件觸發(fā)同時(shí)獲得正常ADC和注入ADC的值?

    請(qǐng)告訴我,如何在S32K322的ADC1中使用mcal,通過(guò)硬件觸發(fā)同時(shí)獲得正常ADC和注入ADC的值?需要哪些功能?
    發(fā)表于 03-31 06:18

    【創(chuàng)芯工坊】PowerWriter 0048 如何在其他IDE中使用PowerWriter的Debugger(燒錄器常見使用問(wèn)題)

    【創(chuàng)芯工坊】PowerWriter 0048 如何在其他IDE中使用PowerWriter的Debugger(燒錄器常見使用問(wèn)題)
    發(fā)表于 03-26 10:38

    何在 S32 DS 中使用 BMS GEN2 SDK?

    do not support the BJB MC33777. 如何在 S32 DS 中使用 BMS GEN2 SDK?
    發(fā)表于 03-23 08:16

    探索MAX1602:?jiǎn)瓮ǖ繡ardBus和PCMCIA VCC/VPP電源開關(guān)網(wǎng)絡(luò)

    探索MAX1602:?jiǎn)瓮ǖ繡ardBus和PCMCIA VCC/VPP電源開關(guān)網(wǎng)絡(luò) 在電子設(shè)備的設(shè)計(jì)中,電源管理是至關(guān)重要的一環(huán)。對(duì)于CardBus和PCMCIA接口的設(shè)備,合適的電源開關(guān)網(wǎng)絡(luò)能夠
    的頭像 發(fā)表于 03-19 14:05 ?171次閱讀

    基于 SONiC 的高性能 IPsec 網(wǎng)關(guān):VPP 與硬件卸載如何重塑路由性能?

    面對(duì)10G+帶寬挑戰(zhàn),傳統(tǒng)IPsec網(wǎng)關(guān)性能不足。本文深入解析SONiC操作系統(tǒng)如何通過(guò)硬件卸載與VPP加速,實(shí)現(xiàn)線速加密吞吐,為企業(yè)提供高性能路由安全方案。立即了解!
    的頭像 發(fā)表于 03-16 16:28 ?478次閱讀
    基于 SONiC 的高性能 <b class='flag-5'>IPsec</b> 網(wǎng)關(guān):<b class='flag-5'>VPP</b> 與硬件卸載如何重塑路由性能?

    何在AMD Vitis Unified IDE中使用系統(tǒng)設(shè)備樹

    您將在這篇博客中了解系統(tǒng)設(shè)備樹 (SDT) 以及如何在 AMD Vitis Unified IDE 中使用 SDT 維護(hù)來(lái)自 XSA 的硬件元數(shù)據(jù)。本文還講述了如何對(duì) SDT 進(jìn)行操作,以便在 Vitis Unified IDE 中實(shí)現(xiàn)更靈活的使用場(chǎng)景。
    的頭像 發(fā)表于 11-18 11:13 ?3319次閱讀
    如<b class='flag-5'>何在</b>AMD Vitis Unified IDE<b class='flag-5'>中使</b>用系統(tǒng)設(shè)備樹

    SONiC控制面 + VPP數(shù)據(jù)面:AsterNOS-VPP的高性能開放之路

    AsterNOS-VPP 是星融元繼數(shù)據(jù)中心和園區(qū)網(wǎng)絡(luò)場(chǎng)景后,面向邊緣路由場(chǎng)景推出的開放網(wǎng)絡(luò)操作系統(tǒng),其融合了 SONiC 強(qiáng)大的控制面能力以及 VPP 的高性能數(shù)據(jù)轉(zhuǎn)發(fā)能力,實(shí)現(xiàn)新一代企業(yè)級(jí)園區(qū)路由器和防火墻等功能,幫助用戶構(gòu)建高性能、靈活性和成本效益的網(wǎng)絡(luò)環(huán)境。
    的頭像 發(fā)表于 10-22 14:23 ?1291次閱讀
    SONiC控制面 + <b class='flag-5'>VPP</b>數(shù)據(jù)面:AsterNOS-<b class='flag-5'>VPP</b>的高性能開放之路

    何在vivadoHLS中使用.TLite模型

    本帖欲分享如何在vivadoHLS中使用.TLite模型。在Vivado HLS中導(dǎo)入模型后,需要設(shè)置其輸入和輸出接口以與您的設(shè)計(jì)進(jìn)行適配。 1. 在Vivado HLS項(xiàng)目中導(dǎo)入模型文件 可以
    發(fā)表于 10-22 06:29

    VPP核心組件——計(jì)量芯片

    電子發(fā)燒友網(wǎng)綜合報(bào)道 作為一種過(guò)先進(jìn)的信息通信、計(jì)量控制和系統(tǒng)集成技術(shù),VPP(虛擬電廠)將分布式能源(如光伏、風(fēng)電、儲(chǔ)能、電動(dòng)汽車等)聚合起來(lái),形成可調(diào)度、可交易的虛擬發(fā)電資源,以參與電力市場(chǎng)
    的頭像 發(fā)表于 09-13 00:25 ?4648次閱讀

    請(qǐng)問(wèn)如何在 Keil μVision 或 IAR EWARM 中使用觀察點(diǎn)進(jìn)行調(diào)試?

    何在 Keil μVision 或 IAR EWARM 中使用觀察點(diǎn)進(jìn)行調(diào)試?
    發(fā)表于 08-20 06:29

    輕量級(jí)加密解密:Crypto核心庫(kù)守護(hù)數(shù)據(jù)安全的終極答案

    在數(shù)據(jù)安全領(lǐng)域,“重量級(jí)”不等于“強(qiáng)效”。Crypto核心庫(kù)摒棄臃腫設(shè)計(jì),聚焦輕量化創(chuàng)新,通過(guò)精簡(jiǎn)算法與高效邏輯,實(shí)現(xiàn)加密解密的雙重突破——既讓數(shù)據(jù)安全無(wú)懈可擊,又讓系統(tǒng)運(yùn)行輕如鴻毛。 加解密算法
    的頭像 發(fā)表于 08-04 14:41 ?998次閱讀
    輕量級(jí)加密解密:<b class='flag-5'>Crypto</b>核心庫(kù)守護(hù)數(shù)據(jù)安全的終極答案

    替代專用硬件!一文梳理開源VPP+DPDK技術(shù)和產(chǎn)業(yè)界應(yīng)用實(shí)例

    VPP 這一開源技術(shù)在通用 CPU 的基礎(chǔ)上,實(shí)現(xiàn)了傳統(tǒng)上需要專門的網(wǎng)絡(luò)硬件設(shè)備(如路由器)和專業(yè)的網(wǎng)絡(luò)操作系統(tǒng)才能達(dá)到的性能,以極高的性價(jià)比為廣大用戶帶來(lái)了開放網(wǎng)絡(luò)技術(shù)的紅利。VPP 集成了DPDK項(xiàng)目,通過(guò)它直接訪問(wèn)硬件網(wǎng)卡資源。
    的頭像 發(fā)表于 07-07 17:17 ?1865次閱讀
    替代專用硬件!一文梳理開源<b class='flag-5'>VPP</b>+DPDK技術(shù)和產(chǎn)業(yè)界應(yīng)用實(shí)例