Как каждая NOS проверяет модуль
Между «модуль обнаружен» и «порт поднят» каждая сетевая ОС проверяет идентификацию модуля. Что она сравнивает, что делает при несовпадении и может ли администратор это обойти — различается по вендору, платформе и релизу, и в этой разнице вся тема совместимости трансиверов. Здесь поведения выложены бок о бок, как их документируют вендоры и как они наблюдаются в поле, чтобы модуль, прочитанный на столе, можно было оценить относительно коробки, для которой он предназначен.
Что может проверяться
| Проверка | Задействованные байты | Кто делает |
|---|---|---|
| Контрольные суммы CC_BASE / CC_EXT | SFP 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 — errdisable | service 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 | список вендор/PN | unsupported, порт down | allow-unsupported-transceiver | полный |
| Dell OS10 / OS9 / PowerConnect | суммы; на старом железе списки | логи; старые: errdisable | service unsupported-transceiver (старые) | полный |
| Extreme EXOS / VOSS | суммы, тип | логи, up | — | полный |
| Ruckus/Brocade ICX (FastIron) | суммы; оптический мониторинг на части только для PN Brocade | up; 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 | плагин платформы: суммы, разбор CMIS | up; неизвестные поля показываются сырыми | — | полный (зависит от плагина) |
| 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 error | CC_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.