精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Egress Pipe配置使用方法

rfdqdzdg ? 來源:數字芯片設計工程師 ? 2023-06-29 09:22 ? 次閱讀

Egress Pipe配置使用

出口路徑對每個數據包執行以下步驟:

1.解析數據包(提取DA、SA、VLAN、MACsec報頭、專有報頭和以太類型)

2.根據以太網類型匹配表匹配以太網類型(二層payload類型);

3.查找包(匹配上述任何/所有L2字段,在命中時返回上下文編號)

4.檢索上下文(包含要對數據包執行的操作,以及MACsec標記的內容)

5.重寫包(插入/替換MACsec標簽,刪除專有報頭)

6.加密數據包(使用合適的密鑰加密)

7.驗證數據包(使用適當的散列密鑰計算數據包的ICV,并在驗證/加密結束后插入)

這些步驟由具有分離的控制/數據路徑的流水邏輯實現,如圖45所示。這張圖顯示了三種類型的功能單元。引擎是管道中直接處理每個數據包的單元。引擎具有最小的配置,并且它們的配置信息由靜態值組成,例如Ethertypes。緩沖區用于吸收由各種引擎處理引入的延遲。表包含大多數控制信息和處理所需的所有動態信息。

5f613de8-159b-11ee-962d-dac502259ad0.png

Ethertype match table

以太類型匹配表在出接口和入接口之間共享,包含8種以太類型,可以與數據包解析器找到的內部以太類型進行匹配。可以通過配置寄存器(et_m0, et_m1, et_m2, et_m3)來編程8種以太類型。如果內部以太類型匹配以太類型匹配表中的一個已啟用的條目(由et_match_ctl的etm_egr_en位啟用),則數據包將:

1.被丟棄,或者

2.根據et_match_ctl的etm_eg_drop或etm_rmv_hdr位的設置,專有頭將從包的前面刪除。如果兩個位都為零,數據包將被繞過(be bypassed)。此表的優先級高于查找表——任何與已啟用條目匹配的數據包都不會在查找表中查找。與Ethertype匹配表匹配的數據包將被LinkCrypt統計為“miss”數據包。

Lookup table 查找表

查找表是出口管道中數據包的主要決策點。該表是一個32條目的優先級查找表,其功能類似于CAM。該表包含MAC DA、MAC SA、VLAN、ethertype和header match字段,以及每個字段的使能位。該表還包含一個默認匹配位,因此搜索到具有默認設置的條目將始終匹配該條目。

查找表的輸出是一組動作(刪除、認證、加密、刪除頭,請參閱出口查找表動作位Egress Look Up Table),以及一個上下文條目的索引,如果要對數據包進行身份驗證或加密,將使用該索引。丟棄數據包與認證/加密動作是互斥的。

5f9dff3a-159b-11ee-962d-dac502259ad0.png

6028be68-159b-11ee-962d-dac502259ad0.png

數據包VLAN取自數據包中出現的第一個802.1q標簽(如果出現),如果啟用了parse_macsec,則取自MACsec標簽之后的第一個802.1q標簽。如果解析器沒有找到1q標記,將使用缺省VLAN寄存器(cfg_default_vlan)中的VLAN值執行查找。

如果數據包不匹配Ethertype match表或查找表,則根據egr_gen的def_drop和def_rmv_hdr位采取默認操作。

603c863c-159b-11ee-962d-dac502259ad0.png

上電后,查找表自動清除。出口和入口查找表可以使用slice reset_ctl寄存器的tbl_init位重新初始化。

Context and Key tables

上下文表(Egress context Table)和密鑰表(Encrypt key Table和Egress Hash key Table)包含對報文進行封裝、加密和認證所需的信息。上下文表包含創建MACsec報頭所需的信息。這些信息被提供給重寫引擎(它實際執行插入)和加密引擎(它使用這些信息形成nonce)。

Egress Context Table

608eacdc-159b-11ee-962d-dac502259ad0.png

60d8af8a-159b-11ee-962d-dac502259ad0.png

612ae7b4-159b-11ee-962d-dac502259ad0.png

加密和散列密鑰表包含執行加密和身份驗證所需的密鑰。加密密鑰為AES計數器模式使用的128位AES密鑰。哈希密鑰是一個128位密鑰,通過對加密密鑰和數據值0執行AES操作而得到加密密鑰。

上下文號不僅指上下文表中的條目號,還指加密密鑰表和散列密鑰表中的條目。例如,引用上下文#2的查找條目將使用加密密鑰#2和散列密鑰#2。上下文表還包含將與下一個數據包一起傳輸的PN值(ectx0_2)。該PN值在每個數據包發送后自動增加。如果啟用了drop_max_pn,則傳輸數據包的編號將圍繞并保持在PN 0。一旦PN計數器達到0,它就不會增加。該pn0報文和所有后續到達該表項的報文將被丟棄。如果禁用drop_max_pn,則PN將繞圈,數據包將從PN=1開始傳輸(跳過PN=0)。允許PN計數器達到零值被認為是一個錯誤條件,并且將設置pn_full中斷。當任何一個PN計數器超過3/4滿閾值時,就會設置第二個中斷。

