[zeromq-dev] A PGM/EPGM question

Montero, Antonio UTC CCS Antonio.Montero at fs.utc.com
Thu Mar 22 00:50:29 CET 2018

I am having a bit of a hard time getting a ZMQ PUB socket reacting to PGM NAKs which means at this point I am not able to recover lost packets
I have tried with both protocols: (pgm and epgm). Still getting the same result.

I have a setup where I create both a PUB and SUB sockets in that order in the same ZMQ context running on the same host and connected to the same IPv6 multicast address and port.
I have N nodes and each node has a PUB and SUB. All N nodes send messages asynchronously and all N nodes receive all messages. My multicast network is working fine whether I use pgm or epgm and all N nodes communicate with each other over IPv6 multicast.
The issue I am having is when a packet loss occurs, a remote SUB sends a unicast NAK back to the source PUB however I am not seeing any NCF or RDATA being sent by the source PUB. I have verified that the packets in question are in fact still in the Tx Window as reported by the SPMs being sent by the source PUB. I have ongoing traffic on a periodic basis which triggers a send and receive respectably on the PUB and SUB sockets and I am clearing out the ZMQ_EVENTS after every send and/or receive. I also have a polling thread running every 150ms to check for ZMQ_EVENTS on both PUB and SUB.

Nothing seems to work in terms of triggering the PUB to react and process the NAKs received from remote SUB. Looking at the code a bit I see this function zmq::pgm_socket_t::process_upstream but
can't tell if and how it is being triggered. It does not appear to be from my perspective.

Any help or direction would be appreciated. Thanks.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20180321/9d8031bd/attachment.htm>

More information about the zeromq-dev mailing list