[zeromq-dev] pgm over ipv6
Sergey Zinov
s.zinov at emw.hs-anhalt.de
Thu Jun 4 03:18:41 CEST 2015
Thanks a lot for the hint Steve. I found that NAK is rejected on
receiver side("NAK rejected for unmatched NLA").
It happens in pgm_on_nak(source.c) function:
/* NAK_SRC_NLA contains our sock unicast NLA */
pgm_nla_to_sockaddr (&nak->nak_src_nla_afi, (struct
sockaddr*)&nak_src_nla);
if (PGM_UNLIKELY(pgm_sockaddr_cmp ((struct
sockaddr*)&nak_src_nla, (struct sockaddr*)&sock->send_addr) != 0))
{
char saddr[INET6_ADDRSTRLEN];
pgm_sockaddr_ntop ((struct sockaddr*)&nak_src_nla,
saddr, sizeof(saddr));
pgm_trace (PGM_LOG_ROLE_NETWORK,_("NAK rejected for
unmatched NLA: %s"), saddr);
sock->cumulative_stats[PGM_PC_SOURCE_MALFORMED_NAKS]++;
return FALSE;
}
pgm_sockaddr_cmp(sockaddr.c) function compares not only addresses for
ipv6 packets, but also sin6_scope_id field. nak_src_nla is filled with
pgm_nla_to_sockaddr(sockaddr.c) which does not initialize sin6_scope_id
field at all, so compare is always failed. I guess sin6_scope_id should
not be compared in this case. I attached the patch that fixes that. It
solves problem for me, but I'm not 100% sure that this is correct solution.
On 03.06.2015 02:56, Steven McCoy wrote:
> On 2 June 2015 at 19:04, Sergey Zinov <s.zinov at emw.hs-anhalt.de
> <mailto:s.zinov at emw.hs-anhalt.de>> wrote:
>
> it seems that pgm/epgm transport over ipv6 does not work as supposed.
> When a loss(even single) occurs, subscriber pauses for several
> seconds,
> then resumes skipping the lost packets.
>
>
> This implies recovery is not functioning possibly due to using the
> wrong interface and scope. Turn on PGM debugging for verbose logging
> when the socket is created to capture what it is trying to do.
>
> --
> Steve-o
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20150604/82774e75/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-nla-compare.patch
Type: text/x-patch
Size: 2772 bytes
Desc: not available
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20150604/82774e75/attachment.bin>
More information about the zeromq-dev
mailing list