1

Я пытаюсь написать "универсальное" правило udev для назначения имени интерфейса моей карте NIC.

Для конкретного приложения мне требуется возможность загрузить безголовый сервер, где сетевой адаптер может быть изменен в любой момент. Однако, Марка и модель NIC останутся прежними.

поэтому я атаковал проблему, пытаясь написать общее правило udev, которое будет назначать требуемое имя (которое впоследствии будет сопоставлено с определенными статическими сетевыми настройками) для любого сетевого адаптера, соответствующего Vednor и ID модели. мой вывод udevadm:

micromass@ComExATE:/sbin> sudo ./udevadm info --attribute-walk --query=all --pat          h=/sys/class/net/eth4
P: /devices/pci0000:00/0000:00:1c.5/0000:05:00.0/net/eth4
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:05:00.0/net/eth4
E: INTERFACE=eth4
E: IFINDEX=2
E: SUBSYSTEM=net
E: ID_VENDOR_FROM_DATABASE=Broadcom Corporation
E: ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 Gigabit Ethernet PCIe
E: ID_BUS=pci
E: ID_VENDOR_ID=0x14e4
E: ID_MODEL_ID=0x1681

так что мое правило выглядело так:

SUBSYSTEM=="net", ACTION=="add", ATTR{IDVENDOR_ID}=="0x14e4", ATTR{ID_MODEL_ID}=="0x1681", NAME="my-device"

Однако не повезло. поэтому я попробовал что-то немного проще и решил сопоставить первые 3 набора MAC-адреса (которые назначены поставщику)

SUBSYSTEM=="net", ACTION=="add", ADDRESS=="00:30:64??:??:??", NAME="my-device"

Все еще не повезло. я не могу изменить эти правила, чтобы добавить символические ссылки вместо переименования.

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

2 ответа2

1

Вы неправильно написали имя атрибута: это ID_VENDOR_ID. Не IDVENDOR_ID

0

Запустите udev debug и посмотрите на системный журнал, он соответствует вашим правилам или нет. Какую версию opensuse вы используете? Кстати, я не уверен, что вы можете добавить? в поле MAC-адрес. Сначала проверьте, может ли udev вообще переименовать интерфейс в вашей настройке (вот пример конфигурации).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .