IPv6 multicast

Showing 1-4 of 4 messages
IPv6 multicast Josh Erickson 1/19/13 9:31 PM
I've been poking and playing with around node and tried doing some IPv6 multicasting, but it fails with an ENOSYS. So i decided to do something about it.

Since this is a hack and paste (partly as I've had a baby in my arm much of the day), as well as an exercise to teach myself more about low level programming and things like gyp, ant feed back is much appreciated,

One of the things I'm not sure about is if the creating uv_udp_set_membership6 is a good idea. Much more so the decision to magically upgrade calls to uv_udp_set_membership if ipv6 is being used, Most of my reasoning is that to have one, requires a lot of variables that aren't used epending on th ip version. Doing it this way, I think it saves tiny amounts of memory (feel free to correct this if I'm wrong), but magically upgrades existing code.


The test test-udp-multicast-join6.c is basically test-udp-multicast-join.c, but aimed at ipv6 instead. On this Windows 8 laptop, the test passes,

Thank you!
Re: [libuv] IPv6 multicast Ben Noordhuis 1/21/13 12:16 AM
Hi, Josh.  If you want to get your changes reviewed, can you submit
them as a pull request?

One thing I noticed is that it's only implemented on Windows
(uncommon, usually it's the other way around).  It should at the very
least have Unix stubs that set UV_ENOSYS.

Another thing is that it may conflict with [1] ("pass structs by
address, not value").  That's not a blocker in itself, we can fix up
and consolidate the multicast API afterwards, but perhaps something to
keep in mind.

[1] https://github.com/joyent/libuv/issues/684
Re: [libuv] IPv6 multicast Josh Erickson 1/21/13 11:33 AM
Thanks Ben.

I was thinking since I was expanding the API like this it would be better to discuss in the mailing list first. 

It is kind of weird I know. Since that is usually the case that Linux gets the fun features first and because my personal laptop wasn't handy this last weekend, I decided to give Windows the chance to have something first. 


On Monday, January 21, 2013 2:16:37 AM UTC-6, Ben Noordhuis wrote:

Hi, Josh.  If you want to get your changes reviewed, can you submit
them as a pull request?

One thing I noticed is that it's only implemented on Windows
(uncommon, usually it's the other way around).  It should at the very
least have Unix stubs that set UV_ENOSYS.

Another thing is that it may conflict with [1] ("pass structs by
address, not value").  That's not a blocker in itself, we can fix up
and consolidate the multicast API afterwards, but perhaps something to
keep in mind.

[1] https://github.com/joyent/libuv/issues/684
Re: [libuv] IPv6 multicast Andrius Bentkus 1/24/13 6:54 AM
Another thing is that it may conflict with [1] ("pass structs by 
address, not value").  That's not a blocker in itself, we can fix up
and consolidate the multicast API afterwards, but perhaps something to
keep in mind.

We certainly can do that afterwards.