[zeromq-dev] UDP message with zeromq 2.0beta

Martin Sustrik sustrik at 250bpm.com
Thu Jan 21 11:27:47 CET 2010


> I have another question regarding PGM. in 
> http://www.zeromq.org/whitepapers:design-v05, it stated that
> Comment: On Linux, PGM-enabled applications have to be run with root 
> privileges. The cause is that there is no PGM implementation in the 
> kernel and you have to send/receive PGM packets from the user space. 
> Manipulation of raw IP sockets from user space requires root privileges. 
> If you want to use multicast without root privileges you have to use PGM 
> encapsulated within UDP (use say "bp/pgm://udp:eth0;" 
> instead of "bp/pgm://eth0;"). Note that this is not the 
> real PGM, i.e. it won't intercommunicate with other PGM implementations. 
> Also, you have to set these two environment variables:
> $ export PGM_TIMER="TSC"
> $ export PGM_SLEEP="TSC"

That's outdated. The implementation was improved so that when you use 
"udp://" transport, you don't have to worry about privileges. With PGM 
proper ("pgm://") your application has to have privilege to create a raw 

While the whitepapers may yield some useful information on internal 
architecture of 0MQ, when sorting out how the API works refer to the man 
pages. In this case zmq_pgm(7) and zmq_udp(7).


More information about the zeromq-dev mailing list