Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help wanted with IPv6 support. #57

Open
radarsat1 opened this issue Aug 29, 2017 · 2 comments
Open

Help wanted with IPv6 support. #57

radarsat1 opened this issue Aug 29, 2017 · 2 comments

Comments

@radarsat1
Copy link
Owner

Current there are some failures with IPv6 support. It is not easy to solve, so if anyone wants to help it's a nice challenge.

Firstly, it's not clear to me how multicast works with IPv6, so test_multicast() fails. There are a couple of TODO notes in the source regarding this. Specifically,

setsockopt(s->sockets[0].fd, IPPROTO_IP, IPV6_MULTICAST_IF,                  
                   &s->addr_if.a.addr6, s->addr_if.size

appears to return an error on Linux.

However, if you compile with --enable-ipv6 and comment-out test_multicast(), there are still some errors in basic liblo functionality when communicating with the subtest subprocess.

subtest: creating new address `osc.udp://bicycle15:17776/'
 <-- subtest_handler()
subtest: got reply (/subtest)
 <-- subtest_reply_handler()
 <-- subtest_reply_handler()
 <-- subtest_reply_handler()
 <-- subtest_reply_handler()
 <-- subtest_reply_handler()
 <-- subtest_reply_handler()
 <-- subtest_reply_handler()
 <-- subtest_reply_handler()
 <-- subtest_reply_handler()
 <-- subtest_reply_handler()
 <-- subtest_reply_handler()
FAILED reply_count == 3 at testlo.c:1441

test run not completed
liblo test FAILED
@danomatika
Copy link
Contributor

danomatika commented May 29, 2022

I was originally going to open a separate issue to note about the README that Pure Data vanilla versions 0.51 and greater support IPv6, but I think it might be more helpful to share our networking helper functions for handling ailists and multicast settings: s_net.h and s_net.c. It was definitely a slog to add proper IPv6 handling, so I hope this is useful to liblo which I personally use in many projects.

@radarsat1
Copy link
Owner Author

Thank you @danomatika ! I will look at those when I get a chance to work on this again, much appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants