O driver FreeBSD ixgbe não está funcionando

3

Recentemente, adquiri um novo servidor Dell PowerEdge R610, instalei o VMWare ESXi 5.0 nele e tentei instalar o FreeBSD como sistema operacional convidado para cache de squid.

O servidor tem uma porta dupla PCI-E Intel X520-T2 de 10 Gigabit de placa de rede, que se destina a ser usada para transferência de dados em alta velocidade entre servidores de gateway e cache, mas estou tendo problemas para fazê-lo funcionar no FreeBSD .

Inicialmente instalei duas caixas FreeBSD e adicionei a placa de 10gig como e1000 a ambas, mas funcionou, mas aparentemente com apenas 1gig / s de desempenho, o que é muito ruim. Então eu tentei adicionar o NIC como VMxNet2 e VMxNet3, eles não funcionaram porque o VMWare-Tool para FreeBSD foi quebrado no FreeBSD 9, e o open-vm-tools compilou, instalou e nem mesmo detectou a interface para razão desconhecida.

Então, finalmente, descobri que o passthrough pode ser uma ótima idéia e configurei o VMWare ESXi para passar as duas interfaces de 10gig e as adicionei como dispositivos PCI às minhas caixas do FreeBSD. Eu pensei assim que o FreeBSD deveria detectar o hardware e atribuir um driver adequado para o NIC, mas isso não aconteceu.

O problema que estou conseguindo é que eu tentei recompilar o kernel com o dispositivo ixgbe ativado, o sistema detectou o dispositivo corretamente, atribuiu a versão do driver 2.3.3 e consegui ver a interface ix0 do ifconfig. Mas eu não consigo pingar, não consigo me conectar a nada, já que o status do dispositivo é "sem portadora". Eu pesquisei a mensagem de erro e verifica-se que é um problema de driver, então eu baixei a versão mais recente do ixgbe do site oficial da Intel, compilado e instalado o driver, agora o sistema pode detectar e atribuir driver 2.4.4 para a interface, mas eu ainda estou recebendo nenhuma mensagem transportadora.

Eu não tenho acesso ao servidor agora, então não posso fornecer nenhuma saída, atualizarei minha pergunta assim que obtiver os logs.

BTW, eu acredito que o FreeBSD que eu tenho é o mais novo, o FreeBSD9-Stable, com o src atualizado em 16 de fevereiro de 2012.

PS. Eu tentei instalar a versão do FreeBSD 9 Release com o GENERAL kernel, mesmo problema.

Alguém poderia me fornecer qualquer link, pensamento ou método de solução de problemas, muito obrigado.

Atenciosamente, Hai Lang

Aí vem as saídas do servidor.

OmniSquid# dmesg | grep ix0
ix0: port 0x4000-0x401f mem 0xd2600000-0xd27fffff,0xd2400000-0xd2403fff irq 18 at device 0.0 on pci3
ix0: Using MSIX interrupts with 5 vectors
ix0: Ethernet address: 00:1b:21:d8:d7:b2
ix0: PCI Express Bus: Speed 5.0Gb/s Unknown

OmniSquid# pciconf -l -cv | grep ix
ix0@pci0:3:0:0: class=0x020000 card=0xa03c8086 chip=0x151c8086 rev=0x01 hdr=0x00

OmniSquid# ifconfig ix0
ix0: flags=8843 metric 0 mtu 1500
options=401bb
ether 00:1b:21:d8:d7:b2
inet 10.10.10.1 netmask 0xffffff00 broadcast 10.10.10.255
inet6 fe80::21b:21ff:fed8:d7b2%ix0 prefixlen 64 scopeid 0x4
nd6 options=29
media: Ethernet autoselect
status: no carrier

Outra descoberta interessante, o driver padrão 2.3.1 que vem com o kernel do FreeBSD 9 não parece detectar o tipo de mídia.

OmniSquid# dmesg | grep ix0
ix0: port 0x4000-0x401f mem >0xd2600000-0xd27fffff,0xd2400000-0xd2403fff irq 18 at device 0.0 on pci3
ix0: Using MSIX interrupts with 5 vectors
ix0: Ethernet address: 00:1b:21:d8:d7:b2
ix0: PCI Express Bus: Speed 5.0Gb/s Unknown

OmniSquid# ifconfig ix0 10.10.10.1 netmask 255.255.255.0 media
ifconfig: 'media' requires argument

OmniSquid# ifconfig -m ix0
ix0: flags=8843 metric 0 mtu 1500
options=401bb
capabilities=505bb
ether 00:1b:21:d8:d7:b2
nd6 options=29
media: Ethernet autoselect
status: no carrier
supported media:
media autoselect
media autoselect

Mas o que eu baixei da Intel pode detectar

ix0: port 0x4000-0x401f mem 0xd2600000-0xd27fffff,0xd2400000-0xd2403fff irq 18 at device 0.0 on pci3
ix0: Using MSIX interrupts with 5 vectors
ix0: Ethernet address: 00:1b:21:d8:d7:b2
ix0: PCI Express Bus: Speed 5.0Gb/s Unknown

OmniSquid# ifconfig -m ix0
ix0: flags=8843 metric 0 mtu 1500
options=401bb
capabilities=505bb
ether 00:1b:21:d8:d7:b2
nd6 options=29
media: Ethernet autoselect
status: no carrier
supported media:
media autoselect
media 10Gbase-T

Eu li aqui que talvez o driver não tente negociar automaticamente, então eu tentei definir manualmente o tipo de mídia para a interface.

OmniSquid# ifconfig ix0 10.10.10.1 netmask 255.255.255.0 media 10Gbase-T
ifconfig: SIOCSIFMEDIA (media): Invalid argument

E o dmesg exibe

ix0: Only auto media type
ix0: Only auto media type
ix0: Only auto media type

OmniSquid# ifconfig ix0 10.10.10.1 netmask 255.255.255.0 media 10Gbase-T mediaopt full-duplex
ifconfig: SIOCSIFMEDIA (media): Device not configured

OmniSquid# ifconfig ix0 10.10.10.1 netmask 255.255.255.0 media 10Gbase-T mediaopt full-duplex mtu 1500
ifconfig: SIOCSIFMEDIA (media): Device not configured

E eu instalei duas VMs Linux usando o mesmo hardware, o mesmo driver (oficial da Intel) e os mesmos cabos, e funciona perfeitamente, então tem que haver algo errado com a minha configuração ou com o driver em si.

    
por Lang Hai 16.02.2012 / 05:54

0 respostas