Мне не удалось получить многоадресную рассылку UDP в VxWorks 5.5. Я присоединился к многоадресной группе:
setsockopt(soc, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &ipMreq, sizeof (ipMreq));
Аналогичный код на соседнем компьютере с Windows получает многоадресную рассылку. Я могу отправлять мультикаст из VxWorks; ifShow() указывает, что интерфейс поддерживает многоадресную рассылку; MCAST_ROUTING включен в конфигурации ядра, но по-прежнему не может принимать многоадресную рассылку.
Редактировать: мне нужно было установить бит в регистре конфигурации RX привода RealTek Ethernet, чтобы разрешить многоадресную передачу на прикладной уровень.
#define RTL_RXCG_AM 0x04 /* Accept Multicast */