[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