配置Egress Pipe

出口管道的操作主要由圖45中所示的四個表控制。管道從左到右訪問這些表(查找散列鍵),因此在配置期間,它們以相反的順序(從右到左)進行更改。順序為:

1. Disable lookup entry

2. Program hash key

3. Program encrypt key

4. Program context

5. Program lookup entry

6. Enable lookup entry

要禁用查找項(lookup entry),只需要寫入最高的單詞。對于所有其他表項entry,表項應該從最低地址寫到最高地址(word0àword3)。完成此操作后,步驟#5和#6可以結合使用,因為查找項中的啟用位位于寫入的最后一個單詞中。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 以太網
    +關注

    關注

    40

    文章

    5383

    瀏覽量

    171144
  • VLAN
    +關注

    關注

    1

    文章

    273

    瀏覽量

    35581
  • 數據包
    +關注

    關注

    0

    文章

    253

    瀏覽量

    24366

原文標題:88E1548P MACSec使用(2)--Egress Pipe

文章出處:【微信號:數字芯片設計工程師,微信公眾號:數字芯片設計工程師】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MQTT軟件包的配置參數和使用方法

    MQTT使用說明MQTT軟件包的配置參數和使用方法
    發表于 03-30 08:10

    HC05模塊使用方法配置步驟

    手擼六足機器人(二)----------確定通信方式:HC05模塊使用方法配置步驟示例對于遙控器和機器人之間通訊方法,考慮到機器人動作的多樣化和一些反饋,要尋找一種無線的、穩定的、支持復雜數據收發
    發表于 12-03 06:54

    介紹SPI的使用方法

    寫在最前使用RT-Thread Studio開發環境開發STM32單片機程序,與MDK使用env有一定的差別,對于剛開始使用的程序員來說,主要是找不到配置選項在哪里,上一篇介紹了TIM設備的使用方法
    發表于 02-17 06:32

    i.MX8MP EQOS MAC_Ingress_Timestamp_Latency和MAC_Egress_Timestamp_Latency始終為0的原因?

    和 11.7.2.5.3.2 節),但我總是閱讀0 來自 MAC_[Ingress,Egress]_Timestamp_Latency 寄存器。這是配置問題嗎?
    發表于 04-03 07:15

    示波器的使用方法

    示波器的使用方法 1 示波器使用        本節介紹示波器的使用方法。示波器種類、型號很多,功能也不同。
    發表于 01-14 13:06 ?1.8w次閱讀

    Matlab使用方法和程序設計

    Matlab使用方法和程序設計 實驗一 Matlab使用方法和程序設計一、
    發表于 10-17 00:18 ?5380次閱讀
    Matlab<b class='flag-5'>使用方法</b>和程序設計

    示波器的使用方法

    數字萬用表使用方法和示波器的使用方法詳解。
    發表于 03-14 10:38 ?32次下載

    xilinx 原語使用方法

    xilinx 原語使用方法
    發表于 10-17 08:57 ?11次下載
    xilinx 原語<b class='flag-5'>使用方法</b>

    ORCAD PSPICE 使用方法

    ORCAD PSPICE 使用方法
    發表于 10-18 14:52 ?39次下載
    ORCAD PSPICE <b class='flag-5'>使用方法</b>

    git使用方法

    git使用方法
    發表于 10-24 09:45 ?19次下載
    git<b class='flag-5'>使用方法</b>

    示波器的使用方法(三):示波器的使用方法詳解

    示波器的使用方法并非很難,重點在于正確使用示波器的使用方法。往期文章中,小編對模擬示波器的使用方法和數字示波器的使用方法均有所介紹。為增進大家對示波器的
    的頭像 發表于 12-24 20:37 ?3193次閱讀

    在FPGA中配置PLL的步驟及使用方法

    在FPGA中配置PLL的步驟及使用方法
    發表于 05-28 10:01 ?21次下載

    exynos 4412 電源管理芯片PMIC 的配置使用方法

    ,就算是datasheet也很難下載得到,不知是何原因?我只能理解成這部分知識比較簡單,沒人愿意寫吧。但記錄一下原理和使用方法做為備忘,總歸沒有什么壞處。另外仍然需要提前聲明的是,這里只提供官方手冊推薦的配置方法,自由玩法不保證
    發表于 01-11 15:42 ?1次下載
    exynos 4412 電源管理芯片PMIC 的<b class='flag-5'>配置</b>及<b class='flag-5'>使用方法</b>

    Pipe Go開源博客平臺

    ./oschina_soft/gitee-pipe.zip
    發表于 06-09 14:49 ?1次下載
    <b class='flag-5'>Pipe</b> Go開源博客平臺

    交換機最基本的配置使用方法

    交換機最基本的配置使用方法
    的頭像 發表于 01-04 11:34 ?6986次閱讀