xref: /freebsd/share/man/man4/igmp.4 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
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