Struct:group source req

Jump to: navigation, search
#include <trsocket.h>
 
/*
 * Structure used for source-specific IP multicast setsockopt() options
 * MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_JOIN_SOURCE_GROUP and
 * MCAST_LEAVE_SOURCE_GROUP (see RFC 3678 section 5.1).
 * Supports IPv4 (IGMPv3) and IPv6 (MLDv2).
 */
struct group_source_req
{
    ttUser32Bit             gsr_interface; /* interface index */
    struct sockaddr_storage gsr_group;     /* group address */
    struct sockaddr_storage gsr_source;    /* source address */
};


group_source_req Parameters

  • gsr_interface
    Index of the corresponding configured interface as returned by if_nametoindex(). Note that a zero index is valid if the user has either designated a default multicast interface for the socket via the IP_MULTICAST_IF or IPV6_MULTICAST_IF socket options, or designated a default multicast interface for the system via tfSetMcastInterface() or tf6SetMcastInterface().
  • gsr_group
    Destination multicast group address (IPv4 or IPv6).
  • gsr_source
    Peer's IPv4 or IPv6 address to be added or removed from the source filter. Note: the address families of gsr_group and gsr_source must match.