[zeromq-dev] PGM and sending interface

Jim Hague jim.hague at acm.org
Wed Jan 6 10:47:53 CET 2016


On Tuesday 05 Jan 2016 14:11:57 Steven McCoy wrote:
> On 5 January 2016 at 13:34, Jim Hague <jim.hague at acm.org> wrote:
> > I think AIX is a bit of a red herring here. I can produce exactly the same
> > scenario on Linux using iproute2
> 
> Interesting, thus this invalidates most of RFC 3678:
> [....]
> And it looks like it pretty much breaks group_source_req and group_filter
> too.   Unless you really don't care about multicast coming from any of the
> addresses on the interface which appears a little foolish?

I've not read RFC3678 before, but after a quick look it seems to me that the 
RFC isn't concerned with the socket binding, and hence the source address 
used. 

In bind(), you specify an address to bind to. The pgm_bind3() sockaddr 
parameter specifies only the port, gsi and source port; the send_req and 
recv_req parameters give only an interface number, so there is no way to 
specify the source address when binding the sending socket.

As a minimal disturbance to the existing API I'm trying adding an alias index 
to t pgm_interface_req_t. That in turn means that the alias index must be 
available from pgm_getaddrinfo(), so I'm changing the group_source_req items 
in pgm_addrinfo_t to a pgm_group_source_req which adds the alias index. I 
guess an alternative would be to change pgm_bind3() (or add a pgm_bind4()) 
where recv and send would be specified via an address. I guess that would mean 
adding receive and send addresses to the result from pgm_getaddrinfo().
-- 
Jim Hague - jim.hague at acm.org          Never trust a computer you can't lift.




More information about the zeromq-dev mailing list