CodingBox Документация

Рецепты настройки портов по NOS: скорость, FEC, breakout, обходы

Когда модуль принят, порту всё ещё нужно сказать, что с ним делать: какая скорость, какой FEC, согласовывать ли автоматически, разветвлять ли и — на строгих платформах — терпеть ли стороннюю идентификацию. Команды различаются по NOS, а часто и по платформе и релизу. Здесь даны характерные формы для распространённых систем бок о бок; считайте их картой того, что настраивать, а точный синтаксис подтверждайте в руководстве платформы.

Что должно совпасть на обоих концах

НастройкаПочемуТипичная ловушка
Скоростьскорость канала SerDes и модуля должны совпадатьпорт 25G с модулем 10G или двухскоростной модуль, оставленный не на той скорости (Скорость и режимы)
FECобязателен на большинстве PMD 25G+; оба конца должны использовать один кододин конец RS-FEC, другой без: уровни в норме, линка нет (FEC и AN)
Автосогласование / обучение линкатребуется на DAC 25G+, запрещено на большинстве оптикиAN оставлен на оптике или выключен на DAC
Breakoutродительский порт разбит на дочерниенастроен только на одном конце или на WDM-оптике
Среда / режимкомбо-порты, SGMII против 1000BASE-X на медных SFPактивен неверный тип среды
Обход сторонней оптикипереключатель политики на строгих платформахпорт в errdisable, хотя модуль исправен (Вендор-лок)

Рецепты по NOS

Угловые скобки — подстановки; — части, зависящие от платформы.

Cisco IOS-XE (Catalyst)

interface TwentyFiveGigE1/0/1
 speed 10000                       ! или 25000 (где платформа допускает скорость на порт)
 fec cl74                          ! cl74 = BASE-R, cl91/cl108 = RS-FEC, off
 no negotiation auto               ! оптика; DAC оставляет auto
service unsupported-transceiver    ! глобально, скрыта во многих релизах
no errdisable detect cause gbic-invalid
errdisable recovery cause gbic-invalid
show interfaces transceiver detail

Cisco NX-OS (Nexus)

interface Ethernet1/1
 speed 25000
 fec rs-fec                        ! rs-fec | fc-fec | off | auto
 no negotiate auto
interface breakout module 1 port 1-4 map 25g-4x     ! или: hw-module breakout … (старые)
service unsupported-transceiver
show interface ethernet1/1 transceiver details

Cisco IOS-XR

controller Optics0/0/0/0
 breakout 4x25                     ! или: hw-module port-range 0 3 location … mode 4x25
interface HundredGigE0/0/0/0
 fec standard | none
show controllers optics 0/0/0/0

Arista EOS

interface Ethernet1
   speed forced 25gfull            ! forced 10000full, 40gfull, 100gfull …
   error-correction encoding reed-solomon    ! fire-code | disabled
   no negotiation
interface Ethernet33/1-4           ! breakout: скорость задаётся на потомках /1-/4
   speed forced 25gfull
hardware port-group 1 select Et33/1-4        ! часть платформ
transceiver qsfp default-mode 4x10G          ! режим по умолчанию для портов QSFP+
show interfaces transceiver dom

Juniper Junos (QFX/EX)

set chassis fpc 0 pic 0 port 0 channel-speed 25g       ! breakout 4x25G на QFX
set chassis fpc 0 pic 0 port 48 speed 10g               ! скорость на порт на части моделей
set interfaces et-0/0/0 gigether-options fec fec91      ! fec74 | fec91 | none
set interfaces et-0/0/0 ether-options no-auto-negotiation
show interfaces diagnostics optics et-0/0/0
show chassis pic fpc-slot 0 pic-slot 0                  ! показывает «unsupported» оптику

Huawei VRP (CloudEngine)

interface 25GE1/0/1
 port mode 10GE                    ! или: speed 10000 на S-серии
 fec-mode rs-fec                   ! base-r | rs-fec | none (по платформе)
 negotiation auto disable
port split dimension interface 100GE1/0/1 split-type 4*25GE     ! breakout, на части нужен commit/перезагрузка
transceiver phony-alarm-disable    ! system view: подавить аварии на не-Huawei оптику
display transceiver interface 25GE1/0/1 verbose

H3C Comware

interface Twenty-FiveGigE1/0/1
 using tengige                     ! смена режима порта
 port fec mode rs-fec              ! (синтаксис варьируется)
transceiver phony-alarm-disable
display transceiver interface Twenty-FiveGigE1/0/1

HPE Aruba AOS-CX / AOS-S

! AOS-CX
interface 1/1/49
    speed 25000-full
    error-control rs-fec           ! или: fec … по платформе
allow-unsupported-transceiver
show interface 1/1/49 transceiver detail
! AOS-S (ProCurve)
allow-unsupported-transceiver
show interfaces transceiver detail

Dell OS10

interface breakout 1/1/1 map 25g-4x
interface ethernet1/1/1:1
 speed 25000
 fec CL91                          ! CL74 | CL91 | CL108 | off
 no negotiation
show interface ethernet 1/1/1:1 transceiver

SONiC

config interface speed Ethernet0 25000
config interface fec Ethernet0 rs           ! rs | fc | none
config interface autoneg Ethernet0 disabled
config interface breakout Ethernet0 4x25G   ! динамический breakout (поддержка платформы)
show interfaces transceiver eeprom -d Ethernet0
show interfaces status

Nvidia Cumulus (NVUE)

nv set interface swp1 link speed 25G
nv set interface swp1 link fec rs
nv set interface swp1 link auto-negotiate off
nv set interface swp1 link breakout 4x25G
nv config apply
l1-show swp1

MikroTik RouterOS

/interface ethernet set sfp-sfpplus1 auto-negotiation=no speed=10G-baseSR-LR
/interface ethernet set sfp28-1 fec-mode=fec91          ! fec74 | fec91 | off | auto
/interface ethernet monitor sfp-sfpplus1

Хост Linux (серверная NIC)

ethtool -s eth0 speed 25000 duplex full autoneg off
ethtool --set-fec eth0 encoding rs             # rs | baser | off | auto
ethtool -m eth0                                # идентификация и DDM
# Intel ixgbe/i40e: разрешить не-Intel SFP (параметр модуля; см. документацию драйвера)
modprobe ixgbe allow_unsupported_sfp=1

Проверка результата

  1. Линк поднят на обоих концах на задуманной скорости; нет LOL и неисправимых FEC (VDM и метрики FEC).
  2. show … transceiver показывает модуль как поддерживаемый (или терпимый) со значениями DDM (Проверка оптики на коммутаторе).
  3. Счётчики чистые после нескольких минут трафика (Флап линка).
  4. Конфигурация сохранена; на платформах, требующих перезагрузки для breakout или смены режима порта, изменение её переживает.

В CodingBox

Рецепты говорят порту, что делать; модуль говорит порту, что он умеет. Перед настройкой скорости или breakout прочитайте коды скорости и применения CMIS модуля на Check transceiver — порт нельзя настроить в режим, который модуль не объявляет.

Полный серверный набор инструментов за рецептом для хоста Linux — ethtool, mlxlink, bnxtnvm, команды Windows и ESXi, чтение DDM с NIC: Инструменты и диагностика NIC.

Именование интерфейсов за каждым рецептом (Gi1/0/1, et-0/0/48:1, Ethernet0, swp1s0…): Именование портов и светодиоды; сторона LAG/MLAG в настройке аплинков: Стекирование и MLAG.