According to http://www.tldp.org/HOWTO/Multicast-HOWTO-6.html: "If the host has more than one interface and the IP_MULTICAST_IF option is not set, multicast transmissions are sent from the default interface, although the remaining interfaces might be used for multicast forwarding if the host is acting as a multicast router.". Thus make sure self.intf can send and receive multicast as it might not be the system's default interface!