Сокеты Linux C - recvmsg - получение источника ifindex

Я открываю сокет RAW в Linux и читаю все сообщения.

      recvmsg(mysock, &msg, 0);

Я просматриваю все cmsg в этом буфере msg и получаю только один.

          for (c = CMSG_FIRSTHDR(&msg); c; c = CMSG_NXTHDR(&msg, c)) {

Как я могу извлечь ifindex, по которому он получен?

1 ответ

Нашел. Сначала мне пришлось установить флаг IP_PKTINFO:

      setsockopt(sock, IPPROTO_IP, IP_PKTINFO, &hold, sizeof(hold));
Другие вопросы по тегам