CodingBox Q&A Ask question

Chelsio T580 под pfSense: как перевести порт QSFP+ в режим 4x10G для breakout-кабеля

Asked Active Viewed 80 AI translation from English
3

У меня pfSense на небольшой коробке с Chelsio T580, и хочу, чтобы один из портов QSFP+ питал четыре 10G хоста вместо одного линка 40G. Breakout-кабель ещё в пути, так что хотелось бы перевести карту в нужный режим до его прибытия.

  • коробка на pfSense, Chelsio T580, один порт QSFP+ сейчас сидит на 40G DAC, второй слот пустой
  • драйвер cxgbe, cxgbetool доступен из шелла
  • breakout DAC QSFP+ на 4xSFP+, OCTTAPCABLE3M (AOC OCTCABLE5M-SR как запасной план)
  • 10G хосты на дальнем конце, обычные слоты SFP+

Сейчас карта всегда показывает только два интерфейса 40G:

cxgbe0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 9000
        media: Ethernet 40Gbase-CR4 <full-duplex>
cxgbe1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        media: Ethernet autoselect
        status: no carrier

Что уже сделал:

  • прошёлся по подкомандам cxgbetool в поисках чего-то похожего на настройку режима порта - ничего не нашёл
  • искал loader-переменную для cxgbe, которая бы разбивала порт - тоже ничего
  • прочитал достаточно, чтобы быть уверенным, что сам кабель это не сделает, адаптер сначала должен быть в режиме 4x10G

Итак, разделение 40G / 4x10G - это то, что вообще может переключить драйвер FreeBSD, или оно живёт в конфигурации адаптера? И если это конфигурация, какой поддерживаемый способ её изменить с коробки на FreeBSD?

Comments 5

Accepted answer

Коротко: драйвер этого не может. Раскладка портов берётся из конфигурации, загруженной в адаптер, именно поэтому ни cxgbe, ни cxgbetool не предоставляют переключатель режима. Меняете это собственной утилитой конфигурации Chelsio, и карта возвращается уже в новой личности.

Затащите утилиту на коробку (примонтированной флешки достаточно) и запустите:

python2.7 chelsio_adapter_config.py

Она спрашивает, какой адаптер вы имеете в виду, а затем какой режим нужен. Breakout-вариант указан как Spider (4x10G), это та запись, что превращает порт QSFP+ в четыре линии 10G.

На чистой установке первый запуск обычно сразу падает:

Shared object "libpci.so.3" not found

Ничего экзотического, просто отсутствующая библиотека. Установите flashrom, и она подтянется как зависимость:

pkg install flashrom

Это притащит с собой libpci 3.5.6_1, после чего скрипт запускается, и смена режима сообщает об успехе.

Одна оговорка, раз вы делаете это до прибытия кабеля: на этом этапе вы получаете только сообщение утилиты о том, что режим применён. Реально ли поднимутся четыре линии, доказывается только breakout-кабелем в слоте, так что не разбирайте конфигурацию 40G, пока не протестируете.

6 South Korealinkadmin79KR Show original (English) AI translation

Прежде чем продолжать искать ручки драйвера: какая конфигурация реально запущена на карте, и можете ли вы затащить python2.7 на эту коробку? То, что это меняет - утилита Chelsio, а не часть инструментария FreeBSD, и на стоковой установке ей нужно несколько компонентов, которых нет из коробки.

Ещё одна вещь, учитывая что cxgbe0 сейчас поднят на 40G: есть ли что-то на этом порту, что вы не можете позволить себе уронить? Режим берётся из конфигурации, загруженной в адаптер, так что карта возвращается в другой личности, и оба порта на это время исчезают. Делайте это с консоли, а не через линк 40G.

4 United StatesedgewolfUS Show original (English) AI translation

Подтверждаю, и именно в таком порядке. Первый запуск умер с

Shared object "libpci.so.3" not found

затем pkg install flashrom подтянул libpci 3.5.6_1, и скрипт запустился нормально. Он показал список адаптеров, я выбрал Spider (4x10G), и он сообщил об успешной смене режима.

Кабель всё ещё не пришёл, так что про сами четыре порта пока ничего сказать не могу. Отпишусь, когда OCTTAPCABLE3M реально окажется в слоте.

1 SpainoptictechES Show original (English) AI translation

Та же идея на кремнии коммутатора, только куда больше церемоний. На ICX 7750 порт 40G не разделится, пока коробка не выйдет из режима cut-through:

store-and-forward
write memory
reload

Затем снимаете любую конфигурацию с порта 40G и включаете на нём breakout:

breakout ethernet 1/2/1
write memory
reload

После второй перезагрузки появляются четыре субпорта, 1/2/1:1 по 1/2/1:4, и ведут себя как обычные независимые интерфейсы 10G. Две перезагрузки, чтобы воткнуть один кабель, но зато это задокументированное поведение, а не скрытая конфигурация адаптера, о существовании которой нужно знать заранее.

4 GermanywavesmithDE Show original (English) AI translation

Стоит добавить, что режим - только половина дела, дальний конец тоже должен принять сам кабель. На MX204 и MX10003 обычный DAC 40G нормально линковался под старым Junos; как только официальную поддержку получили DAC 100G, DAC 40G тихо выпали из списка, и сегодня они на этих коробках вообще не поддерживаются. Поддерживается breakout-оптика 4x10G, QSFPP-4X10GE-LR или SFPP-4X10GE-SR, и сторонние детали обычно нужно кодировать под соответствующий SKU, прежде чем порт вообще на них посмотрит.

Ваш Chelsio куда менее капризен, чем линейная карта маршрутизатора, но если четыре ветки заходят на вендорское оборудование, проверьте, что это оборудование делает с breakout DAC, прежде чем снова винить режим адаптера.

3 RussianetadminRU Show original (English) AI translation
Log in to comment. Log in