Как получить уведомление об изменении 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

Другие вопросы по тегам