Network-Interface

如何獲取特定網路介面的設備 ID?

  • July 13, 2021

我這裡有 2 個類似的雙埠網卡。兩者都是由英特爾製造的,但一個是惠普品牌,另一個是英特爾品牌。兩者的供應商/設備 ID 不同。

我可以使用以下方法獲取設備 ID:

lspci -nn -vvv | grep Ethernet

但我不知道如何將特定設備 ID 關聯到網路介面。我知道我可以解除安裝一張卡並讓另一張保留,但安裝兩張卡時仍然無法幫助我。

我已經搜尋了網路,我沒有看到任何有用的東西。謝謝

例子:

eth2 belongs to 
04:00.0 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) [8086:10bc] (rev 06)
   Subsystem: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper) [8086:000a]

eth3 belongs to
04:00.1 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller [8086:105e] (rev 06)
Subsystem: Intel Corporation 82571EB Gigabit Ethernet Controller [8086:000a]

我有來自 2 個具有相同供應商/設備 ID 的設備的 2 個乙太網埠。我可以通過比較中斷分配將 pci 插槽與介面名稱匹配。我不確定您是否能夠做到這一點,因為您似乎有一個可能共享中斷的多功能設備。

就我而言:

$ lspci -s 03:00.0 -vv | grep Interrupt
    Interrupt: pin A routed to IRQ 31
$ lspci -s 05:00.0 -vv | grep Interrupt
    Interrupt: pin A routed to IRQ 32

並且匹配的介面 p4p1 或 p4p2 在以下的第一列和最後一列中找到:

$ cat /proc/interrupts 
          CPU0       CPU1       
31:   47757902  108675810   PCI-MSI 1572864-edge      p4p1
32:   25923809   86364594   PCI-MSI 2621440-edge      p4p2

引用自:https://unix.stackexchange.com/questions/301876