SierraNet協議分析使用指導[RDMA]| 如何設置 NVMe QP 端口以進行正確解碼

在解碼RoCEv2數據包(包括TCP RDMA和RoCE RDMA)時,若捕獲的跟蹤數據無法正確解碼,通常需要執行特定的解碼步驟。對于RoCE RDMA跟蹤數據的處理,分析器主要采用兩種方式獲取必要信息以實現數據包解碼:

首先,分析器通過NVMe QP端口獲取所需信息。這些帶有RoCEv2的NVMe QP端口可在啟動器與目標建立連接時被"自然"讀取,分析器利用這些信息來識別QP端口,從而解碼NVMe數據包。此外,在連接建立后,有時需要手動輸入這些QP端口信息。

對于TCP RDMA跟蹤數據的處理,唯一必要的信息是"NVMe/TCP端口",這些端口通常已預先存在于解碼器中,我們將在后續詳細討論。

值得注意的是,從4.40版本開始,我們簡化了NVMe解碼流程,確保跟蹤數據能夠被解碼為NVMe類型,或使分析器能夠預先將跟蹤數據記錄為NVMe類型,而無需了解具體的NVMe QP端口信息。本文將首先介紹4.40版本新增的解碼便捷性,然后闡述4.40版本之前必須執行的NVMe解碼步驟。

G.1.1 從版本4.40開始設置NVMe解碼

由于確保每次客戶想要解碼NVMe跟蹤或確保解碼設置正確(無論是否捕獲了RoCE_V2-MAD數據包,這是我們之前加載解碼表的唯一方式)的復雜性,現在可以在開始“錄制”之前通過進入設置?首選項?軟件設置?解碼分配頁面激活NVMe解碼。在該頁面(圖G.1)下,有一個“QP協議:”設置,其中有一個NVMe的下拉選項。設置后,新錄制的跟蹤或加載的舊跟蹤都將被正確解碼為NVMe跟蹤。這處理了所有NVMe QP端口設置,因此客戶無需記住任何幀目標QP端口的十六進制設置,這使得操作更加簡便。

Figure G.1: Decoding Preferences

如果您已經執行了“記錄”操作,并且您有一個想要解碼為NVMe跟蹤的RoCE跟蹤(并且您尚未執行上述步驟將分析器設置為NVMe模式):1. 轉到“分析”選項卡并選擇解碼分配。將顯示一個列表,如圖G.2所示。2. 您必須在QP端口協議字段中僅選擇NVMe(如下所示),并選擇“應用更改到首選項”選項卡。這將顯示一條最終消息,說明快速查看跟蹤將被保存。3. 選擇“是”。該跟蹤(以及所有后續的RoCE跟蹤)將被解碼為NVMe跟蹤。從4.40版本開始,這就是讓您的分析器解碼NVMe所需的全部操作,無論是在記錄之前還是之后。

Figure G.2: Decoding Assignments List

G.1.2 使用RoCE RDMA捕獲解碼跟蹤 – 4.40版本之前

如果在連接到目標之前開始錄制,此時會交換某些數據包,這些數據包會自動加載解碼表。這使得整個過程變得更加容易,因為所有解碼已經完成,如圖G.3所示。

Figure G.3: Decoding Table

如您所見,NVMe數據包已被翻譯并正確識別。這是因為解碼表已預先填充了“NVMe/QP端口”,這些端口是翻譯所有數據包所必需的。圖G.4中所示的解碼表在自動填充后包含了“NVMe QP端口”。解碼表將在以下部分進一步討論。

Figure G.4: Decoding Table with NVMe QP Ports

G.1.3 使用RoCE RDMA捕獲未解碼的跟蹤記錄 – 4.40版本之前

如果您剛剛記錄了一個類似于圖G.5中表格的跟蹤記錄,并且RDMA設置為RoCE,您可以采取一些步驟使該跟蹤記錄以解碼狀態顯示。由于此跟蹤記錄是在啟動器和目標之間的連接序列之后捕獲的(缺少自動NVMe端口設置數據包),如果需要數據包解碼,則必須手動修復解碼。

Figure G.5: Example Recorded Trace

手動更改解碼:

  1. 轉到“分析”選項卡并點擊“解碼分配”。在“NVMe QP端口(十六進制)”被學習或添加之前,表格可能看起來像圖G.6中的示例。

Figure G.6: Decoding Assignments Table

?

  1. 為了正確解碼每個數據包,請檢查(打開并使用幀檢查器視圖)每個數據包中“Base Transport Header”主字段下的“Destination QP”字段,如圖G.7所示。

Figure G.7: Frame Inspector View

  1. 記下這個數字,然后返回到“分析”選項卡下的“解碼分配”窗口。

  2. 將十六進制數348添加到“NVMe QP端口(十六進制)”字段中,如圖G.8所示。

Figure G.8: Decoding Assignments Window

5.在解碼器上按下“應用更改到偏好”按鈕,然后點擊關閉。分析器將您的更改添加到跟蹤中。圖G.9展示了帶有更改的新跟蹤示例。

Figure G.9: Example of New Trace with Changes

請注意,它僅解碼了具有特定 NVMe QP 端口的部分數據包。不過,NVMe QP 端口將進行一些分組,以便您可以一次性添加大量 NVMe QP 端口。

例如,這個數據包的 NVMe 目標 QP 端口為十六進制的 348,但另一個數據包的目標 QP 端口為十六進制的 304。因此,通常最好通過添加一系列“NVMe 目標 QP 端口”來一次性翻譯多個數據包。如圖 G.10 所示,添加了 2FF-2000 以適應大量的 NVMe QP 端口,從而在此跟蹤中翻譯更多的數據包。

Figure G.10: Large Sequence of NVMe Destination QP Ports Added

6.點擊解碼器上的“應用更改到偏好”,然后點擊“關閉”。分析器將更改添加到跟蹤中。? 見圖G.11以查看帶有更改的新跟蹤示例。

Figure G.11: Example of New Trace with Changes

請注意,大多數(如果不是全部)RoCEv2數據包已轉換為NVMe,分析器顯示正確的解碼。

G.1.4 使用TCP RDMA捕獲解碼跟蹤 – 4.40版本之前

在使用TCP與RoCEv2時,解碼過程要簡單得多,因為大部分解碼依賴于“NVMe/TCP端口”(見圖G.12),這些端口通常是一個標準值,大多數人在連接到目標時使用4420。因此,當在TCP頭下看到源端口或目標端口為4420的NVMe時,解碼會自動進行。

?Figure G.12: Table Showing NVMe/TCP Ports

圖G.13顯示了一個RoCEv2 TCP跟蹤,其目標端口和源端口均為4420,因此所有端口都被正確解碼。

Figure G.13: Example Trace with Destination and Source Ports of 4420

G.1.5 退出NVMe解碼模式

有幾種方法可以退出NVMe解碼模式,有些是偶然的,有些是故意的。

? 偶然的方式通常發生在降級或解碼信息因某種原因被手動覆蓋時。在4.40之前的版本中,更改或刪除解碼器(分析?解碼分配頁面)中的HEX數字將不允許分析器中進行NVMe解碼,從而偶然或故意地移除NVMe解碼。當降級到舊版本時,該版本可能不支持較新的4.40設置,或者可能完全擦除所有解碼設置。

? 故意退出NVMe模式的方法是在設置?首選項?軟件設置

?解碼分配窗口中將4.40的NVMe設置更改為其他設置,例如“用戶定義”、“iSER”或“SMB”。在4.40版本之前,必須從“分析

?解碼分配”窗口(解碼器)中刪除NVMe QP端口,這些端口對每個跟蹤都很重要。NVMe解碼將不再正常進行。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/80546.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/80546.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/80546.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JavaScript基礎-局部作用域

