- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将与每个端口关联的检测到的设备信息( struct rte_eth_dev_info dev_info 类型的 dev_info )与配置的 pci 设备地址详细信息( struct rte_pci_addr pciaddr 类型)进行比较。
for (port = 0; port < nb_sys_ports; port++) {
rte_eth_dev_info_get(port, &dev_info);
}
但是在struct struct rte_eth_dev_info中,字段rte_pci_device *pci_dev已被字段struct rte_device *device替换。那么如何从rte_device获取rte_pci_device详细信息。
最佳答案
DPDK现在支持非PCI总线,所以有点复杂。但例子仍然很少。这是 Ethtool 的片段:
struct rte_pci_device *pci_dev;
rte_eth_dev_info_get(port_id, &dev_info);
if (dev_info.device)
bus = rte_bus_find_by_device(dev_info.device);
if (bus && !strcmp(bus->name, "pci")) {
pci_dev = RTE_DEV_TO_PCI(dev_info.device);
snprintf(drvinfo->bus_info, sizeof(drvinfo->bus_info),
"%04x:%02x:%02x.%x",
pci_dev->addr.domain, pci_dev->addr.bus,
pci_dev->addr.devid, pci_dev->addr.function);
}
基本上我们得到了DPDK端口的总线。如果是 PCI,则可以安全地使用 RTE_DEV_TO_PCI()
宏。该宏返回一个指向 struct rte_pci_device 的指针,其中包含 PCI 地址。
关于c - 如何从 dpdk 18.08 中的 rte_device 获取 rte_pci_device 详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54049208/
我有一个使用 DPDK 的程序,我正在使用示例中提供的 Makefile 编译它。 如果我将程序编译为 APP(如描述 here ),一切顺利出色地。但是,我的代码是一个更大项目的一部分,为此使用单独
我是英特尔 DPDK 的新手。我打算编写一个 http 网络服务器。 是否可以使用DPDK使用以下逻辑实现? 获取数据包并将其发送到 Worker 逻辑核心。 客户端发送的工作逻辑核心构建“http
我用的是centos 7.3。当我运行 insmod igb_uio.ko 时,我在/var/logs/message 中收到此错误: igb_uio:加载树外模块污染内核。 警告:模块“igb_ui
我已按如下方式配置 NIC 卡:- [root@localhost ethtool]# ../../tools/dpdk-devbind.py -s Network devices using DPD
我尝试使用 ovs-vsctl 将 PCI 接口(interface) (I219-V) 添加到 OVS 桥,但没有成功: root@pc:/home/me# ovs-vsctl add-port b
当我使用 dpdk-devbind.py 绑定(bind) X710 的网络端口时。我得到错误: 错误:0000:20.00.0 的绑定(bind)失败 - 无法绑定(bind)到驱动程序 uio_p
我一直在尝试从 rx 队列接收数据包,修改它们并将它们发送到 tx 队列。目前我被困在数据包修改上。 我的观察和问题: 1) 我发现有函数操纵 mbufs,其中包含 pkt 数据: 添加数据: rte
我有一个四端口 Intel 1G 网卡。我正在使用 DPDK 在一个物理端口上发送数据并在另一个物理端口上接收数据。 我在 DPDK 代码中看到了一些示例,但无法使其工作。如果有人知道如何做到这一点,
我正在尝试使用连接到OVS(openvswitch)和ubuntu 18.04(VMWare工作站)上的DPDK的Iperf3(任何吞吐量测试器应用程序)来测试两个docker容器之间的吞吐量。这样做
我已在 Ubuntu 16.04.2 系统上设置了 DPDK 17.08.01。我已遵循涉及 HugePages 设置的指南。我设置了 2048 个 HugePages(每个 NUMA 核心 1024
我正在运行 DPDK 应用程序,为此我使用脚本分配大页面。分配和启动应用程序很好。但是后来当我停止应用程序并通过删除挂载点并在 numa 系统的 nr_hugepages 下修改来释放大页面时。 稍后
据我所知,DPDK 代码示例对整个应用程序(或给定端口的所有队列)使用单个 rte_mempool。 假设所有 EAL 线程只与它们自己的 RX/TX 队列交互,是否建议每个 lcore/队列有一个内
无法使用来自辅助进程的现有 rte Hash: h = rte_hash_find_existing("some_hash"); if (h) { // this will w
我使用的是 DPDK 1.7,并按照“快速入门指南”和“运行示例应用程序”文档中提到的所有步骤来编译和执行名为“load_balancer”的示例应用程序。 Load_balancer 应用程序包含某
我有一个使用 dpdk 内存池的 Linux 应用程序。我正在尝试分配一个内存池,其中包含 8000000 个 24 字节的对象。当在内存池创建中没有MEMPOOL_F_NO_CACHE_ALIGN
我确实对 DPDK 有一些经验,但目前我正在阅读许多关于 XDP 的博客。我试图比较这两种技术并了解 DPDK 和 XDP 之间的差异。这提出了一些问题。我希望有人可以帮助我解决以下问题: 使用 DP
我在运行基于 dpdk 的应用程序时遇到一些错误。我发现调用dpdk库提供的rte_eth_dev_configure()函数时出现错误。错误代码为-22。但是,我希望应用程序显示更多调试信息,以便我
我将这些数据包保存在 pcap 文件中(在 wireshark 中显示) 我正在使用 DPDK 解析这些数据包,但出于某种原因我无法使用 mbufs。要使用 struct ipv4_hdr 解析它们,
我想绕过 Linux 网络堆栈并将原始数据包转换为我在 userland 中的自定义代码并在那里处理它们。 我知道您可以使用 pf-rings 或 DPDK 等来制作您的自定义驱动程序。但是我不明白为
我有一个基于 DPDK 的网络应用程序,适用于基于 Linux 的系统。我想将它移植到 netmap 以克服我使用基于 Intel 的 NIC 的限制。在我基于 DPDK 的应用程序中,我使用了 DP
我是一名优秀的程序员,十分优秀!