博主测试环境:centos 7.2
一、dpdk编译动态库
dpdk默认编译的是静态库,只需要修改config目录下的
common_base文件

CONfig_RTE_BUILD_SHARED_LIB=n
改为
CONfig_RTE_BUILD_SHARED_LIB=y
即可

是不是很简单?

提示No Ethernet ports - bye

查看l2fwd的源代码发现是rte_eth_dev_count函数 返回0
这个函数是枚举当前绑定到dpdk驱动上的网口数,怎么会为0呢?

DPDK编译成动态库后,PMD的各个驱动就单独编译成了一个个的.so文件,而在应用程序中没有指定需要链接的.so文件,因此就导致了检测不到端口的问题。

PMD有好几种驱动,为了更好的移植性,建议在Makefile中指定链接所有驱动的.so文件
LDLIBS += -lrte_pmd_e1000 -lrte_pmd_i40e -lrte_pmd_ixgbe

添加后的Makefile文件如上图。

当然,还可能是由于其他原因,如下: 1.当前网卡不支持 2.动态库的版本不一致,这种情况出现在升级时很平常

dpdk编译动态库后rte_eth_dev_count函数 返回0的更多相关文章

  1. xcode – 如何正确设置运行路径,搜索路径和安装名称?

    任何人对我可能做错了什么有什么想法?

  2. ios – OS X:将.dylib转换为.a / .o(动态到静态)?

    假设我已经阅读了thiscaveat,我仍然希望将TBB用作静态链接库.但我真的不想重写TBBmakefile来生成libtbb.a而不是libtbb.dylib.是否有一个简单的命令行方式将libtbb.dylib转换为libtbb.o并使用相同的入口点?

  3. 如何在iOS上使用嵌入式专用框架和应用程序中的静态库

    在私有框架,应用程序和扩展中使用静态库中的类的正确方法是什么?

  4. Swift vs Objective-C:未来看好 Swift 的十个理由

    Swift将Objective-C头文件(.h)和实现文件(.m)合并成了一个代码文件。程序员在Objective-C上会遇到的大量内存溢出问题在Swift上是不可能的。在Objective-C中,使用文本字符串将两块信息组合起来的操作非常繁琐。Swift采用当代编程语言的特性,比如使用“+”操作符将两个字符串加到一起,这在Objective-C中是没有。

  5. Swift学习笔记之公用库和模块化

    静态库和动态库先补充一下静态库和动态库的知识。静态库静态库的代码追加到可执行文件内,被多次使用就有多份冗余拷。iOS中静态库的形式是.a和.framework。不过各个应用所使用的自己的公用库,最终都需要link进可执行文件,所以本质上还是一个静态库。现状出于安全层面的考虑,AppStore不允许使用第三方的动态链接库。我们可以通过framework编写自己的公用库。iOS-Universal-Framework也宣布停止更新。模块模块化是在2012年的LLVMDevelopersMeeting中提出的。

  6. Swift vs. Objective-C:未来看好 Swift 的十个理由

    Swift将Objective-C头文件(.h)和实现文件(.m)合并成了一个代码文件。程序员在Objective-C上会遇到的大量内存溢出问题在Swift上是不可能的。在Objective-C中,使用文本字符串将两块信息组合起来的操作非常繁琐。Swift采用当代编程语言的特性,比如使用“+”操作符将两个字符串加到一起,这在Objective-C中是没有。

  7. Swift 创建framework并应用到项目中

    iOS8已经开放了动态库的权限。创建动态库并能运用到兼容iOS7的项目中!Carthage&CocoaPods0.36对Swift也仅以Framework的方式来支持。更多参见:LibraryvsFrameworkiniOSSwift不在支持静态库,这也就间接放弃了iOS7。Framework就是一个Bundle,将所有的资源(nib,Images,Fonts…理论上动态库可以单独更新,只是在iOS上Apple未开放这样的权限。创建Framework项目CodingtheFrameworkAccessle

  8. Project Perfect让Swift在服务器端跑起来-在Linux上创建你的Perfect项目(三)

    前两篇,分别讲述了入门和在Linux下部署,现在得说说如何在Linux下开发了。在Linux下开发,相对比在Mac下开发更灵活。我们先来看看构建基于Perfect的网站服务的编译方式如图通过引用基础库PerfectLib和数据链接,中间件模块创建你的网页文件,并用makefile打包生成你的网站动态库。所以如果你只是在Linux下构建项目,你只需要先创建好你的Handlers.swift即可。根据上面的方式我们开始在Linux下创建我们的Perfect项目。这里我在Perfect文件夹创建了一个Demo文

  9. Project Perfect让Swift在服务器端跑起来-在Linux上创建你的Perfect项

    前两篇,分别讲述了入门和在Linux下部署,现在得说说如何在Linux下开发了。在Linux下开发,相对比在Mac下开发更灵活。我们先来看看构建基于Perfect的网站服务的编译方式如图通过引用基础库PerfectLib和数据链接,中间件模块创建你的网页文件,并用makefile打包生成你的网站动态库。所以如果你只是在Linux下构建项目,你只需要先创建好你的Handlers.Swift即可。根据上面的方式我们开始在Linux下创建我们的Perfect项目。

  10. Swift vs. Objective-C:未来看好Swift的十个理由

    Swift将Objective-C头文件(.h)和实现文件(.m)合并成了一个代码文件。程序员在Objective-C上会遇到的大量内存溢出问题在Swift上是不可能的。在Objective-C中,使用文本字符串将两块信息组合起来的操作非常繁琐。Swift采用当代编程语言的特性,比如使用“+”操作符将两个字符串加到一起,这在Objective-C中是没有。

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部