Как получить уведомление об изменении if_index
Что мы делаем: мы используем библиотеку netfilter. Наш модуль (скажем, "X-engine") читает и кэширует if_index.
Реальная проблема: если ядро решает изменить if_index по какой-либо причине, кэшированный X-движок if_index не обновляется и начинает отбрасывать пакет, потому что они не соответствуют if_index, что кешируется в module-X и что фактически присутствует в ядро.
Что мы ищем: Теперь существует ли способ /API, с помощью которого module-X может быть уведомлен об этом событии изменения, чтобы модуль-X обновлял его кешируемый файл if_index соответствующим образом?
1 ответ
Возможно, вам необходимо использовать сокет rtnetlink для мониторинга и обработки сообщений RTM_NEWLINK и RTM_DELLINK (что предоставляет информацию о создании или удалении определенного сетевого интерфейса). Более подробная информация на http://man7.org/linux/man-pages/man7/rtnetlink.7.html