dpdk21.11 添加igb_uio模塊

来源:https://www.cnblogs.com/qz652219228/archive/2022/09/24/16712813.html
-Advertisement-
Play Games

dpdk21.11 已經刪除了 igb_uio 模塊, 如果需要添加 需要提前下載 igb_uio 模塊,根據官網提供的下載鏈接,下載地址如下 IGB_UIO模塊 兩種添加方式 添加到文件中,然後再次編譯(編譯出來的結果與之前版本一致(19.11那種,直接在)) 直接編譯,不往文件中放,生成的IGB ...


目錄


dpdk21.11 已經刪除了 igb_uio 模塊,
如果需要添加 需要提前下載 igb_uio 模塊,根據官網提供的下載鏈接,下載地址如下

IGB_UIO模塊 兩種添加方式

  1. 添加到文件中,然後再次編譯(編譯出來的結果與之前版本一致(19.11那種,直接在))

  2. 直接編譯,不往文件中放,生成的IGB_UIO模塊 效果一樣

零、 下載IGB_UIO模塊

IGB_UIO模塊官網提供的下載鏈接
IGB_UIO下載示例圖片

一、 直接添加到文件中

解壓上面下載的 dpdk-kmods-main.tar.gz
添加修改 對應的模塊,設置對應參數

1.1 複製 dpdk-kmods/linux/igb_uio/ 到 dpdk-stable-21.11.1/kernel/linux/ 目錄下

cp dpdk-kmods-main/linux/igb_uio/ ../dpdk-stable-21.11.1/kernel/linux/ -r

1.2 修改 meson.build 代碼

vi dpdk-stable-21.11.1/kernel/linux/meson.build +4
---
subdirs = ['kni', 'igb_uio']            #修改: 添加 igb_uio

1.3 創建 igb_uio 模塊的編譯代碼

創建文件 meson.build 在 dpdk*/kernel/linux/igb_uio/ 目錄下
添加如下代碼到 新創建的 meson.build 文件中
# ----start----
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation

mkfile = custom_target('igb_uio_makefile',
  output: 'Makefile',
  command: ['touch', '@OUTPUT@'])

custom_target('igb_uio',
  input: ['igb_uio.c', 'Kbuild'],
  output: 'igb_uio.ko',
  command: ['make', '-C', kernel_dir + '/build',
    'M=' + meson.current_build_dir(),
    'src=' + meson.current_source_dir(),
    'EXTRA_CFLAGS=-I' + meson.current_source_dir() +
    '/../../../lib/librte_eal/include',
    'modules'],
  depends: mkfile,
  install: true,
  install_dir: kernel_dir + '/extra/dpdk',
  build_by_default: get_option('enable_kmods'))       

# ----end----

1.4 添加IGB_UIO的編譯使能

修改 dpdk-stable-21.11.1/meson_options.txt  文件
---
21行 enable_kmods   value值 變成 true

1.5 添加 kernel_dir 的定義

在 dpdk-stable-21.11.1/meson.build +15  添加 kernel_dir 的定義
---
    kernel_version = run_command('uname', '-r').stdout().strip()
    kernel_dir = '/lib/modules/' + kernel_version

1.6 執行編譯

export RTE_SDK=/home/qxy/suricata-dpdk/dpdk-stable-21.11.1/                     # 根據實際目錄自行修改
export RTE_TARGET=x86_64-native-linuxapp-gcc                                    # 這個也可以隨便改
meson build
meson configure build -Dprefix=/home/qxy/suricata-dpdk/dpdk-stable-21.11.1/x86_64-native-linuxapp-gcc  #跟上面RTE變數同步
ninja install -C ./build

--- 編譯添加完成 --- 收工 --- 下班


二、 外部直接編譯

2.1 下載 IGB_UIO 模塊

下載地址同上

2.2 進入目錄,直接make

igb_uio 目錄下的 MakeFile 可以直接用,啥都不用乾

cd dpdk-kmods-main/linux/igb_uio/
make

收工--下班

後記

其實還是 第二種 更方便
如果修改某些代碼再次編譯的話,直接執行 ninja install -C ./build 這個就能重新構建出來個新的


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下生成鏡像文件的方法及其與IAR,MDK差異。 痞子衡很久以前寫過一篇文章 《ARM Cortex-M鏡像文件(.bin/.hex/.s19)》,詳細介紹了三種流行的鏡像文件格式,這些鏡像文件不同於可執行文件 ...
  • 痞子衡嵌入式半月刊: 第 63 期 這裡分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時發佈一期。 本期刊是開源項目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。 上期回顧 ...
  • 前幾天裝了幾台linux伺服器,安裝操作系統的時候,選擇了預設磁碟分區,結果導致後面主目錄分區空間不夠用了,需要把其他分區的空間劃分給主分區一點。 下麵以CentOS6.5演示: 一、查看當前系統的磁碟分佈: df -h 發現root分區只有50G,home分區有864G。那麼我需要將850G的容量 ...
  • 進程間通信(Interprocess Communication,IPC)是指兩個或者多個進程之間進行數據交換的過程 ==進程擁有獨立的記憶體空間== 類別 簡單進程間通信 命令行參數(向子進程傳遞和exec系列函數) 這裡可以這麼理解:在創建子進程的時候,命令行參數是共用的 可以通過fork 的返回 ...
  • 本文主要介紹 aardio + AutoHotkey 混合編程。 在 aardio 中可以調用很多編程語言,例如 C語言、C++、C#、Java、Python、R、Javascript、Node.Js、Fortran、VB、Flash ActionScript、PHP、VBScript、PowerS ...
  • cobbler cobbler簡介 Cobbler是一個Linux伺服器安裝的服務,可以通過網路啟動(PXE)的方式來快速安裝、重裝物理伺服器和虛擬機,同時還可以管理DHCP,DNS等。 Cobbler可以使用命令行方式管理,也提供了基於Web的界面管理工具(cobbler-web),還提供了API ...
  • cobbler部署 #先關閉防火牆和selinux [root@localhost ~]# systemctl disable firewalld [root@localhost ~]# setenforce 0 //cobbler服務,selinux必須得是disabled狀態,所以要重啟 [ro ...
  • top 主要用於查看 Linux系統中的所有進程 top 詳解 及 使用 上面的top top - 04:27:03 up 6 days, 23:25, # top 系統運行時間 2 users, # 用戶個數 load average: 0.00, 0.00, 0.00 # 平均負載 Tasks: ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...