Nothing special required to do MULTICAST, note that mrouted is only used if you want that your linux box run as a MULTICAST router, nothing to deal with just sending and / or receiving MULTICAST datagrams.
Some tricks:
-you can add the multicast route into the kernel routing rules, but as far as i know it can be a problem only if you have more than interface, or if your default interface isn't configured. That said, you can add it with the following command as root:
Code:
route add -net 224.0.0.0 netmask 240.0.0.0 eth0
, you can replace "eth0" with any other interface you want.
-You can overwrite the system routing rule in your program by specifying the IP address of the interface to use to "listen" to the MULTICAST group when you "setsockopt (IP_ADD_MEMBERSHIP)", and for the emitting interface with a "setsockopt (IP_MULTICAST_IF)". The emitting and receiving interface are totally independant.
-Your MULTICAST emitter doesn't need to make a "setsockopt (IP_ADD_MEMBERSHIP)".
-If the emitter and the receiver run on the same system, you need to loop the MULTICAST socket with a "setsockopt (IP_MULTICAST_LOOP)"
If these don't help, post your code I'll take look.