Allow to specify UDPv4/6 multicast interface
authorGerrit Renker <gerrit@erg.abdn.ac.uk>
Sat, 14 Feb 2009 17:36:42 +0000 (18:36 +0100)
committerAndre Noll <maan@systemlinux.org>
Mon, 16 Feb 2009 16:45:00 +0000 (17:45 +0100)
commit1e6a73e98fecaba8226d5a4aa3cdc84e410f8029
treedb40715b15f13f7999fc4bc3cc72e448a2d79d03
parent82ec559332572814f76a8db3ed6751792687570d
Allow to specify UDPv4/6 multicast interface

Using a Posix function, this allows to specify outgoing/incoming
multicast interfaces, e.g.

  para_server --udp_target=224.0.1.38:8000 --udp_mcast_iface=eth1

or

  para_audiod -D -r 'ogg:udp -i 224.0.1.38 -I eth0'

The option simplifies multicast streaming, which is now possible without
having to set a multicast route when there is more than one network interface.

This option works unconditionally for UDPv6. For UDPv4 it is only enabled
on hosts that support `struct ip_mreqn', support for which is detected
via configure.

On OSes that do not support this struct, a warning message is printed;
while it is possible to add the same functionality also in those cases,
it would complicate the implementation and thus has been left out.
configure.ac
ggo/server.m4
ggo/udp_recv.ggo
udp_header.h
udp_recv.c
udp_send.c