LINUX.ORG.RU
решено ФорумAdmin

поменять местами привязку имени сетевого интерфейса и сетевой карты

 , , ,


0

1

Всех приветствую.

В полный рост встала специфическая задача. Есть некая ARM-железка. В ней есть встроенный в SoM сетевой интерфейс и внешний интерфейс на базе i210 подключенный в pci-e. Распределяются имена так: i210 - eth0 SoM - eth1

Надо сделать так, чтобы всегда и везде i210 была eth1, а SoM - eth0. Вариант с привязкой по маку не подходит так как это надо встроить в дистр который будет устанавливаться на кучу устройств (с разными мак-ами).

Вариант с алиасами на драйвера так же не подходит (видел тут на лоре в 5 году такое решение). Все драйвера вкомпилены в ядро.

Какие есть вообще варианты и механизмы для решения такой задачи?

★★★★★

SUBSYSTEMS, DRIVERS, ATTRS?

Вариант с алиасами на драйвера так же не подходит <…> Все драйвера вкомпилены в ядро

Не понял. Как одно связано с другим? Имя драйвера не изменяется в зависимости от того, вкомпилен ли он в ядро или является частью модуля.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Не понял. Как одно связано с другим? Имя драйвера не изменяется в зависимости от того, вкомпилен ли он в ядро или является частью модуля.

Не знаю. Почему то всегда думал, что всякие modprobe.d только на загружаемые модули влияют.

Кстати, а если в modules.order поменять местами соответствующие строки с модулями, то такой же эффект будет?

yax123 ★★★★★
() автор топика
Ответ на: комментарий от yax123

Не знаю. Почему то всегда думал, что всякие modprobe.d только на загружаемые модули влияют.

Ах ты про это. Я думал, ты про DRIVER/DRIVERS в udev.

Кстати, а если в modules.order поменять местами соответствующие строки с модулями, то такой же эффект будет?

Без понятия.

intelfx ★★★★★
()

в общем решение как обычно тривиально:

SUBSYSTEM=="net", DRIVERS=="eqos", NAME="eth0"
SUBSYSTEM=="net", DRIVERS=="igb",  NAME="eth1"

понятно, что для одинаковых сетевок не подойдет.

yax123 ★★★★★
() автор топика
Ответ на: комментарий от sova

плохой совет, негодный:

Вариант с привязкой по маку не подходит так как это надо встроить в дистр который будет устанавливаться на кучу устройств (с разными мак-ами).
yax123 ★★★★★
() автор топика
Ответ на: комментарий от yax123

В случае одного драйвера можно матчить по части MAC-а(регулярки наше фсио):

https://stackoverflow.com/questions/49759376/udev-rules-attrs-regular-express...

Правда для этого желательно как-то эти части вычленить конечно - это сработает если драйвер один, а семейства сетевух разные(там обычно разные диапазоны трех последних октетов)

Pinkbyte ★★★★★
()
Ответ на: комментарий от anc

Ну вот есть у тебя железка. У нее два порта снаружи подписаны етх1 и етх2. В сборочной документации написано в етх1 воткнуть зеленый в етх2 красный. Каким маком ты сможешь привязать порт к надписи?

yax123 ★★★★★
() автор топика
Ответ на: комментарий от anc

Это причина и следствие. Тебе всегда нужно, чтобы конретный сетевой порт имел конкретные параметры. Привязка к маку это костыль уместный только на локалхосте.

yax123 ★★★★★
() автор топика

в рамках целевой программы «Повышение уровня душности и занудства» отмечу, что так не делают. если у тебя ПАК — должна быть возможность контролировать MAC-адреса, назначаемые сетевухам, а не лепить сбоку бантик дистрибутива, который как бы привязан к железу, но как бы и нет.

pahafema
()
Ответ на: комментарий от yax123

в оригинальном посте про третьего производителя ничего не было

Harald ★★★★★
()
Ответ на: комментарий от yax123

кстати что именно переправлять, первые две-то всё равно будут переименованы по существующим правилам, а третья будет обозвана в общем порядке

Harald ★★★★★
()
Ответ на: комментарий от Harald

Астанавися! Хватит тупняк постить.

yax123 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.