To receive a multicast on my not default NIC (dvb) I do the following:
- open a socket (AF_INET, SOCK_DGRAM)
- join the multicast address with IP_ADD_MEMBERSHIP on the dvb interface
- bind the multicast address (note that a common error is to bind "0.0.0.0" and then receive on that socket even multicast you are not interested in) and the port
at this point the only way to receive the needed multicast packets is to add in the routing table a rule to reach the network where the sender is (another network) trough the dvb, as if the dvb needs to reply to the multicast sender; let say a sort of source sender multicast mode. Anyone knows what is going on? The problem is annoying to me because in principle I don't know the ip of sender.