While the stack nicely responds to incoming UDPs on its own IP address (hardcoded or aquired through DHCP) I have some trouble gettting the same to be true for addresses sent out on the multicast address (224,0,0,251).
Code below works like a dream when the address is set to (10,1,2,3 -- i.e. a local address) - and onUDPSockEvent() fires and passes the right packet.:
Host localhost(IpAddr(MCAST), MDNS_PORT, NULL /* fqdn */);
m_pUDPSocket = new UDPSocket;
m_pUDPSocket->bind(localhost);
m_pUDPSocket->setOnEvent(this, &mDNSResponder::onUDPSocketEvent);
But when the actual MC address is used (224,0,0,251) - it does not wake up the stack; even though ip_addr.h and the processing in ip4/ip.c looks to check both 'own' IP and multicast.
Is this expected to work and am I doing something silly ? Or is there something missing ?
Thanks,
Dw.
While the stack nicely responds to incoming UDPs on its own IP address (hardcoded or aquired through DHCP) I have some trouble gettting the same to be true for addresses sent out on the multicast address (224,0,0,251).
Code below works like a dream when the address is set to (10,1,2,3 -- i.e. a local address) - and onUDPSockEvent() fires and passes the right packet.:
Host localhost(IpAddr(MCAST), MDNS_PORT, NULL /* fqdn */);
m_pUDPSocket = new UDPSocket;
m_pUDPSocket->bind(localhost);
m_pUDPSocket->setOnEvent(this, &mDNSResponder::onUDPSocketEvent);