[zeromq-dev] czmq/zbeacon - broadcast address doesn't match selected interface

Patrick Noffke patrick at noffke.me
Wed Oct 9 17:53:31 CEST 2013

On 10/09/2013 09:48 AM, Jason Ziglar wrote:
> I'm using zbeacon for service discovery, and have been noticing that the beacon doesn't always behave as expected. I'm using the zsys_set_interface() call to specify which interface to broadcast over, but according to netstat, the beacon is broadcasting over This seems to cause the beacon to be routed differently on each machine.
> Is broadcasting over expected behavior? I've got a patch that alters the behavior to what I expect. I'm not sure if I should submit it as a pull request or not though.

We are trying to use zbeacon as well.  I am curious, why use UDP 
broadcast instead of multicast?  Please review this SO question for 


On Linux, IP addresses belong to a machine, not to an interface.  I 
could envision a case where you have two interfaces on the same subnet, 
choose one to broadcast on, and a zbeacon listener then wishes to 
connect back to the broadcaster, does an ARP request, gets a reply from 
a different interface [1], and the subsequent connection is established 
on an interface other than the one intended.  To get around this, you 
have to enable ARP filtering [2], but the average user might not be 
aware of this.

[1] http://www.embedded-bits.co.uk/2008/multiple-network-gotcha/
[2] http://serverfault.com/a/247953

Would a rewrite to use multicast be an option?  If so, I'd be willing to 
help with that, though finding the time could be a challenge.  I'm 
mainly asking if it could be done without requiring a new API, but I 
doubt it, since you could have old zbeacon instances on a network that 
could no longer talk to a new multicast zbeacon.


More information about the zeromq-dev mailing list