Утилита для кастомизации имени сетевого интерфейса
- D 100%
| .vscode | ||
| data | ||
| etc/udev/rules.d | ||
| source | ||
| .editorconfig | ||
| .gitignore | ||
| dub.json | ||
| dub.selections.json | ||
| dub.settings.json | ||
| README.md | ||
modiface
Утилита для кастомизации имени сетевого интерфейса.
Работает при вызове из под udev, считывая переменную окружения DEVPATH. Создаёт карту сетевых интерфейсов и присваивает каждому сетевому интерфейсу уникальный индекс, который в сочетании с префиксом из конфигурационного файла образует уникальное имя сетевого интерфейса.
Пример с отладочными сообщениями:
2026-05-19T02:26:11.574 [info] pci.d:181:this Новое устройство: /devices/pci0000:00/0000:00:1c.6/0000:06:00.0/net/enp6s0
2026-05-19T02:26:11.576 [info] pci.d:194:this Стандартное наименование интерфейса [90:2b:34:dd:df:9d]: enp6s0
2026-05-19T02:26:11.576 [trace] pci.d:195:this Полученные части PCI-цепочки: ["0000:00:1c.6", "0000:06:00.0"]
2026-05-19T02:26:11.576 [trace] pci.d:68:parse Сырое представление PCI-адреса в памяти: value=0xe6000000
2026-05-19T02:26:11.576 [trace] pci.d:72:parse Конвертация адреса: 0000:00:1c.6 => 00000:000:28.6 (packed=230/0x000000e6 bits=00000000_11100_110)
2026-05-19T02:26:11.576 [trace] pci.d:91:concat Конкатенация адреса 00000:000:28.6 (packed=230/0x000000e6 bits=00000000_11100_110) => 286
2026-05-19T02:26:11.576 [trace] pci.d:68:parse Сырое представление PCI-адреса в памяти: value=0x00060000
2026-05-19T02:26:11.576 [trace] pci.d:72:parse Конвертация адреса: 0000:06:00.0 => 00000:006:00.0 (packed=1536/0x00000600 bits=00000110_00000_000)
2026-05-19T02:26:11.576 [trace] pci.d:91:concat Конкатенация адреса 00000:006:00.0 (packed=1536/0x00000600 bits=00000110_00000_000) => 6000
2026-05-19T02:26:11.576 [trace] pci.d:105:join Соединенное значение адреса PCI: 2866000
2026-05-19T02:26:11.576 [trace] pci.d:68:parse Сырое представление PCI-адреса в памяти: value=0xe6000000
2026-05-19T02:26:11.576 [trace] pci.d:72:parse Конвертация адреса: 0000:00:1c.6 => 00000:000:28.6 (packed=230/0x000000e6 bits=00000000_11100_110)
2026-05-19T02:26:11.576 [trace] pci.d:68:parse Сырое представление PCI-адреса в памяти: value=0x00060000
2026-05-19T02:26:11.576 [trace] pci.d:72:parse Конвертация адреса: 0000:06:00.0 => 00000:006:00.0 (packed=1536/0x00000600 bits=00000110_00000_000)
2026-05-19T02:26:11.576 [trace] pci.d:118:join Соединенное значение uint адреса PCI: 2301536
2026-05-19T02:26:11.576 [trace] filelock.d:64:waitLockExclusive Файл заблокирован для записи
2026-05-19T02:26:11.576 [trace] ifacemap.d:122:findIndex Карта интерфейсов: поиск записи key=2301536
2026-05-19T02:26:11.576 [trace] ifacemap.d:131:findIndex Карта интерфейсов: прочитана запись key=469762048393216 index=0
2026-05-19T02:26:11.576 [trace] ifacemap.d:131:findIndex Карта интерфейсов: прочитана запись key=3690987520393216 index=1
2026-05-19T02:26:11.576 [trace] ifacemap.d:131:findIndex Карта интерфейсов: прочитана запись key=3858759680393216 index=2
2026-05-19T02:26:11.576 [trace] ifacemap.d:131:findIndex Карта интерфейсов: прочитана запись key=2301536 index=3
2026-05-19T02:26:11.576 [trace] ifacemap.d:135:findIndex Карта интерфейсов: запись найдена key=2301536 index=3
2026-05-19T02:26:11.576 [info] ifacemap.d:218:getOrAddIndexLocked Карта интерфейсов: используется существующий индекс key=2301536 index=3
2026-05-19T02:26:11.576 [trace] ifacemap.d:212:getOrAddIndexLocked Файл разблокирован
2026-05-19T02:26:11.576 [info] app.d:55:main Полный номер устройства enp6s0: 2301536 => 2866000
2026-05-19T02:26:11.576 [info] app.d:63:main Стабильный индекс интерфейса enp6s0: 3
2026-05-19T02:26:11.576 [info] app.d:67:main Новое имя сетевой карты enp6s0 [90:2b:34:dd:df:9d]: eth3