Linux 如何将网络数据包发送到特定的pci地址?

Linux 如何将网络数据包发送到特定的pci地址?,linux,networking,pci,Linux,Networking,Pci,我在一个有多个双端口网卡的服务器上工作。每个端口在PCI总线上都有不同的地址 我使用nping通过给定逻辑名称的网络接口发送数据包(例如eth0),但我希望能够通过给定PCI地址的接口发送数据包(例如0000:00:07.0)。我怎样才能做到呢 sudo lshw-C网络提供: *-网络:0无人认领 描述:以太网控制器 product: 82599ES 10-Gigabit SFI/SFP+ Network Connection vendor: Intel Corporation

我在一个有多个双端口网卡的服务器上工作。每个端口在PCI总线上都有不同的地址

我使用
nping
通过给定逻辑名称的网络接口发送数据包(例如
eth0
),但我希望能够通过给定PCI地址的接口发送数据包(例如
0000:00:07.0
)。我怎样才能做到呢

sudo lshw-C网络提供:

*-网络:0无人认领
描述:以太网控制器

   product: 82599ES 10-Gigabit SFI/SFP+ Network Connection
   vendor: Intel Corporation
   physical id: 0
   bus info: pci@0000:01:00.0
   version: 01
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi msix pciexpress vpd bus_master cap_list
   configuration: latency=0
   resources: memory:dfd20000-dfd3ffff ioport:8020(size=32) memory:dfd44000-dfd47fff memory:def00000-deffffff memory:dee00000-deefffff

您必须将pci地址映射到其逻辑名称。坦率地说,我已经做到了,但这似乎起到了作用

运行
sudo lshw-C网络

您应该得到如下内容():


这里有接口的名称(
逻辑名称:ath0
)和总线信息,包括地址(
总线信息:pci@03:00.0
)。现在,您所要做的就是解析这两个地址,并查找您感兴趣的pci地址的逻辑名称。

因此,您希望将pci地址(如“0000:00:07.0”)映射到设备名称(如“eth0”)?是的。有没有办法这样做?特定pci地址的逻辑名称不会显示。我已经更新了显示您给出的命令输出的问题。谢谢
*-network
       description: Wireless interface
       product: AR5212 802.11abg NIC
       vendor: Atheros Communications, Inc.
       physical id: 1
       bus info: pci@03:00.0
       logical name: ath0
       version: 01
       serial: 00:11:95:50:be:62
       width: 32 bits
       clock: 33MHz
       capabilities: bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ath_pci driverversion=0.9.6.0 (EXPERIMENTAL) ip=192.168.1.12 multicast=yes wireless=IEEE 802.11g
       resources: iomemory:10800000-1080ffff irq:11