在JavaScript中,理解不同種類的作用域是掌握這門語言的關鍵之一。作用域決定了變量和函數的可訪問性(即可見性和生命周期)。與全局作用域相對應的是局部作用域,它限制了變量和函數只能在其定義的特定范圍內被訪問。本文將深入探討…

李沐動手深度學習(pycharm中運行筆記)——09.softmax回歸+圖像分類數據集+從零實現+簡潔實現

09.softmax回歸圖像分類數據集從零實現簡潔實現(與課程對應) 目錄 一、softmax回歸 1、回歸 vs 分類 2、經典分類數據集: 3、從回歸到分類——均方損失 4、從回歸到多類分類——無校驗比例 5、從回歸到多類分類——校驗比例 6、softmax和…

C++八股——內存分配

文章目錄 1. 虛擬內存空間2. malloc和free3. new和delete4. 內存池 1. 虛擬內存空間 程序進程的虛擬內存空間是操作系統為每個進程提供的獨立、連續的邏輯地址空間,與物理內存解耦。其核心目的是隔離進程、簡化內存管理,并提供靈活的內存訪問控制。 &am…

【Linux基礎】網絡相關命令

目錄 netstat命令 1.1 命令介紹 1.2 命令格式 1.3 常用選項 1.4 常用命令實例 1.4.1 顯示所有TCP連接 1.4.2 查看路由表 1.4.3 實時監控網絡接口流量 1.4.4 查看監聽中的端口以及關聯進程 ping命令 2.1 命令介紹 2.2 命令格式 2.3 常用選項 2.4 常用示例 ifconfi…

adb 實用命令匯總

版權歸作者所有&#xff0c;如有轉發&#xff0c;請注明文章出處&#xff1a;https://cyrus-studio.github.io/blog/ 基礎adb命令 # 重啟adb adb kill-server# 查看已連接的設備 adb devices# 進入命令行 adb shell# 使用 -s 參數來指定設備 adb -s <設備序列號> shell…

C#管道通訊及傳輸信息丟失的原因

以下是C#管道通訊客戶端/服務端共用類 namespace PipeCommunication { /// <summary> /// 管道信息回調通知 /// </summary> /// <param name"msg"></param> public delegate void PipeMessageEventHandler(string msg…

MixTeX - 支持CPU推理的多模態LaTeX OCR

文章目錄 一、項目概覽相關資源核心特性技術特點 二、安裝三、使用說明環境要求 四、版本更新五、當前限制 一、項目概覽 MixTeX是一款創新的多模態LaTeX識別小程序&#xff0c;支持本地離線環境下的高效CPU推理。 無論是LaTeX公式、表格還是混合文本&#xff0c;MixTeX都能輕…

簡單 Linux 字符設備驅動程序

注&#xff1a;本文為 “Linux 字符設備驅動” 相關文章合輯。 英文引文&#xff0c;機翻未校。 中文引文&#xff0c;略作重排。 未整理去重&#xff0c;如有內容異常&#xff0c;請看原文。 Simple Linux character device driver 簡單 Linux 字符設備驅動程序 Oleg Kutko…

NX949NX952美光科技閃存NX961NX964

NX949NX952美光科技閃存NX961NX964 在半導體存儲領域&#xff0c;美光科技始終扮演著技術引領者的角色。其NX系列閃存產品線憑借卓越的性能與創新設計&#xff0c;成為數據中心、人工智能、高端消費電子等場景的核心組件。本文將圍繞NX949、NX952、NX961及NX964四款代表性產品…

協議路由與路由協議

協議路由”和“路由協議”聽起來相似&#xff0c;但其實是兩個完全不同的網絡概念。下面我來分別解釋&#xff1a; 一、協議路由&#xff08;Policy-Based Routing&#xff0c;PBR&#xff09; ? 定義&#xff1a; 協議路由是指 根據預設策略&#xff08;策略路由&#xff0…

Linux510 ssh服務 ssh連接

