Настроить сетевой адаптер при загрузке FreeBSD 12

sed 's/\(=[[:blank:]]*\)\(.*\)/\1"\2"/'

Добавлял бы кавычки вокруг того, что находится справа от знак равенства, за которым следует любое количество пробелов.

3
14.04.2019, 16:36
1 ответ

См. Как сделать настройку kern.ipc.somaxconn постоянной?

Remove quotes "

dev.ixl.1.iflib.override_qs_enable=1
dev.ixl.1.iflib.override_nrxqs=16
dev.ixl.1.iflib.override_ntxqs=16

Проверка с помощью /etc/rc.d/sysctl startилиservice sysctl restart

Обновление:

В более ранних версиях FreeBSD вы обычно устанавливали hw.ixl.max_queues. Но похоже, что драйвер ixl изменился на использование iflib с FreeBSD 12.

После sysctl -d dev.ixlмы действительно можем подтвердить, что драйвер использует iflib

dev.ixl.1.iflib.override_qs_enable: permit #txq != #rxq
dev.ixl.1.iflib.override_nrxqs: # of rxqs to use, 0 => use default #
dev.ixl.1.iflib.override_ntxqs: # of txqs to use, 0 => use default #

Поиск в Интернете подтверждает это, так как мы можем найти diff, который добавляет его в драйвер(rS335338 :ixl (4 ):Обновление для использования iflib).

В настоящее время установлены настройки по умолчанию:

dev.ixl.1.iflib.override_qs_enable: 0
dev.ixl.1.iflib.override_nrxqs: 0
dev.ixl.1.iflib.override_ntxqs: 0

Это должно установить количество очередей на количество ядер (В данном случае 8 ). На справочной странице iflib указано, что они должны быть установлены перед загрузкой драйвера. Перезапуск sysctl нам тогда не поможет -только перезагрузка.

Затем мы должны установить/boot/loader.conf:

dev.ixl.1.iflib.override_qs_enable=1
dev.ixl.1.iflib.override_nrxqs=16
dev.ixl.1.iflib.override_ntxqs=16

После этого вы должны перезагрузиться и проверить с помощью dmesg | grep ^ixlи sysctl dev.ixl.1.iflib.

Ваш текущий вывод из dmesgбыл:

ixl0: pxm cpus: 8 queue msgs: 128 admincnt: 1
ixl0: using 8 rx queues 8 tx queues

ixl1: pxm cpus: 8 queue msgs: 128 admincnt: 1
ixl1: using 8 rx queues 8 tx queues

Вы утверждаете, что делали все это раньше безрезультатно.

Если мы посмотрим в отчет об ошибке Ошибка 230465 -ixl :, не работающий в режиме сетевой карты , мы, тем не менее, получим подтверждение от Джеффа Пипера . Шарль Гонсалвес далее подтверждает, что у него это работает.

Это довольно типичный способ настройки во FreeBSD, и он обычно работает. Как всегда, это может быть глючным драйвером, но с приведенным выше подтверждением я думаю, что нет. У меня нет карты ixl, поэтому, к сожалению, я не могу ничего подтвердить.

Вы упоминаете и kenv. И Джефф Пипер подтверждает, что это можно установить. Но учтите, что вы можете использовать kenvтолько при работе с модулем драйвера, а не со статическим драйвером в ядре!

Таким образом, с учетом вышеизложенного я бы сказал, что «ShouldWork (tm )» с настройками в loader.confс драйвером ядра в FreeBSD 12 (или более поздней версии ). И это напоминание почти всегда добавлять uname -aк любым вопросам, связанным с FreeBSD.

Отчаянные времена -отчаянные меры

Вы также сообщили dev.ixl.1.iflib.driver_version: 2.1.0-k. Я предполагаю, что это версия статического ядра драйвера. Согласно справочной странице ixl , вышестоящий драйвер от Intel обновляется чаще и поставляется в net/intel -ixl -kmod .

Если вы хотите пойти по этому маршруту -, убедитесь, что вы заполнили /usr/srcи имеете дерево портов с -по -дату . Предварительно собранный пакет -недоступен.

Чтобы установить драйвер kmod:

cd /usr/ports/net/intel-ixl-kmod/ && make install clean

Убедитесь, что /boot/loader.confвыглядит так:

dev.ixl.1.iflib.override_qs_enable=1
dev.ixl.1.iflib.override_nrxqs=16
dev.ixl.1.iflib.override_ntxqs=16
if_ixl_updated_load="YES"

Перезагрузитесь и посмотрите результаты в dmesg и sysctl.

При использовании этого модульного драйвера вы также можете динамически устанавливать среду с помощью kenv, как описано Джеффом Пипером . Выгрузите и загрузите драйвер, используя kldunloadи kldload

.

Прерывание штормов

Я заметил, что у тебя:

hw.intr_storm_threshold: 1000

Но поскольку это всего лишь X710 для 10GbE, это, вероятно, не проблема. Согласно справочной странице ixl , вы можете увидеть штормы прерываний на 40GbE. Затем вы должны установить:

/etc/sysctl.conf:

 hw.intr_storm_threshold=0

(отсюда интерес к этому параметру)

Прошивка

И, наконец, я заметил:

dev.ixl.1.fw_version: fw 5.0.40043 api 1.5 nvm 5.05 etid 80002927 oem 1.261.0

Этой прошивке больше двух лет. Существует версии 6.80 для Intel (R )Ethernet Controller X710

.

Проще всего использовать sysutils/intel -nvmupdate . Его можно быстро установить в виде бинарного пакета (, не нужно собирать ).

3
27.01.2020, 21:20

Теги

Похожие вопросы