como obtenho o ID do dispositivo para uma interface de rede específica?

1

Eu tenho 2 NICs de porta dupla semelhantes aqui. Ambos são fabricados pela Intel, mas um é da marca HP e o outro é da marca Intel. O fornecedor / ID do dispositivo para ambos são diferentes.

Eu posso obter o ID do dispositivo usando:

lspci -nn -vvv | grep Ethernet

MAS não sei como associar um ID de dispositivo específico a uma interface de rede. Eu sei que posso desinstalar uma placa e deixar a outra permanecer, mas ainda assim não poderei me ajudar quando ambas as placas estiverem instaladas.

Eu pesquisei na internet e não vi nada de útil. Obrigado

exemplo:

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]
    
por mrjayviper 07.08.2016 / 14:53

1 resposta

1

Eu tenho duas portas ethernet de dois dispositivos com o mesmo ID de fornecedor / dispositivo. Eu posso combinar o slot pci para o nome da interface, comparando a atribuição de interrupção. Não tenho certeza de que você será capaz de fazer isso, já que parece ter um dispositivo multifuncional que pode compartilhar uma interrupção.

No meu caso:

$ 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

E a interface correspondente p4p1 ou p4p2 é encontrada nas primeiras e últimas colunas de:

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