Accton AS9716-32D на 100G: QSFP28 LR4 INNOLIGHT линкуется с Arista, но никогда с Fortigate 3810D CFP2-LR4
Поднимаем leaf на Accton AS9716-32D под SONiC master (сборка master.207726). Четыре порта с поддержкой 400G должны работать на 100G в сторону пары межсетевых экранов, и ни один из них не линкуется.
- Accton AS9716-32D, SONiC master.207726
- INNOLIGHT TR-FC13R-N00 QSFP28 LR4 в кейдже коммутатора
- Fortigate 3810D с CFP2-LR4 на дальнем конце
- порты принудительно на 100G, автосогласование выключено, RS FEC, MTU 9100
sudo config interface speed Ethernet0 100000
show interfaces status
Interface Speed MTU FEC Admin Oper
Ethernet0 100G 9100 rs up down
Что я пробовал:
- порт как 2 линии с PAM4 и как 4 линии с NRZ - разницы нет ни в ту, ни в другую сторону
sudo config interface fec Ethernet0 noneвместо RS FEC- те же модули INNOLIGHT и то же волокно против порта QSFP28 Arista, где линк поднимается мгновенно
Так что оптика и волокно исключены. Что-то в том, как этот 400G-порт настраивается на 100G, или в том, чего ожидает сторона CFP2 на линиях, держит линк погашенным. У кого-нибудь 400G-кейдж на этой платформе разговаривал на 100G с CFP2-LR4, и как выглядел профиль порта?
Comments 7
Два вопроса прежде чем кто-то начнёт считать линии. Что показывает Fortigate со своей стороны - CFP2 видит свет и остаётся down, или модуль вообще не регистрируется? И какой FEC настроен на порту 3810D?
В паре LR4 включённого RS FEC ровно на одном конце достаточно, чтобы линк никогда не поднялся, а на портах CFP2-LR4 обычно вообще нет RS FEC, который можно включить.
Fortigate показывает интерфейс down и ничего полезного в счётчиках. Модуль там распознаётся, и этот порт до того, как мы всё это затронули, нёс 100G-линк на другую коробку. Настройки FEC на этой стороне я вообще не нахожу, ни явной, ни скрытой.
На нашей стороне RS FEC снимается чисто: после
sudo config interface fec Ethernet0 noneколонка FEC показываетnone, порт перезапускается и возвращается в admin up, oper down точно так же, как раньше. То есть снятие RS FEC только на коммутаторе само по себе ничего не даёт.Два профиля, которые вы пробовали, не эквивалентны, и один из них не может работать по построению. CFP2-LR4 - это четырёхлинейный интерфейс NRZ: четыре электрические линии по 25G в сторону хоста, четыре длины волны на волокне. Если ваш профиль порта переводит кейдж на 2 линии PAM4, коммутатор гонит 2x50G в пиру, которому нужно передать четыре линии NRZ на линейную сторону, и обучение не проходит независимо от настройки FEC. Единственный подходящий профиль в этой паре - 4 линии NRZ.
После этого остаётся переменная FEC. 100GBASE-LR4 не несёт RS FEC, и порт CFP2-LR4 обычно вообще не даёт способа его включить, что совпадает с тем, что вы обнаружили на Fortigate. Если на вашей стороне на этом порту всё ещё стоит
rs, этого одного достаточно, чтобы объяснить постоянно погашенный линк.Итак: 4 линии NRZ, автосогласование выключено,
sudo config interface fec Ethernet0 none, перезапустить порт, затем сверитьshow interfaces status, чтобы убедиться, что обе настройки реально применились.Добавлю скучный стандартный аспект к этому. Здесь FEC не согласуется - это статическое свойство обоих концов, и оно должно совпадать на каждой линии линка. Рекомендации вендора по каналированному 100G говорят то же самое одной фразой: когда 100G-порт разбит на линии по 25G, оба конца каждой линии должны работать в одном режиме FEC, иначе линии никогда не обучатся.
Также стоит посмотреть, что реально заявляет EEPROM TR-FC13R-N00. Эти модули заявляют совместимость с 100GBASE-LR4 и 25GBASE-LR, и некоторые платформы выбирают режим линий по умолчанию из этого поля, а не из того, что вы ввели в конфигурацию.
Другие вендоры, та же картина. У меня был 100G-линк между MikroTik CCR2216 и Arista через оптику QSFP28 SR4, который держался месяцами, а потом просто перестал подниматься. RouterOS в это время перешёл с 7.8 на 7.12.1. Оба конца принудительно настроены: auto-negotiation=no, fec-mode=fec91, MTU 9000 и 100G-baseSR4-LR4 на CCR, 100gfull с reed-solomon error correction на Arista. Замена оптики ничего не изменила, принимаемая мощность на всех четырёх линиях была в норме, а разбивка порта на 4x25G дала только хаотично мигающие линии.
Ответ там тоже так и не нашёл, но картина та же, что у вас: оптика ни при чём, и драйвер порта на одной стороне изменился под вами. Если вы сидите на снапшоте master, это первая переменная, которую я бы проверил.
Осторожнее с последним шагом. То, что вы выставили FEC в none и видите
noneв выводе, ещё не доказывает, что порт реально работает без RS FEC. На нескольких таких платформах значение попадает в базу конфигурации, и CLI охотно показывает его обратно, при этом serdes сохраняет тот режим, в котором был запрограммирован, пока порт не будет по-настоящему пересоздан. Смена скорости на кейдже с поддержкой 400G всё равно его пересоздаёт, так что эти два рычага взаимодействуют, и порядок имеет значение.То же самое касается профиля линий: на кейдже с поддержкой брейкаута он берётся из конфигурации порта платформы, а не только из
sudo config interface speed. Если профиль ни разу не перегенерировался, обе ваши попытки вполне могли выполняться на одной и той же карте линий, что и объяснило бы, почему PAM4 и NRZ выглядели одинаково. Перезагрузите коробку после изменения и проверьте с холодного старта.Прошёл всё это. Порт пересоздан как 4 линии NRZ, FEC none на нашей стороне, автосогласование выключено, конфигурация сохранена, полная перезагрузка, проверено заново с холодного старта. Пара CFP2 всё ещё down. RS FEC на Fortigate реально не выводится наружу, так что мы даже не можем создать соответствующее несовпадение с этой стороны.
При этом те же INNOLIGHT TR-FC13R-N00 в том же кейдже линкуются с портом QSFP28 Arista за секунды, так что модули и волокно остаются вне подозрений.
Хотел приложить полный технический дамп, но он превышает лимит размера здесь. Пока четыре порта остаются down, а аплинки межсетевых экранов перенесены на другую коробку. Если у кого-то на этой платформе 400G-порт реально работает на 100G с CFP2, хотел бы узнать, каким получился профиль.