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

Как каждая NOS проверяет модуль

Между «модуль обнаружен» и «порт поднят» каждая сетевая ОС проверяет идентификацию модуля. Что она сравнивает, что делает при несовпадении и может ли администратор это обойти — различается по вендору, платформе и релизу, и в этой разнице вся тема совместимости трансиверов. Здесь поведения выложены бок о бок, как их документируют вендоры и как они наблюдаются в поле, чтобы модуль, прочитанный на столе, можно было оценить относительно коробки, для которой он предназначен.

Что может проверяться

ПроверкаЗадействованные байтыКто делает
Контрольные суммы CC_BASE / CC_EXTSFP 63/95, QSFP 191/223, CMIS 222/255почти все — отказ = invalid EEPROM (Контрольные суммы)
Согласованность идентификатора / разъёма / кодированияSFP 0, 2, 11; QSFP 0, 130, 139большинство; неизвестные типы показываются как есть
Коды соответствия относительно портаSFP 3–10, 36; QSFP 131–138, 192; применения CMISбольшинство — speed and type not supported (Коды соответствия)
Имя вендора + партномер по спискуSFP 20–35, 40–55; QSFP 148–163, 168–183строгие и полустрогие платформы (Партномера)
Вендорская сигнатуравендорская область (SFP 96–127, QSFP 224–255, пользовательская CMIS)несколько OEM; хеш, привязанный к серийнику
Формат серийника / код датыSFP 68–91; QSFP 196–219редко; инженеры поддержки смотрят вручную
Класс мощности относительно портаSFP 64; QSFP 129/107; CMIS 200–201все, кто реализует управление питанием (Питание и тепло)

Поведение по вендорам

Публичные команды и поведение по свежим релизам; детали зависят от платформы и версии.

Вендор / NOSПроверкиПри отказеОбходDDM для сторонних
Cisco IOS / IOS-XE (Catalyst, ISR)список вендор/PN и вендорская проверка; суммы%PHY-4-UNSUPPORTED_TRANSCEIVER, порт в errdisable (gbic-invalid), лазер выключенservice unsupported-transceiver (скрытая) + no errdisable detect cause gbic-invalid; не на всех платформах; не поддерживается TACпоказывается после принятия; часть полей пустая
Cisco NX-OS (Nexus)как выше, на многих ДЦ-платформах мягчечасто up с записью в лог; строгие SKU — errdisableservice unsupported-transceiverобычно показывается
Cisco IOS-XRсписок оптики по платформе, класс мощностисостояние unsupported, порт может остаться downограниченный; зависит от платформычастично
Arista EOSсуммы, согласованность типалогирует unsupported; линк поднимаетсяне нуженполный
Juniper Junosсписок вендор/PN для метки «supported», суммылинк обычно up; show chassis pic помечает unsupported; часть платформ EX/QFX не даёт DDM или скорости для неизвестных PNофициального нетполный для известных PN, частичный для неизвестных
Huawei VRPвендор/PN; не-Huawei → авариялинк up с повторяющимися авариями phony; часть платформ ограничиваетtransceiver phony-alarm-disable (system view)полный
H3C Comwareкак VRPаварияtransceiver phony-alarm-disableполный
HPE Aruba AOS-S / AOS-CXсписок вендор/PNunsupported, порт downallow-unsupported-transceiverполный
Dell OS10 / OS9 / PowerConnectсуммы; на старом железе спискилоги; старые: errdisableservice unsupported-transceiver (старые)полный
Extreme EXOS / VOSSсуммы, типлоги, upполный
Ruckus/Brocade ICX (FastIron)суммы; оптический мониторинг на части только для PN Brocadeup; DDM может отсутствоватьчастично
Brocade FOS (SAN)на большинстве платформ Gen 5/6/7 требуются PN и серийник бренда Brocadeпорт Mod_Inv, не включённеттолько оптика Brocade
Nvidia/Mellanox (Onyx, Cumulus, IB)Ethernet: суммы, тип; InfiniBand: сведения о кабеле валидирует менеджер фабрикиEthernet up с логом; IB может идти на пониженной скорости или помечатьсяполный
SONiC / white-boxплагин платформы: суммы, разбор CMISup; неизвестные поля показываются сырымиполный (зависит от плагина)
MikroTik RouterOS / SwOSничего кроме разбораupполный
Ubiquitiничего кроме разбораupполный
Серверные NIC (Intel, Broadcom, Mellanox)белые списки драйверов у части семейств Intelдрайвер отказывается поднимать портпараметр модуля allow_unsupported_sfp=1 (Intel ixgbe/i40e)через ethtool -m

Где обход у вендора существует, он обычно предлагается как есть: модуль работает, но вендор не обязуется поддерживать сочетание. Решения по парку — за владельцем сети (Сторонние модули).

Чему должен удовлетворять «закодированный под вендора X»

Класс платформыМинимум для принятияТакже желательно
Терпимые (Arista, SONiC, MikroTik, Extreme…)валидные суммы, согласованные коды типанастоящее имя вендора и PN — от OEM-кодирования выигрыша нет
Проверяющие списки (Juniper, Aruba, Huawei/H3C, NX-OS на многих SKU)имя вендора и PN точно как в списке платформы, верные коды соответствия для портасовпадающий суффикс/класс PN; реалистичные серийник и код даты
Проверяющие сигнатуру (Cisco IOS/IOS-XE, часть XR)всё выше плюс вендорская область, вычисленная для этого серийникаполя идентификации согласованы с PN (длина волны, дальность, технология)
Только бренд (Brocade FOS)строка вендора Brocade и семейство PN, формат серийника

Как это выглядит со стороны стола: Вендор-лок и кодирование, Перекодировка EEPROM.

Чтение отказа

Текст лога / статусаСмыслСледующий шаг
unsupported transceiver, Mod_Inv, phonyидентификация не в спискеобход или кодирование под PN из списка
invalid EEPROM, checksum errorCC_BASE/CC_EXT неверныпересчитать (Контрольные суммы)
speed and type not supported, unknown media typeкоды соответствия не подходят портуисправить коды или взять другой режим порта (Скорость и режимы)
power class exceeds, застрял в LowPwrкласс мощности против клеткиПитание и тепло
Module not ready, состояние тракта не движетсязапуск CMISПроблемы CMIS

Команды по NOS, чтобы увидеть эти состояния: Проверка оптики на коммутаторе.

Изменения с обновлениями софта

Вендоры ужесточают или ослабляют проверки между релизами: новая валидация сигнатур, новые списки поддерживаемой оптики, убранные скрытые команды, изменённая обработка DDM. Парк сторонней или закодированной оптики, работавший вчера, после обновления может уйти в errdisable (Матрицы совместимости и прошивки).

В CodingBox

CodingBox показывает точные байты, которые читает каждая проверка выше — имя вендора, PN, суммы, коды соответствия, класс мощности, — а база кодов хранит идентификации, которые принимает тот или иной класс платформ. После кодирования проверяйте на тестовом порту; последнее слово за коммутатором, а не за столом (Check transceiver).

Серверный аналог — белые списки драйверов по вендорам NIC, обходы Intel, поведение Windows и ESXi: Совместимость трансиверов на NIC.