I can try and help regarding adding IPv6 to RADIO/DISH UDP protocol.

I don't think it should very complicated. I can try and point to you to the
places in the code that need to have the support.

On Fri, Apr 27, 2018 at 4:09 PM, Luca Boccassi <luca.bocca...@gmail.com>
wrote:

> On Fri, 2018-04-27 at 15:00 +0200, Lionel Flandrin wrote:
> > On Fri, Apr 27, 2018 at 01:36:13PM +0100, Luca Boccassi wrote:
> > > On Fri, 2018-04-27 at 14:29 +0200, Lionel Flandrin wrote:
> > > > On Thu, Apr 26, 2018 at 10:58:33AM +0100, Luca Boccassi wrote:
> > > > > 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.cp
> > > > > p
> > > > > https://github.com/zeromq/libzmq/blob/master/src/udp_engine.cpp
> > > > >
> > > > > Remember to add unit tests as the very first thing.
> > > >
> > > > I've started doing that and I'm noticing that currently the UDP
> > > > addressing code uses inet_addr to parse the IPv4 address instead
> > > > of
> > > > getaddrinfo like the TCP and PGM code. Is there a reason to avoid
> > > > the
> > > > additional functionality of getaddrinfo here or can I safely
> > > > switch
> > > > to
> > > > it in the UDP code? Do we want to avoid resolving hostnames here
> > > > for
> > > > some reason?
> > >
> > > You can switch, I imagine it was done that way as it was quicker.
> > > Remember to add tests.
> >
> > Got it, thanks.
> >
> > I've already refactored the existing tests to add IPv6:
> >
> > https://github.com/simias/libzmq/commit/16834fd4d2dee3460e3c46f44241e
> > 73f2a3633f8
> >
> > I'm thinking about adding multicast tests as well but I wonder if
> > there are some caveats if I try to send and receive multicast traffic
> > in the test suite? Am I allowed to subscribe to a random multicast
> > address or is it forbidden to genererate external traffic in the
> > tests?
>
> Perhaps add a similar check to the one already present for ipv6 - on
> some build systems networking other than loopback might be blocked, so
> it would fail the tests.
>
> --
> Kind regards,
> Luca Boccassi
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev@lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to