1fe9ee5e8SBruce M Simpson.\" 2fe9ee5e8SBruce M Simpson.\" Copyright (c) 2009 Bruce Simpson. 3fe9ee5e8SBruce M Simpson.\" 4fe9ee5e8SBruce M Simpson.\" Redistribution and use in source and binary forms, with or without 5fe9ee5e8SBruce M Simpson.\" modification, are permitted provided that the following conditions 6fe9ee5e8SBruce M Simpson.\" are met: 7fe9ee5e8SBruce M Simpson.\" 1. Redistributions of source code must retain the above copyright 8fe9ee5e8SBruce M Simpson.\" notice, this list of conditions and the following disclaimer. 9fe9ee5e8SBruce M Simpson.\" 2. Redistributions in binary form must reproduce the above copyright 10fe9ee5e8SBruce M Simpson.\" notice, this list of conditions and the following disclaimer in the 11fe9ee5e8SBruce M Simpson.\" documentation and/or other materials provided with the distribution. 12fe9ee5e8SBruce M Simpson.\" 3. Neither the name of the project nor the names of its contributors 13fe9ee5e8SBruce M Simpson.\" may be used to endorse or promote products derived from this software 14fe9ee5e8SBruce M Simpson.\" without specific prior written permission. 15fe9ee5e8SBruce M Simpson.\" 16fe9ee5e8SBruce M Simpson.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 17fe9ee5e8SBruce M Simpson.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18fe9ee5e8SBruce M Simpson.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19fe9ee5e8SBruce M Simpson.\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 20fe9ee5e8SBruce M Simpson.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21fe9ee5e8SBruce M Simpson.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22fe9ee5e8SBruce M Simpson.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23fe9ee5e8SBruce M Simpson.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24fe9ee5e8SBruce M Simpson.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25fe9ee5e8SBruce M Simpson.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26fe9ee5e8SBruce M Simpson.\" SUCH DAMAGE. 27fe9ee5e8SBruce M Simpson.\" 28fe9ee5e8SBruce M Simpson.Dd March 9, 2009 29fe9ee5e8SBruce M Simpson.Dt IGMP 4 30fe9ee5e8SBruce M Simpson.Os 31fe9ee5e8SBruce M Simpson.Sh NAME 32fe9ee5e8SBruce M Simpson.Nm igmp 33fe9ee5e8SBruce M Simpson.Nd Internet Group Management Protocol 34fe9ee5e8SBruce M Simpson.Sh SYNOPSIS 35fe9ee5e8SBruce M Simpson.In sys/types.h 36fe9ee5e8SBruce M Simpson.In sys/socket.h 37fe9ee5e8SBruce M Simpson.In netinet/in.h 38fe9ee5e8SBruce M Simpson.In netinet/in_systm.h 39fe9ee5e8SBruce M Simpson.In netinet/ip.h 40fe9ee5e8SBruce M Simpson.In netinet/igmp.h 41fe9ee5e8SBruce M Simpson.Ft int 42fe9ee5e8SBruce M Simpson.Fn socket AF_INET SOCK_RAW IPPROTO_IGMP 43fe9ee5e8SBruce M Simpson.Sh DESCRIPTION 44fe9ee5e8SBruce M Simpson.Tn IGMP 45fe9ee5e8SBruce M Simpsonis a control plane protocol used by IPv4 hosts and routers to 46fe9ee5e8SBruce M Simpsonpropagate multicast group membership information. 47fe9ee5e8SBruce M SimpsonNormally this protocol is not used directly, except by the kernel 48fe9ee5e8SBruce M Simpsonitself, in response to multicast membership requests by user 49fe9ee5e8SBruce M Simpsonapplications. 50fe9ee5e8SBruce M SimpsonRouting protocols may open a raw socket to directly interact with 51fe9ee5e8SBruce M Simpson.Nm . 52fe9ee5e8SBruce M Simpson.Pp 53fe9ee5e8SBruce M SimpsonAs of 54fe9ee5e8SBruce M Simpson.Fx 8.0 , 55fe9ee5e8SBruce M SimpsonIGMP version 3 is implemented. 56fe9ee5e8SBruce M SimpsonThis adds support for Source-Specific Multicast (SSM), whereby 57fe9ee5e8SBruce M Simpsonapplications may communicate to upstream multicast routers that 58fe9ee5e8SBruce M Simpsonthey are only interested in receiving multicast streams from 59fe9ee5e8SBruce M Simpsonparticular sources. 60fe9ee5e8SBruce M Simpson.\" 61fe9ee5e8SBruce M Simpson.Sh SYSCTL VARIABLES 62fe9ee5e8SBruce M Simpson.Bl -tag -width indent 63fe9ee5e8SBruce M Simpson.\" 64fe9ee5e8SBruce M Simpson.It net.inet.igmp.stats 65fe9ee5e8SBruce M SimpsonThis opaque read-only variable exposes the stack-wide IGMPv3 66fe9ee5e8SBruce M Simpsonprotocol statistics to 67fe9ee5e8SBruce M Simpson.Xr netstat 1 . 68fe9ee5e8SBruce M Simpson.\" 69fe9ee5e8SBruce M Simpson.It net.inet.igmp.ifinfo 70fe9ee5e8SBruce M SimpsonThis opaque read-only variable exposes the per-link IGMPv3 status to 71fe9ee5e8SBruce M Simpson.Xr ifmcstat 8 . 72fe9ee5e8SBruce M Simpson.\" 73fe9ee5e8SBruce M Simpson.It net.inet.igmp.gsrdelay 74fe9ee5e8SBruce M SimpsonThis variable specifies the time threshold, in seconds, for processing 75fe9ee5e8SBruce M SimpsonGroup-and-Source Specific Queries (GSR). 76fe9ee5e8SBruce M SimpsonAs GSR query processing requires maintaining state on the host, 77fe9ee5e8SBruce M Simpsonit may cause memory to be allocated, and is therefore a potential 78fe9ee5e8SBruce M Simpsonattack point for Denial-of-Service (DoS). 79fe9ee5e8SBruce M SimpsonIf more than one GSR query is received within this threshold, 80fe9ee5e8SBruce M Simpsonit will be dropped, to mitigate the potential for DoS. 81fe9ee5e8SBruce M Simpson.\" 82fe9ee5e8SBruce M Simpson.It net.inet.igmp.default_version 83fe9ee5e8SBruce M SimpsonThis variable controls the default version of IGMP to be used on all links. 84fe9ee5e8SBruce M SimpsonThis sysctl is normally set to 3 by default. 85fe9ee5e8SBruce M Simpson.\" 86fe9ee5e8SBruce M Simpson.It net.inet.igmp.legacysupp 87fe9ee5e8SBruce M SimpsonIf this variable is non-zero, then IGMP v1 and v2 membership reports 88fe9ee5e8SBruce M Simpsonreceived on a link will be allowed to suppress the IGMP v3 state-change 89fe9ee5e8SBruce M Simpsonreports which would otherwise be issued by this host. 90fe9ee5e8SBruce M SimpsonThis sysctl is normally enabled by default. 91fe9ee5e8SBruce M Simpson.\" 92fe9ee5e8SBruce M Simpson.It net.inet.igmp.v2enable 93fe9ee5e8SBruce M SimpsonIf this variable is non-zero, then IGMP v2 membership queries will be 94fe9ee5e8SBruce M Simpsonprocessed by this host, and backwards compatibility will be enabled 95fe9ee5e8SBruce M Simpsonuntil the v2 'Old Querier Present' timer expires. 96fe9ee5e8SBruce M SimpsonThis sysctl is normally enabled by default. 97fe9ee5e8SBruce M Simpson.\" 98fe9ee5e8SBruce M Simpson.It net.inet.igmp.v1enable 99fe9ee5e8SBruce M SimpsonIf this variable is non-zero, then IGMP v1 membership queries will be 100fe9ee5e8SBruce M Simpsonprocessed by this host, and backwards compatibility will be enabled 101fe9ee5e8SBruce M Simpsonuntil the v1 'Old Querier Present' timer expires. 102fe9ee5e8SBruce M SimpsonThis sysctl is normally enabled by default. 103fe9ee5e8SBruce M Simpson.\" 104fe9ee5e8SBruce M Simpson.It net.inet.igmp.sendlocal 105fe9ee5e8SBruce M SimpsonIf this variable is non-zero, then IGMP state-changes for groups in 106fe9ee5e8SBruce M Simpsonthe 224.0.0.0/24 link-scope prefix will be issued. 107fe9ee5e8SBruce M SimpsonThis behaviour is recommended if deploying 108fe9ee5e8SBruce M Simpson.Fx 109fe9ee5e8SBruce M Simpsonin a network environment with layer 2 devices which snoop IGMP traffic 110fe9ee5e8SBruce M Simpsonto mitigate multicast propagation throughout the network. 111fe9ee5e8SBruce M SimpsonThis sysctl is normally enabled by default. 112fe9ee5e8SBruce M Simpson.\" 113fe9ee5e8SBruce M Simpson.It net.inet.igmp.sendra 114fe9ee5e8SBruce M SimpsonIf this variable is non-zero, then IGMP v2 and v3 reports will contain 115fe9ee5e8SBruce M Simpsonthe IP Router Alert option. 116fe9ee5e8SBruce M SimpsonThis sysctl is normally enabled by default. 117fe9ee5e8SBruce M Simpson.\" 118fe9ee5e8SBruce M Simpson.It net.inet.igmp.recvifkludge 119fe9ee5e8SBruce M SimpsonIf this variable is non-zero, then received IGMP reports which contain 120fe9ee5e8SBruce M Simpson0.0.0.0 as their source will be rewritten to contain the subnet address. 121fe9ee5e8SBruce M SimpsonThis is useful when there are hosts on-link which have not yet been 122fe9ee5e8SBruce M Simpsonconfigured with a primary IPv4 address. 123fe9ee5e8SBruce M SimpsonThis sysctl is normally enabled by default. 124fe9ee5e8SBruce M Simpson.\" 125fe9ee5e8SBruce M Simpson.El 126fe9ee5e8SBruce M Simpson.Sh SEE ALSO 127*923544aaSBaptiste Daroussin.Xr netstat 1 , 128*923544aaSBaptiste Daroussin.Xr sourcefilter 3 , 129fe9ee5e8SBruce M Simpson.Xr inet 4 , 130fe9ee5e8SBruce M Simpson.Xr multicast 4 , 131*923544aaSBaptiste Daroussin.Xr ifmcstat 8 132fe9ee5e8SBruce M Simpson.Sh HISTORY 133fe9ee5e8SBruce M SimpsonThe 134fe9ee5e8SBruce M Simpson.Nm 135fe9ee5e8SBruce M Simpsonmanual page re-appeared in 136fe9ee5e8SBruce M Simpson.Fx 8.0 . 137