CodingBox 문서

NIC의 트랜시버 호환성: 드라이버 화이트리스트

스위치에서는 모듈 정책이 네트워크 OS의 한 줄짜리 설정이지만, 서버에서는 NIC 드라이버와 펌웨어가 내리는 결정이며 벤더, 운영체제, 드라이버 버전마다 다릅니다. 목록에 없는 모듈을 거부하는 쪽은 Intel 어댑터이며, 대부분의 다른 어댑터는 파싱만 되면 무엇이든 받아들입니다. 이 페이지는 벤더와 OS별 동작, 문서화된 오버라이드, DAC와 광학 부품의 링크 여부를 좌우하는 FEC/자동 협상 규칙, 서버 측에서 코딩된 식별 정보가 만족해야 할 조건을 다룹니다.

벤더별 동작

벤더/드라이버확인 방식실패 시오버라이드참고
Intel ixgbe(X520, X540, X550 SFP+)Intel 인증 SFP+의 벤더 OUI/PN 목록failed to load because an unsupported SFP+ or QSFP module type was detected, 포트 다운모듈 파라미터 allow_unsupported_sfp=1(Linux), 드라이버 재로드DAC는 대체로 허용, 1G SFP는 제한적
Intel i40e(X710, XXV710, XL710)펌웨어 수준의 모듈 인증dmesg의 unsupported module, 링크 다운 또는 ethtool의 “module not qualified”최신 i40e는 allow_unsupported_sfp=1, 이전 빌드는 없음XXV710 25G 모듈은 엄격하게 검사
Intel ice(E810)NVM/펌웨어 인증Possible mis-configuration of the Ethernet port detected / 미인증 모듈NVM과 드라이버 릴리스에 따라 다름, 일부 빌드는 unsupported-SFP 설정을 존중하고 일부는 거부 — Intel 릴리스 노트를 확인최근 NVM에서는 Intel 제품군 중 가장 허용적
Intel on Windows(PROSet 드라이버)동일한 목록장치에 “Network cable unplugged” 표시, 이벤트 로그 경고문서화된 오버라이드 없음Intel 목록에 있거나 Intel 코드가 적용된 모듈을 사용
Intel on VMware ESXi(ixgben, i40en, icen)동일한 목록링크 다운, vmkernel.log의 “unsupported module”드라이버가 allow_unsupported_sfp를 노출하는 경우 esxcli system module parameters set으로 모듈 파라미터 설정, 모든 버전에 있는 것은 아님프로덕션에서는 인증된 모듈을 우선 사용
Nvidia / Mellanox mlx5(ConnectX)EEPROM만 파싱, 이더넷: 목록 없음링크 업, mlxlink가 모듈 정보 표시불필요InfiniBand 모드: 패브릭 매니저가 케이블/모듈 식별 정보를 검증하며 플래그를 달거나 다운그레이드할 수 있음(IB 케이블)
Broadcom bnxt_en(NetXtreme-E)파싱만, 대부분의 SKU는 목록 없음OEM 브랜드(Dell, HPE) 펌웨어는 검사를 추가할 수 있음
Marvell / QLogic qede파싱만
AMD Solarflare sfc파싱만
Chelsio cxgb4파싱만
Pensando ionic파싱만
Server-vendor OEM NIC(Dell, HPE, Lenovo, Cisco UCS VIC)자체 목록을 추가할 수 있음, 특히 Cisco VICCIMC/UCSM의 “unsupported transceiver”공식적으로는 없음UCS VIC는 Cisco 코드가 적용된 모듈을 허용

동작은 드라이버와 펌웨어(NVM) 버전에 따라 달라지므로, 정확한 조합에서 확인해야 합니다(호환성 매트릭스와 펌웨어).

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

멀티포트 카드의 경우 일부 드라이버에서는 이 파라미터가 쉼표로 구분된 목록(포트당 값 1개)을 받습니다. 이 설정은 Intel이 프로덕션용으로 지원하지 않으며, 검사만 없앨 뿐 전기적 요구 사항까지 없애지는 않습니다.

NIC에서의 FEC와 자동 협상

링크 유형ANFEC참고
25G DAC양쪽 모두 (Clause 73)협상됨(케이블 등급에 따라 RS 또는 BASE-R)“DAC에서 링크가 안 된다” 사례 대부분은 한쪽에서 AN이 꺼져 있는 경우
25G SR / LR 광학 부품끔, 25000으로 강제SR은 RS-FEC(필수), LR은 RS 또는 없음 — 스위치와 일치해야 함ethtool --set-fec eth0 encoding rs
100G DACRS-FEC
100G SR4 / CWDM4 / DRRS-FEC 필수
100G LR4없음(일부 플랫폼은 RS)스위치와 일치시킴(FEC와 AN)
200G / 400G광학 부품은 끔항상 RS(544) KP4
10G없음

OS별 명령어: NIC 도구와 진단, 스위치 측: 포트 구성 레시피.

NIC에서 코딩된 모듈이 충족해야 할 조건

대상최소 요건
오버라이드 없는 Intel ixgbe/i40eIntel 인증 목록에 있는 벤더명과 PN(Intel 브랜드 E10GSFPSR/E10GSFPLR/E25GSFP28SR 또는 Intel이 재판매하는 OEM 부품), 일관된 컴플라이언스 코드와 체크섬
오버라이드를 적용한 Intel, 모든 허용적 벤더유효한 체크섬과 컴플라이언스 코드 — OEM 코딩 불필요
Cisco UCS VICCisco 스위치와 동일한 방식의 Cisco 스타일 식별 정보(NOS별 모듈 검증 방식)
InfiniBand HCAIBTA와 패브릭 벤더의 목록에 맞는 올바른 케이블/모듈 식별 정보

코딩 안내: 벤더 락과 코딩, 부품 번호 체계.

NIC 측의 일반적인 증상

증상가능성 있는 원인확인
포트가 없거나 dmesg에 “unsupported module”드라이버 화이트리스트dmesg, ethtool -m, 오버라이드 또는 코딩된 모듈
링크 다운, 모듈은 인식됨, 레벨은 정상FEC/AN 불일치, 속도가 잘못 강제됨ethtool eth0, ethtool --show-fec eth0(속도와 레이트)
잘못된 속도로 링크 업듀얼레이트 모듈에서 auto가 10G를 선택속도를 강제
링크 업, 낮은 처리량PCIe 폭/속도lspci -vv(포트와 PCIe)
모듈 발열, 온도 알람카드가 배기 기류에 있음ethtool -m으로 DDM 확인, 카드를 옮기거나 기류를 개선
Linux에서는 동작, Windows/ESXi에서는 안 됨드라이버 정책이 다름해당 OS용 인증 모듈을 사용
InfiniBand 링크가 축소된 폭/속도로 동작케이블이 목록에 없거나 너무 김ibstat, mlxlink

CodingBox에서

서버 측 거부는 스위치 측과 동일한 바이트로 진단합니다. Check transceiver에서 벤더명, PN, OUI, 컴플라이언스 코드, 체크섬을 확인하십시오. Intel 전용 환경이라면 드라이버가 허용하는 Intel 식별 정보를 code database에 보관해 둘 수 있습니다.


이 문서에서 부정확한 내용이나 오류를 발견하면 해당 부분을 선택하고 Ctrl+Enter를 눌러 해 주세요.