arning: Permanently added ‘11.1.1.100’ (ECDSA) to the list of known hosts. rooot11.1.1.100’s password: Permission denied, please try again. rooot11.1.1.100’s password: Permission denied, please try again 還沒生效 登不上了 失效了 sshcaozx26成功登錄 …

金融學知識筆記

金融學知識筆記 一、引言 金融學它結合了數學、概率論、統計學、經濟學和計算機科學等多學科的知識&#xff0c;用于解決金融領域中的各種問題&#xff0c;如金融衍生品定價、投資組合優化、風險管理和固定收益證券分析等。通過對金融學的學習&#xff0c;我們可以更好地理解…

AB測試面試題

AB測試面試題 常考AB測試問答題(1)AB測試的優缺點是什么?(2)AB測試的一般流程/介紹一下日常工作中你是如何做A/B實驗的?(3)第一類錯誤 vs 第二類錯誤 vs 你怎么理解AB測試中的第一、二類錯誤?(4)統計顯著=實際顯著?(5)AB測試效果統計上不顯著?(6)實驗組優于對…

USR-M100采集數據并提交MQTT服務器

本文為記錄備忘&#xff0c;不做過多解釋。 模塊自身帶有2路數字量輸入&#xff0c;2路模擬量輸入&#xff0c;2路485接口 數字量接報警輸入&#xff0c;模擬量接壓力傳感器&#xff0c;液位傳感器&#xff0c;485接口分別接流量計&#xff0c;溫濕度傳感器。 正確接線&…

Octave 繪圖快速入門指南

目錄 1. 基本的 2D 繪圖 2. 自定義圖形樣式 3. 繪制散點圖 4. 繪制柱狀圖 5. 繪制直方圖 6. 3D 繪圖 6.6.1 3D 曲面圖 6.6.2 3D 散點圖 7. 繪制極坐標 8. 多子圖繪制 總結 Octave 是一個類似于 MATLAB 的開源數學軟件&#xff0c;廣泛用于數值計算和數據分析。它提供…

RabbitMQ--基礎篇

RabbitMQ 簡介&#xff1a;RabbitMQ 是一種開源的消息隊列中間件&#xff0c;你可以把它想象成一個高效的“郵局”。它專門負責在不同應用程序之間傳遞消息&#xff0c;讓系統各部分能松耦合地協作 優勢&#xff1a; 異步處理&#xff1a;比如用戶注冊后&#xff0c;主程序將發…

【MySQL】事務(重點)

目錄 一、什么是事務&#xff1a; 二、事務的前置知識了解 引擎是否支持事務 事務的提交方式 事務操作的前置準備&#xff1a; 三、事務回滾&#xff1a; 四、事務崩潰&#xff1a; 原子性&#xff1a; 持久性&#xff1a; 五、自動提交和手動提交&#xff1a; 六、…

C++STL——stack,queue

stack與queue 前言容器適配器deque 前言 本篇主要講解stack與queue的底層&#xff0c;但并不會進行實現&#xff0c;stack的接口 queue的接口 &#xff0c;關于stack與queue的接口在這里不做講解&#xff0c;因為通過前面的對STL的學習&#xff0c;這些接口都是大同小異的。 …

STM32智能手表:基于FreeRTOS

引言 隨著物聯網和可穿戴設備的快速發展&#xff0c;智能手表作為典型代表&#xff0c;集成了傳感器數據采集、實時顯示、無線通信等多項功能。本文將深入剖析一個基于STM32和FreeRTOS的智能手表項目&#xff0c;從硬件架構到軟件設計&#xff0c;逐步講解如何構建一個完整的嵌…

leetcode504.七進制數

標簽&#xff1a;進制轉換 機試真題 給定一個整數 num&#xff0c;將其轉化為 7 進制&#xff0c;并以字符串形式輸出。 示例 1: 輸入: num 100 輸出: "202" 示例 2: 輸入: num -7 輸出: "-10" 思路&#xff1a;求n進制就是循環取余數&#xff0c;…