IP_MSFILTER(2const)

NAME
IP_MSFILTER - multicast source filtering

LIBRARY
Standard C library (libc, -lc)

SYNOPSIS
#include <netinet/in.h>  /* Definition of IP* constants */
#include <sys/socket.h>

int setsockopt(int sockfd, IPPROTO_IP, IP_MSFILTER,
               const struct ip_msfilter *val,
               sizeof(struct ip_msfilter));

    struct ip_msfilter {
        struct in_addr  imsf_multiaddr;  // IP multicast group address
        struct in_addr  imsf_interface;  // IP address of local interface
        uint32_t        imsf_fmode;      // Filter-mode

        uint32_t        imsf_numsrc;     // Number of elements in .imsf_slist
        struct in_addr  imsf_slist[1];   // Array of source addresses
    };

DESCRIPTION
This option provides access to the advanced full-state filtering API.

There are two macros, MCAST_INCLUDE and MCAST_EXCLUDE, which can be used to specify the filtering mode.

Additionally, the IP_MSFILTER_SIZE(n) macro exists to determine how much memory is needed to store ip_msfilter structure with n sources in the source list.

For the full description of multicast source filtering refer to RFC 3376.

ERRORS
See IPRROTO_IP(2const). See setsockopt(2). See ip(7).

STANDARDS
Linux.

HISTORY
Linux 2.4.22, Linux 2.5.68.

SEE ALSO
IPPROTO_IP(2const), setsockopt(2), ip(7)