CodingBox Documentação

Compatibilidade de transceptores em NICs: listas brancas de driver

Num switch, a política de módulos é uma linha no NOS; num servidor, é uma decisão tomada pelo driver e pelo firmware da NIC, e ela varia por fabricante, por sistema operacional e por versão de driver. Os adaptadores Intel são os que recusam módulos fora da lista; a maioria dos outros aceita qualquer coisa que seja interpretável. Esta página lista o comportamento por fabricante e SO, os contornos documentados, as regras de FEC/ autonegociação que decidem se o DAC e as ópticas estabelecem enlace, e o que uma identidade codificada precisa satisfazer do lado do servidor.

Comportamento por fabricante

Fabricante / driverVerificaçãoEm caso de falhaContornoNotas
Intel ixgbe (X520, X540, X550 SFP+)lista de OUI/PN de fabricante dos SFP+ qualificados pela Intelfailed to load because an unsupported SFP+ or QSFP module type was detected, porta downparâmetro de módulo allow_unsupported_sfp=1 (Linux); recarregar o driverDAC geralmente aceito; SFPs de 1G limitados
Intel i40e (X710, XXV710, XL710)qualificação do módulo em nível de firmwareunsupported module no dmesg, link down ou “module not qualified” no ethtoolallow_unsupported_sfp=1 no i40e mais novo; builds antigas nenhummódulos XXV710 25G verificados de forma rígida
Intel ice (E810)qualificação por NVM/firmwarePossible mis-configuration of the Ethernet port detected / módulo não qualificadodepende da versão de NVM e do driver; algumas builds respeitam uma configuração de SFP não suportado, outras rejeitam: consulte as notas de lançamento da Intelo mais permissivo da linha Intel nas NVMs recentes
Intel no Windows (drivers PROSet)as mesmas listaso dispositivo mostra “Network cable unplugged”, aviso no log de eventosnenhum contorno documentadousar módulos listados pela Intel ou codificados pela Intel
Intel no VMware ESXi (ixgben, i40en, icen)as mesmas listaslink down, “unsupported module” no vmkernel.logparâmetros de módulo via esxcli system module parameters set onde o driver expõe allow_unsupported_sfp; não em todas as versõespreferir módulos qualificados em produção
Nvidia / Mellanox mlx5 (ConnectX)interpreta a EEPROM; Ethernet: sem listalink up; mlxlink mostra informações do módulonão é necessáriomodo InfiniBand: o fabric manager valida a identidade do cabo/módulo e pode sinalizar ou rebaixar (Cabos IB)
Broadcom bnxt_en (NetXtreme-E)interpreta; sem lista na maioria dos SKUsupfirmware com marca OEM (Dell, HPE) pode adicionar verificações
Marvell / QLogic qedeinterpretaup
AMD Solarflare sfcinterpretaup
Chelsio cxgb4interpretaup
Pensando ionicinterpretaup
NICs OEM de fabricante de servidor (Dell, HPE, Lenovo, Cisco UCS VIC)podem adicionar suas próprias listas, especialmente a Cisco VIC“unsupported transceiver” no CIMC/UCSMnenhum oficialmentea UCS VIC aceita módulos codificados pela Cisco

O comportamento muda conforme a versão de driver e firmware (NVM); verifique na combinação exata (Matrizes de compatibilidade e firmware).

Aplicando o contorno da Intel (Linux)

# temporary (until reload)
modprobe -r ixgbe && modprobe ixgbe allow_unsupported_sfp=1
# persistent
echo "options ixgbe allow_unsupported_sfp=1" > /etc/modprobe.d/ixgbe.conf
echo "options i40e allow_unsupported_sfp=1"  > /etc/modprobe.d/i40e.conf
dracut -f   # or update-initramfs -u
# verify
cat /sys/module/ixgbe/parameters/allow_unsupported_sfp
dmesg | grep -iE 'sfp|module|unsupported'
ethtool -m eth0

Em placas multiporta, o parâmetro aceita uma lista separada por vírgulas (um valor por porta) em alguns drivers. A configuração não é suportada pela Intel para produção; ela remove a verificação, não os requisitos elétricos.

FEC e autonegociação em NICs

Tipo de enlaceANFECNotas
DAC 25Gligada (Clause 73) nas duas pontasnegociado (RS ou BASE-R conforme a classe do cabo)a maioria dos casos de “sem enlace no DAC” é AN desligada numa ponta
Ópticas SR/LR 25Gdesligada; forçado 25000RS-FEC para SR (obrigatório), LR: RS ou nenhum, precisa bater com o switchethtool --set-fec eth0 encoding rs
DAC 100GligadaRS-FEC
100G SR4 / CWDM4 / DRdesligadaRS-FEC obrigatório
100G LR4desligadanenhum (RS em algumas plataformas)bater com o switch (FEC e AN)
200G / 400Gdesligada para ópticasRS(544) KP4 sempre
10Gdesligadanenhum

Comandos por SO: Ferramentas e diagnóstico de NIC; lado do switch: Receitas de configuração de porta.

O que um módulo codificado precisa satisfazer numa NIC

AlvoMínimo
Intel ixgbe/i40e sem contornonome de fabricante e PN da lista qualificada da Intel (peças de marca Intel E10GSFPSR/E10GSFPLR/E25GSFP28SR ou as peças OEM que elas revendem), códigos de conformidade e checksums consistentes
Intel com contorno, todos os fabricantes permissivoschecksums e códigos de conformidade válidos, sem necessidade de codificação OEM
Cisco UCS VICidentidade no estilo Cisco, igual para switches Cisco (Como cada NOS valida um módulo)
HCAs InfiniBandidentidade de cabo/módulo correta conforme a IBTA e a lista do fabricante do fabric

Orientações de codificação: Bloqueio do fabricante e codificação, Numeração de peças.

Sintomas típicos do lado da NIC

SintomaCausa provávelVerificação
Porta ausente ou “unsupported module” no dmesgwhitelist do driverdmesg, ethtool -m, contorno ou módulo codificado
Link down, módulo reconhecido, níveis bonsincompatibilidade de FEC/AN, velocidade forçada erradaethtool eth0, ethtool --show-fec eth0 (Velocidade e taxa)
Link up em velocidade erradaseleção automática escolheu 10G num módulo de taxa duplaforçar a velocidade
Link up, throughput baixolargura/velocidade do PCIelspci -vv (Portas e PCIe)
Módulo quente, alarmes de temperaturaplaca no fluxo de ar de exaustãoDDM via ethtool -m; mover a placa ou melhorar a ventilação
Funciona no Linux, não no Windows/ESXipolítica de driver diferenteusar módulo qualificado para aquele SO
Link InfiniBand com largura/velocidade reduzidacabo fora da lista ou longo demaisibstat, mlxlink

No CodingBox

Rejeições do lado do servidor são diagnosticadas a partir dos mesmos bytes que as do lado do switch. Leia o nome do fabricante, PN, OUI, códigos de conformidade e checksums em Check transceiver; para parques só com Intel, o code database pode guardar as identidades Intel que os drivers aceitam.


Se você encontrar uma imprecisão ou um erro neste artigo, selecione o trecho correspondente e pressione Ctrl+Enter para .