Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
IGMP(4)			    Kernel Interfaces Manual		       IGMP(4)

NAME
       igmp -- Internet	Group Management Protocol

SYNOPSIS
       #include	<sys/types.h>
       #include	<sys/socket.h>
       #include	<netinet/in.h>
       #include	<netinet/in_systm.h>
       #include	<netinet/ip.h>
       #include	<netinet/igmp.h>

       int
       socket(AF_INET, SOCK_RAW, IPPROTO_IGMP);

DESCRIPTION
       IGMP  is	 a  control  plane  protocol used by IPv4 hosts	and routers to
       propagate multicast group membership information.  Normally this	proto-
       col is not used directly, except	by the kernel itself, in  response  to
       multicast  membership requests by user applications.  Routing protocols
       may open	a raw socket to	directly interact with igmp.

       As of FreeBSD 8.0, IGMP version 3 is implemented.   This	 adds  support
       for  Source-Specific Multicast (SSM), whereby applications may communi-
       cate to upstream	multicast routers that they are	only interested	in re-
       ceiving multicast streams from particular sources.

SYSCTL VARIABLES
       net.inet.igmp.stats
	       This opaque read-only variable exposes  the  stack-wide	IGMPv3
	       protocol	statistics to netstat(1).

       net.inet.igmp.ifinfo
	       This opaque read-only variable exposes the per-link IGMPv3 sta-
	       tus to ifmcstat(8).

       net.inet.igmp.gsrdelay
	       This  variable  specifies  the  time threshold, in seconds, for
	       processing Group-and-Source Specific  Queries  (GSR).   As  GSR
	       query processing	requires maintaining state on the host,	it may
	       cause  memory to	be allocated, and is therefore a potential at-
	       tack point for Denial-of-Service	(DoS).	If more	than  one  GSR
	       query is	received within	this threshold,	it will	be dropped, to
	       mitigate	the potential for DoS.

       net.inet.igmp.default_version
	       This  variable  controls	the default version of IGMP to be used
	       on all links.  This sysctl is normally set to 3 by default.

       net.inet.igmp.legacysupp
	       If this variable	is non-zero, then IGMP v1  and	v2  membership
	       reports received	on a link will be allowed to suppress the IGMP
	       v3 state-change reports which would otherwise be	issued by this
	       host.  This sysctl is normally enabled by default.

       net.inet.igmp.v2enable
	       If  this	 variable is non-zero, then IGMP v2 membership queries
	       will be processed by this  host,	 and  backwards	 compatibility
	       will  be	 enabled  until	the v2 'Old Querier Present' timer ex-
	       pires.  This sysctl is normally enabled by default.

       net.inet.igmp.v1enable
	       If this variable	is non-zero, then IGMP v1  membership  queries
	       will  be	 processed  by	this host, and backwards compatibility
	       will be enabled until the v1 'Old Querier  Present'  timer  ex-
	       pires.  This sysctl is normally enabled by default.

       net.inet.igmp.sendlocal
	       If  this	 variable  is  non-zero,  then	IGMP state-changes for
	       groups in the 224.0.0.0/24 link-scope prefix  will  be  issued.
	       This behaviour is recommended if	deploying FreeBSD in a network
	       environment  with  layer	 2 devices which snoop IGMP traffic to
	       mitigate	multicast propagation throughout  the  network.	  This
	       sysctl is normally enabled by default.

       net.inet.igmp.sendra
	       If  this	variable is non-zero, then IGMP	v2 and v3 reports will
	       contain the IP Router Alert option.  This  sysctl  is  normally
	       enabled by default.

       net.inet.igmp.recvifkludge
	       If  this	variable is non-zero, then received IGMP reports which
	       contain 0.0.0.0 as their	source will be	rewritten  to  contain
	       the  subnet  address.   This is useful when there are hosts on-
	       link which have not yet been configured with a primary IPv4 ad-
	       dress.  This sysctl is normally enabled by default.

SEE ALSO
       netstat(1), sourcefilter(3), inet(4), multicast(4), ifmcstat(8)

HISTORY
       The igmp	manual page re-appeared	in FreeBSD 8.0.

FreeBSD	15.0			 March 9, 2009			       IGMP(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=igmp&manpath=FreeBSD+15.0-RELEASE+and+Ports>

home | help