Re: anyone ever done multicast AF_UNIX sockets?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Chris,

Please check out the uml_switch
written by jeff dike for Mser Mode Linux.

It is a user-space program which emultates
an ethernet switch (or hub).  It emulates
link-layer multicast on UNIX domain sockets.

Greg Daley

Chris Friesen wrote:

It is fairly common to want to distribute information between a single sender and multiple receivers on a single box.

Multicast IP sockets are one possibility, but then you have additional overhead in the IP stack.

Unix sockets are more efficient and give notification if the listener is not present, but the problem then becomes that you must do one syscall for each listener.

So, here's my main point--has anyone ever considered the concept of multicast AF_UNIX sockets?

The main features would be:
--ability to associate/disassociate a socket with a multicast address
--ability to associate/disassociate with all multicast addresses (possibly through some kind of raw socket thing, or maybe a simple wildcard multicast address)
--on process death all sockets owned by that process are disassociated from any multicast addresses that they were associated with
--on sending a packet to a multicast address and there are no sockets associated with it, return -1 with errno=ECONNREFUSED

The association/disassociation could be done using the setsockopt() calls the same as with udp sockets, everything else would be the same from a userspace perspective.

Any thoughts? How hard would this be to put in?

Chris



-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux