[man-pages] - add documentation of several source-specific multicast socket options to the ip(7) man page (#8040

pschiffe pschiffe at fedoraproject.org
Wed Sep 19 13:57:31 UTC 2012


commit 63ee57cf9c5450564d14c669273412522f1355c9
Author: Peter Schiffer <pschiffe at redhat.com>
Date:   Thu Sep 13 12:44:16 2012 +0200

    - add documentation of several source-specific multicast socket options to the ip(7) man page (#804003)

 man-pages-3.42-ip.patch |  153 +++++++++++++++++++++++++++++++++++++++++++++++
 man-pages.spec          |    4 +
 2 files changed, 157 insertions(+), 0 deletions(-)
---
diff --git a/man-pages-3.42-ip.patch b/man-pages-3.42-ip.patch
new file mode 100644
index 0000000..b555e9b
--- /dev/null
+++ b/man-pages-3.42-ip.patch
@@ -0,0 +1,153 @@
+diff -ur man-pages-3.42.orig/man7/ip.7 man-pages-3.42/man7/ip.7
+--- man-pages-3.42.orig/man7/ip.7	2012-08-14 00:39:40.000000000 +0200
++++ man-pages-3.42/man7/ip.7	2012-09-13 12:36:54.595823788 +0200
+@@ -256,6 +256,58 @@
+ .BR setsockopt (2).
+ .\"
+ .TP
++.BR IP_ADD_SOURCE_MEMBERSHIP " (since Linux 2.5.68)"
++Join a multicast group and allow receiving data only
++from a specified source.
++Argument is an
++.I ip_mreq_source
++structure.
++.sp
++.in +4n
++.nf
++struct ip_mreq_source {
++    struct in_addr imr_multiaddr;  /* IP multicast group
++                                      address */
++    struct in_addr imr_interface;  /* IP address of local
++                                      interface */
++    struct in_addr imr_sourceaddr; /* IP address of
++                                      multicast source */
++};
++.fi
++.in
++.sp
++.I ip_mreq_source
++structure is similar to
++.I ip_mreqn
++described at
++.BR IP_ADD_MEMBERSIP .
++.I imr_multiaddr
++contains the address of the multicast group the application
++wants to join or leave.
++.I imr_interface
++is the address of the local interface with which
++the system should join the multicast group.
++Finally
++.I imr_sourceaddr
++field contains address of the source the
++application wants to receive data from.
++.IP
++This option can be used multiple times to allow
++receiving data from more than one source.
++.TP
++.BR IP_BLOCK_SOURCE " (since Linux 2.5.68)"
++Stop receiving multicast data from a specific source in a given
++group. This is valid only after the application has subscribed
++to the multicast group using either
++.BR IP_ADD_MEMBERSHIP
++or
++.BR IP_ADD_SOURCE_MEMBERSHIP .
++.IP
++Argument is an
++.I ip_mreq_source
++structure as described at
++.BR IP_ADD_SOURCE_MEMBERSHIP .
++.TP
+ .BR IP_DROP_MEMBERSHIP " (since Linux 1.2)"
+ Leave a multicast group.
+ Argument is an
+@@ -265,6 +317,19 @@
+ structure similar to
+ .BR IP_ADD_MEMBERSHIP .
+ .TP
++.BR IP_DROP_SOURCE_MEMBERSHIP " (since Linux 2.5.68)"
++Leave a source-specific group, i.e., stop receiving data from
++a given multicast group that come from a given source).
++If the application has subscribed to multiple sources within
++the same group, data from the remaining sources will still be
++delivered. To stop receiving data from all sources at once use
++.BR IP_LEAVE_GROUP .
++.IP
++Argument is an
++.I ip_mreq_source
++structure as described at
++.BR IP_ADD_SOURCE_MEMBERSHIP .
++.TP
+ .BR IP_FREEBIND " (since Linux 2.4)"
+ .\" Precisely: 2.4.0-test10
+ If enabled, this boolean option allows binding to an IP address
+@@ -293,6 +358,45 @@
+ and
+ .B IP_TOS
+ are ignored.
++.TP
++.BR IP_MSFILTER " (since Linux 2.5.68)"
++This option provides access to the advanced full-state filtering API.
++Argument is an
++.I ip_msfilter
++structure.
++.sp
++.in +4n
++.nf
++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 sources in
++                                      the following array */
++    struct in_addr imsf_slist[1];  /* Array of source
++                                      addresses */
++};
++.fi
++.in
++.sp
++There are two macros,
++.BR MCAST_INCLUDE
++and
++.BR MCAST_EXCLUDE ,
++which can be used to specify the filtering mode.
++Additionaly,
++.BR IP_MSFILTER_SIZE (n)
++macro exists to determine how much memory is needed to store
++.I ip_msfilter
++structure with
++.I n
++sources in the source list.
++.IP
++For the full description of multicast source filtering
++refer to RFC 3376.
+ .\"
+ .\" FIXME Document IP_IPSEC_POLICY
+ .\" Since Linux 2.5.47
+@@ -768,6 +872,16 @@
+ .BR IP_TTL " (since Linux 1.0)"
+ Set or retrieve the current time-to-live field that is used in every packet
+ sent from this socket.
++.TP
++.BR IP_UNBLOCK_SOURCE " (since Linux 2.5.68)"
++Unblock previously blocked multicast source. Returns
++.BR EADDRNOTAVAIL
++when given source is not being blocked.
++.IP
++Argument is an
++.I ip_mreq_source
++structure as described at
++.BR IP_ADD_SOURCE_MEMBERSHIP .
+ .\" FIXME Document IP_XFRM_POLICY
+ .\" Since Linux 2.5.48
+ .\" Needs CAP_NET_ADMIN
+@@ -1005,6 +1119,7 @@
+ .BR socket (7).
+ .SH NOTES
+ .BR IP_FREEBIND ,
++.BR IP_MSFILTER ,
+ .BR IP_MTU ,
+ .BR IP_MTU_DISCOVER ,
+ .BR IP_RECVORIGDSTADDR ,
diff --git a/man-pages.spec b/man-pages.spec
index fa1aed2..09447f2 100644
--- a/man-pages.spec
+++ b/man-pages.spec
@@ -52,6 +52,8 @@ Patch49: man-pages-3.42-nsswitch-conf.patch
 Patch50: man-pages-3.42-resolv-conf.patch
 # resolves: #800256
 Patch51: man-pages-3.42-shmop.patch
+# resolves: #804003
+Patch52: man-pages-3.42-ip.patch
 
 
 Autoreq: false
@@ -85,6 +87,7 @@ Documentation Project (LDP).
 %patch49 -p1
 %patch50 -p1
 %patch51 -p1
+%patch52 -p1
 
 ## Remove man pages we are not going to use ##
 
@@ -159,6 +162,7 @@ cd ..
 - remove the sccs-related man pages (#203302)
 - added description of single-request-reopen to the resolv.conf(5) man page (#717770)
 - add missing EIDRM error code description to the shmop(2) man page (#800256)
+- add documentation of several source-specific multicast socket options to the ip(7) man page (#804003)
 
 * Thu Jul 19 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.41-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild


More information about the scm-commits mailing list