summaryrefslogtreecommitdiffstats
path: root/share/man/man4/pim.4
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man4/pim.4')
-rw-r--r--share/man/man4/pim.4232
1 files changed, 0 insertions, 232 deletions
diff --git a/share/man/man4/pim.4 b/share/man/man4/pim.4
deleted file mode 100644
index 6b4e8f7c17f..00000000000
--- a/share/man/man4/pim.4
+++ /dev/null
@@ -1,232 +0,0 @@
-.\" Copyright (c) 2001-2003 International Computer Science Institute
-.\"
-.\" Permission is hereby granted, free of charge, to any person obtaining a
-.\" copy of this software and associated documentation files (the "Software"),
-.\" to deal in the Software without restriction, including without limitation
-.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
-.\" and/or sell copies of the Software, and to permit persons to whom the
-.\" Software is furnished to do so, subject to the following conditions:
-.\"
-.\" The above copyright notice and this permission notice shall be included in
-.\" all copies or substantial portions of the Software.
-.\"
-.\" The names and trademarks of copyright holders may not be used in
-.\" advertising or publicity pertaining to the software without specific
-.\" prior permission. Title to copyright in this software and any associated
-.\" documentation will at all times remain with the copyright holders.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-.\" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-.\" DEALINGS IN THE SOFTWARE.
-.\"
-.\" $FreeBSD: src/share/man/man4/pim.4,v 1.2 2004/07/09 09:22:36 ru Exp $
-.\" $OpenBSD: pim.4,v 1.8 2012/08/24 08:54:32 jmc Exp $
-.\" $NetBSD: pim.4,v 1.2 2004/09/12 13:06:14 wiz Exp $
-.\"
-.Dd $Mdocdate: August 24 2012 $
-.Dt PIM 4
-.Os
-.\"
-.Sh NAME
-.Nm pim
-.Nd Protocol Independent Multicast
-.\"
-.Sh SYNOPSIS
-.Cd "options MROUTING"
-.Cd "options PIM"
-.Pp
-.In sys/types.h
-.In sys/socket.h
-.In netinet/in.h
-.In netinet/ip_mroute.h
-.In netinet/pim.h
-.Ft int
-.Fn getsockopt "int s" IPPROTO_IP MRT_PIM "void *optval" "socklen_t *optlen"
-.Ft int
-.Fn setsockopt "int s" IPPROTO_IP MRT_PIM "const void *optval" "socklen_t optlen"
-.Ft int
-.Fn getsockopt "int s" IPPROTO_IPV6 MRT6_PIM "void *optval" "socklen_t *optlen"
-.Ft int
-.Fn setsockopt "int s" IPPROTO_IPV6 MRT6_PIM "const void *optval" "socklen_t optlen"
-.Sh DESCRIPTION
-.Tn PIM
-is the common name for two multicast routing protocols:
-Protocol Independent Multicast \- Sparse Mode (PIM-SM) and
-Protocol Independent Multicast \- Dense Mode (PIM-DM).
-.Pp
-PIM-SM is a multicast routing protocol that can use the underlying
-unicast routing information base or a separate multicast-capable
-routing information base.
-It builds unidirectional shared trees rooted at a Rendezvous
-Point (RP) per group,
-and optionally creates shortest-path trees per source.
-.Pp
-PIM-DM is a multicast routing protocol that uses the underlying
-unicast routing information base to flood multicast datagrams
-to all multicast routers.
-Prune messages are used to prevent future datagrams from propagating
-to routers with no group membership information.
-.Pp
-Both PIM-SM and PIM-DM are fairly complex protocols,
-though PIM-SM is much more complex.
-To enable PIM-SM or PIM-DM multicast routing in a router,
-the user must enable multicast forwarding via the
-.Va net.inet.ip.mforwarding
-.Xr sysctl 8
-and PIM processing in the kernel
-(see
-.Sx SYNOPSIS
-for the correct kernel configuration option).
-The user must also run a PIM-SM or PIM-DM capable user-level process.
-From a developer's point of view,
-the programming guide described in the
-.Sx "Programming Guide"
-section should be used to control the PIM processing in the kernel.
-.\"
-.Ss Programming Guide
-After a multicast routing socket is open and multicast forwarding
-is enabled in the kernel
-(see
-.Xr multicast 4 ) ,
-one of the following socket options should be used to enable or disable
-PIM processing in the kernel.
-Note that those options require certain privilege
-(i.e., root privilege):
-.Bd -literal -offset 4n
-/* IPv4 */
-int v = 1; /* 1 to enable, or 0 to disable */
-setsockopt(mrouter_s4, IPPROTO_IP, MRT_PIM, (void *)&v, sizeof(v));
-.Ed
-.Bd -literal -offset 4n
-/* IPv6 */
-int v = 1; /* 1 to enable, or 0 to disable */
-setsockopt(mrouter_s6, IPPROTO_IPV6, MRT6_PIM, (void *)&v, sizeof(v));
-.Ed
-.Pp
-After PIM processing is enabled, the multicast-capable interfaces
-should be added
-(see
-.Xr multicast 4 ) .
-For PIM-SM, the PIM-Register virtual interface must be added
-as well.
-This can be accomplished by using the following options:
-.Bd -literal -offset indent
-/* IPv4 */
-struct vifctl vc;
-memset(&vc, 0, sizeof(vc));
-/* Assign all vifctl fields as appropriate */
-\&...
-if (is_pim_register_vif)
- vc.vifc_flags |= VIFF_REGISTER;
-setsockopt(mrouter_s4, IPPROTO_IP, MRT_ADD_VIF, (void *)&vc,
- sizeof(vc));
-.Ed
-.Bd -literal -offset indent
-/* IPv6 */
-struct mif6ctl mc;
-memset(&mc, 0, sizeof(mc));
-/* Assign all mif6ctl fields as appropriate */
-\&...
-if (is_pim_register_vif)
- mc.mif6c_flags |= MIFF_REGISTER;
-setsockopt(mrouter_s6, IPPROTO_IPV6, MRT6_ADD_MIF, (void *)&mc,
- sizeof(mc));
-.Ed
-.Pp
-Sending or receiving of PIM packets can be accomplished by
-first opening a
-.Dq raw socket
-(see
-.Xr socket 2 ) ,
-with protocol value of
-.Dv IPPROTO_PIM :
-.Bd -literal -offset indent
-/* IPv4 */
-int pim_s4;
-pim_s4 = socket(AF_INET, SOCK_RAW, IPPROTO_PIM);
-.Ed
-.Bd -literal -offset indent
-/* IPv6 */
-int pim_s6;
-pim_s6 = socket(AF_INET6, SOCK_RAW, IPPROTO_PIM);
-.Ed
-.Pp
-Then the following system calls can be used to send or receive PIM
-packets:
-.Xr sendto 2 ,
-.Xr sendmsg 2 ,
-.Xr recvfrom 2 ,
-and
-.Xr recvmsg 2 .
-.\"
-.Sh SEE ALSO
-.Xr getsockopt 2 ,
-.Xr recvfrom 2 ,
-.Xr recvmsg 2 ,
-.Xr sendmsg 2 ,
-.Xr sendto 2 ,
-.Xr setsockopt 2 ,
-.Xr socket 2 ,
-.Xr inet 4 ,
-.Xr intro 4 ,
-.Xr ip 4 ,
-.Xr multicast 4 ,
-.Xr sysctl 8
-.\"
-.Sh STANDARDS
-.Rs
-.%A A. Adams
-.%A J. Nicholas
-.%A W. Siadak
-.%D January 2005
-.%R RFC 3973
-.%T Protocol Independent Multicast \(en Dense Mode (PIM-DM): Protocol Specification (Revised)
-.Re
-.Pp
-.Rs
-.%A B. Fenner
-.%A M. Handley
-.%A H. Holbrook
-.%A I. Kouvelas
-.%D August 2006
-.%R RFC 4601
-.%T Protocol Independent Multicast \(en Sparse Mode (PIM-SM): Protocol Specification (Revised)
-.Re
-.Pp
-.Rs
-.%A N. Bhaskar
-.%A A. Gall
-.%A J. Lingard
-.%A S. Venaas
-.%D January 2008
-.%R RFC 5059
-.%T Bootstrap Router (BSR) Mechanism for Protocol Independent Multicast (PIM)
-.Re
-.\"
-.Sh AUTHORS
-.An -nosplit
-The original IPv4 PIM kernel support for IRIX and SunOS-4.x was
-implemented by
-.An Ahmed Helmy
-(USC and SGI).
-Later the code was ported to various
-.Bx
-flavors and modified by
-.An George Edmond Eddy
-(Rusty) (ISI),
-.An Hitoshi Asaeda
-(WIDE Project), and
-.An Pavlin Radoslavov
-(USC/ISI and ICSI).
-.Pp
-The IPv6 PIM kernel support was implemented by the KAME project
-.Pq Lk http://www.kame.net ,
-and was based on the IPv4 PIM kernel support.
-.Pp
-This manual page was written by
-.An Pavlin Radoslavov
-(ICSI).