Я использовал getifaddrs для получения всех доступных локальных адресов (ipv4 и ipv6) для выполнения DNS SD. Чтобы проверить, какие адреса активны и способны выполнять широковещательные запросы, очень полезны флаги, установленные getifaddrs в структуре ifaddrs (см. man getifaddrs). (здесь могут быть полезны другие флаги IFF_LOOPBACK и IFF_POINTTOPOINT).
Теперь я хочу использовать rtnetlink для получения списка локальных адресов вместо использования getifaddrs. Причина, по которой я это делаю, заключается в том, что интерфейс rtnetlink предоставляет монитор, а getifaddrs — нет. Серьезным недостатком является то, что (насколько я вижу) те же самые флаги нелегко получить с помощью интерфейса rtnetlink. См. man 7 rtnetlink. Может ли кто-нибудь подсказать мне, как получить эти флаги?
Подробнее здесь: https://stackoverflow.com/questions/781 ... -rtnetlink