Членство в многоадресной группе с каналом RAW
Я создал сокет с
sock_raw = socket( AF_PACKET , SOCK_RAW , htons(ETH_P_ALL))
Я хочу добавить членство в многоадресной группе с многоадресным адресом 224.0.0.139 [для ref. только]. Для этого я использовал setsockopt
setsockopt( raw_sock, SOL_PACKET, PACKET_ADD_MEMBERSHIP,&mr, sizeof( mr ) )
где mr.mr_type = PACKET_MR_MULTICAST
для многоадресной рассылки добавить членство
Но я не получаю ни одного пакета из этой многоадресной группы. Я также отлаживал с помощью wireshark, где IGMP-пакет был неправильным. Я проверил код ядра linux и обнаружил, что вышеуказанная функция setsockopt добавляет фильтр только к интерфейсу при получении пакета. Если это не так, то как мы можем отправить запрос на добавление многоадресной группы (IGMPv3) из необработанного сокета?
Ссылка: справочная страница пакета