Fix IPv6 multicast breakage
The moving around and cleaning up of network code broke the IPv6 multicast support by memcpy'ing a sockaddr_in6 instead of an in6_addr in a multicast join record. Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
parent
79c086868f
commit
63f67ae965
1 changed files with 3 additions and 3 deletions
|
@ -561,7 +561,7 @@ static int joinleave_asm_mcgroup (ddsrt_socket_t socket, int join, const nn_loca
|
||||||
{
|
{
|
||||||
struct ipv6_mreq ipv6mreq;
|
struct ipv6_mreq ipv6mreq;
|
||||||
memset (&ipv6mreq, 0, sizeof (ipv6mreq));
|
memset (&ipv6mreq, 0, sizeof (ipv6mreq));
|
||||||
memcpy (&ipv6mreq.ipv6mr_multiaddr, &mcip.a6, sizeof (ipv6mreq.ipv6mr_multiaddr));
|
ipv6mreq.ipv6mr_multiaddr = mcip.a6.sin6_addr;
|
||||||
ipv6mreq.ipv6mr_interface = interf ? interf->if_index : 0;
|
ipv6mreq.ipv6mr_interface = interf ? interf->if_index : 0;
|
||||||
rc = ddsrt_setsockopt (socket, IPPROTO_IPV6, join ? IPV6_JOIN_GROUP : IPV6_LEAVE_GROUP, &ipv6mreq, sizeof (ipv6mreq));
|
rc = ddsrt_setsockopt (socket, IPPROTO_IPV6, join ? IPV6_JOIN_GROUP : IPV6_LEAVE_GROUP, &ipv6mreq, sizeof (ipv6mreq));
|
||||||
}
|
}
|
||||||
|
@ -592,8 +592,8 @@ static int joinleave_ssm_mcgroup (ddsrt_socket_t socket, int join, const nn_loca
|
||||||
struct group_source_req gsr;
|
struct group_source_req gsr;
|
||||||
memset (&gsr, 0, sizeof (gsr));
|
memset (&gsr, 0, sizeof (gsr));
|
||||||
gsr.gsr_interface = interf ? interf->if_index : 0;
|
gsr.gsr_interface = interf ? interf->if_index : 0;
|
||||||
memcpy (&gsr.gsr_group, &mcip.a6, sizeof (gsr.gsr_group));
|
gsr.gsr_group = mcip.x;
|
||||||
memcpy (&gsr.gsr_source, &srcip.a6, sizeof (gsr.gsr_source));
|
gsr.gsr_source = srcip.x;
|
||||||
rc = ddsrt_setsockopt (socket, IPPROTO_IPV6, join ? MCAST_JOIN_SOURCE_GROUP : MCAST_LEAVE_SOURCE_GROUP, &gsr, sizeof (gsr));
|
rc = ddsrt_setsockopt (socket, IPPROTO_IPV6, join ? MCAST_JOIN_SOURCE_GROUP : MCAST_LEAVE_SOURCE_GROUP, &gsr, sizeof (gsr));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue