5 longyu_wlz

尚未进行身份认证

linux music writing

等级
TA的排名 4w+

Unsupported SFP+ Module

问题描述ixgbe 网卡使用了不兼容的光模块后,dpdk 程序启动报 Unsupported SFP+ Module 错误,程序无法正常工作。dpdk 的不同版本对光模块的兼容性存在着差别,不同版本的 dpdk 支持的光模块型号是不同的。dpdk ixgbe pmd allow_unsupported_sfp 参数dpdk 中的 ixgbe 驱动设置允许使用不支持的 sfp 模块。在 eth_ixgbe_dev_init 函数中有如下语句:hw->allow_unsupported_sf

2020-05-23 15:00:43

dpdk 编译 debug 版本

命令行指定 CFLAGS 不生效dpdk 的 Makefile 中有对 CFLAGS 的设定,在很多 Makefile 单独设定了 CFLAGS 增加 -O3 参数。下面是 dpdk-17.05 中一些 Makefile 在 CFLAGS 标志中增加 O3 的语句。......../lib/librte_reorder/Makefile:37:CFLAGS += -O3./drivers/net/fm10k/Makefile:39:CFLAGS += -O3./drivers/net/tap/M

2020-05-13 22:15:26

dpdk 库源码中包含 linux/version.h的问题

普通程序使用 linux 内核头文件的问题。将 eal_vfio.h 源码修改为如下内容:#ifdef RTE_EAL_VFIO#include <linux/version.h>#define LINUX_VERSION_CODE 200739#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8...

2020-05-13 21:26:39

2.6.39 内核编译 i40e 官方驱动进行测试

在 2.6.39 内核上编译 i40e 官方驱动i40e 驱动未合入 2.6.39 内核中,需要单独编译。从如下地址下载 2.4.6 版本的 i40e 官方驱动:https://sourceforge.net/projects/e1000/files/i40e%20stable/2.4.6/下载后加压 tar 包,查看 Makefile 的信息,重点关注如下内容:obj-$(CONFIG...

2020-04-27 09:40:18

将网卡绑定到官方驱动进行测试

将网卡绑定到官方驱动进行测试对于网卡的一些异常情况,常常需要使用官方驱动进行相同的测试以确认问题。本文叙述了将网卡绑定到官方驱动进行测试的过程。网卡解绑定1. lsof /dev/uio* 找到使用 /dev/uioX 设备文件的产品程序。Develop> lsof /dev/uio*COMMAND PID USER FD TYPE DEVICE SIZE/OFF ...

2020-04-27 09:34:40

给 release 程序添加 debug 信息来调试

release 的程序一般会 strip 掉多余的信息,调试信息更不会放在 release 程序中。但是有时候我们需要调试 release 程序,在一些情况下我们可能无法重新编译一个版本更换当前的版本,这时候可以考虑动态添加 debug 信息。具体的过程这个操作是通过 objcopy 程序来完成的。首先我们需要用相同的源代码编一个带调试信息的版本,然后使用 objcopy 程序来将 debug...

2020-03-31 22:51:12

全局变量如何访问

全局变量如何访问

2020-03-30 21:53:41

解初始化函数放在程序的哪里执行及其限制条件

kill -9 发送的 SIGatexit 函数注册的函数是否被调用#include <stdio.h>#include <stdlib.h>#include <unistd.h>static void my_exit1(void);static void my_exit2(void);intmain(void){ if (atexit(...

2020-03-28 14:54:28

如何使用内核接口给 dpdk 绑定的端口发包

两个口硬件上连接起来。软件上一个口绑定到内核驱动,一个口绑定 dpdk 驱动。使用 l2fwd 程序指定绑定到 dpdk 的口收发包。通过指定的端口发包ping 命令的 -I 选项支持指定收发包的 netdev 端口。使用 ping -I eth0 192.234.234.23...

2020-03-21 12:54:27

error: ‘__ATOMIC_RELAXED’ undeclared (first use in this function)

编译 dpdk-20.02 时,有如下报错信息:error: ‘__ATOMIC_RELAXED’ undeclared (first use in this function)error: ‘__ATOMIC_ACQUIRE’ undeclared (first use in this function)error: ‘__ATOMIC_RELAXED’ undeclared (first...

2020-03-21 11:31:15

获取发行版使用的内核源码

rpm可以在如下链接进行搜索:可以执行如下命令下载yumdownloader --source kernelapt-get使用如下命令下载内核源码:sudo apt-get install linux-source一个具体的示例如下:longyu@longyu-pc:~/dpdk_learning$ sudo apt-get install linux-source[su...

2020-03-08 18:08:23

cscope 相关笔记

cscope 相关笔记cscope 可以用来解析 c 代码,生成引用信息,用户通过查询引用信息来在代码中进行跳转。使用步骤如下:find 寻找待 index 的文件,并将文件列表写入到 cscope.files 文件中。调用 cscope 命令生成引用表 cscope.out。emacs 可以安装 cscope 插件与 cscope 进行交互。可以使用的命令如下: C-c s s...

2020-03-08 18:03:45

linux 中查看中断被谁占用的问题

linux 中查看中断被谁占用

2020-01-23 17:15:28

sed处理xshell软件记录的日志文件的编码问题

UTF-16 编码造成 sed 无法正常工作昨天在使用 sed 替换一个文件中的内容时,发现 sed 无法正常工作。将文件上传到虚拟机中,执行同样的命令仍旧不能正常工作,一度让我怀疑自己是不是把命令记错了。使用了非常简单的删除命令发现也不能正常工作,让人有点无语。这之后又用一个系统中的正常文件进行测试,发现 sed 可以正常工作,我感到非常的不解。文件编码的问题搞了一会,使用 cat -...

2020-01-23 04:36:11

多次 ifconfig down 无效的问题

old_flags != flags and IFF_UP bit is set.xor在内核中,ifconfig up、down 最终调用的关键代码如下: if ((old_flags ^ flags) & IFF_UP) { if (old_flags & IFF_UP) __dev_close(dev); else ret = __dev_ope...

2019-12-31 09:26:41

Vim: Warning: input is not from a terminal 后退出 vim 终端异常

Vim: Warning: input is not from a terminal 后退出 vim 终端异常今天执行了如下命令调用 vi 来打开 find 搜索到的文件:longyu@longyu-pc:~$ find ./ -name 'linux-kernel-ixgbe-commit-log' | xargs vi 执行了上述命令之后,Vim 打印了下面的警告信息:Vim: ...

2019-12-22 09:49:55

调试 c 程序的轻便工具,应该使用 IDE 还是命令行?

使用 IDE 还是命令行?前几天舍友问我有没有调试 c 程序的轻便工具。我想他是需要一套编译与调试的工具。问题中的轻便工具让我想起了 VS,也许 VS 是一个不错的工具,只是很难将它与这里的轻便二字联系起来。我首先建议他使用我的服务器,在服务器上使用 gcc 编译代码,使用 gdb 调试代码。我觉得这种方案可行,然后就让他先安装一个 xshell 与 xftp,这样就可以在本地编写代码,编写...

2019-12-21 10:34:25

gui 应用开发中控制复杂度

gui 应用开发中控制复杂度gui 程序中,控制复杂度是非常重要的。前端、gui 框架、后端代码,这几部分结合到一起,其复杂性不言而喻。在开发 gui 程序时,从一开始就要注意控制好复杂度,为后续的开发奠定一个良好的基础。gui 程序中常常有很多的图片资源,不同的图片在页面中表示不同的功能。图片的命名最好与功能紧密结合,这远远比起一些没有任何意义的名字更好。当我们发现前端中图片的显示或者切换出...

2019-12-21 10:28:09

ethtool 读到的状态与 dpdk 读到的网卡状态不一致

ethtool 读到的链接状态使用 ethtool 读取网卡链接状态的一个示例如下:longyu@longyu-pc:~$ sudo /sbin/ethtool ens37 [sudo] password for longyu: Settings for ens37: Supported ports: [ TP ] Supported link modes: 10baseT/Hal...

2019-12-16 21:52:24

gcc 静态链接与动态链接

将下面的代码保存为 test_linking.c 的文件。#include <stdio.h>int main(int argc, char* argv[]){ printf("hello world\n"); return 0;}1. 进行动态链接gcc 编译的默认方式就是使用动态链接,这里我们直接编译即可。longyu@longyu-pc:~/The_Prog...

2019-12-10 23:10:18

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。