On Thu, 2018-04-26 at 10:55 +0200, Lionel Flandrin wrote: > On Thu, Apr 26, 2018 at 09:23:13AM +0100, Luca Boccassi wrote: > > On Thu, 2018-04-26 at 10:00 +0200, Lionel Flandrin wrote: > > > Hello everyone, > > > > > > I'm trying to build a multicast protocol on top of an IPv6-only > > > network. I found that the draft RADIO/DISH sockets seem to do > > > exactly > > > what I want, however the zmq_udp man page doesn't explicitely > > > mention > > > supporting IPv6 multicast and I couldn't get pyzmq to bind an > > > IPv6 > > > multicast DISH with any URL format I've tried. > > > > > > Is IPv6 multicast simply currently unsupported for UDP sockets? > > > If > > > that's the case is it because of a technical difficulty or simply > > > because nobody bothered to implement it? > > > > > > Thank you for your help (and your great library), > > > > UDP right now supports only ipv4 - it's a work in progress: > > https://github.com/zeromq/libzmq/issues/2891 > > Ah, I see, thank you for confirming that. Do you think adding IPv6 > support would be a huge amount of work for somebody not familiar with > ZMQ's codebase? Is it just about adding a few branches changing > AF_INET to AF_INET6 or am I being ridiculously naive? > > My current backup solution if I can't get ZMQ to do what I want is to > write my own IPv6 multicast code using BSD sockets directly, if > hacking ZMQ's code to add support is not too daunting I could > consider > doing that instead.
I'm not too familiar with that module - but it shouldn't be too much work. Address support is the first thing, and then the right socket options for V6 multicast in the engine I suppose: https://github.com/zeromq/libzmq/blob/master/src/udp_address.cpp https://github.com/zeromq/libzmq/blob/master/src/udp_engine.cpp Remember to add unit tests as the very first thing. > > PUB/SUB with PGM or NORM should do what you are looking for. > > I considered EPGM briefly but the zmq_pgm man page seems to say that > only IPv4 is supported, so I didn't even attempt it: > > A multicast address is specified by an IPv4 multicast address in > its > numeric representation. > > Maybe I shoudln't have been so quick to dismiss it, I'm going to give > it a try. That being said I don't actually need the guarantees of > PGM/NORM, in particular I don't care if a frame gets mangled or > dropped and I don't need SNDMORE. > > Thank you, IIRC both libraries should support IPv6 just fine. The manpage is just older - if you find it works and want to update it with some v6 examples, feel free to send a PR. -- Kind regards, Luca Boccassi
signature.asc
Description: This is a digitally signed message part
_______________________________________________ zeromq-dev mailing list [email protected] https://lists.zeromq.org/mailman/listinfo/zeromq-dev
