Socket Interface Extensions for Multicast Source Filters
RFC 3678

 
Document Type RFC - Informational (January 2004; Errata)
Last updated 2013-03-02
Stream IETF
Formats plain text pdf html
Stream WG state (None)
Consensus Unknown
Document shepherd No shepherd assigned
IESG IESG state RFC 3678 (Informational)
Telechat date
Responsible AD Margaret Wasserman
Send notices to <kouvelas@cisco.com>, <brian@innovationslab.net>
Network Working Group                                          D. Thaler
Request for Comments: 3678                                     Microsoft
Category: Informational                                        B. Fenner
                                                           AT&T Research
                                                                B. Quinn
                                                            Stardust.com
                                                            January 2004

        Socket Interface Extensions for Multicast Source Filters

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2004).  All Rights Reserved.

Abstract

   The Internet Group Management Protocol (IGMPv3) for IPv4 and the
   Multicast Listener Discovery (MLDv2) for IPv6 add the capability for
   applications to express source filters on multicast group
   memberships, which allows receiver applications to determine the set
   of senders (sources) from which to accept multicast traffic.  This
   capability also simplifies support of one-to-many type multicast
   applications.

   This document specifies new socket options and functions to manage
   source filters for IP Multicast group memberships.  It also defines
   the socket structures to provide input and output arguments to these
   new application program interfaces (APIs).  These extensions are
   designed to provide access to the source filtering features, while
   introducing a minimum of change into the system and providing
   complete compatibility for existing multicast applications.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Design Considerations. . . . . . . . . . . . . . . . . . . . .  3
       2.1 What Needs to be Added . . . . . . . . . . . . . . . . . .  4
       2.2 Data Types . . . . . . . . . . . . . . . . . . . . . . . .  4
       2.3 Headers. . . . . . . . . . . . . . . . . . . . . . . . . .  4
       2.4 Structures . . . . . . . . . . . . . . . . . . . . . . . .  4
   3. Overview of APIs. . . . . . . . . . . . . . . . . . . . . . . .  5

Thaler, et al.               Informational                      [Page 1]
RFC 3678              Multicast Source Filter API           January 2004

   4. IPv4 Multicast Source Filter APIs . . . . . . . . . . . . . . .  6
      4.1 Basic (Delta-based) API for IPv4. . . . . . . . . . . . . .  6
           4.1.1 IPv4 Any-Source Multicast API. . . . . . . . . . . .  7
           4.1.2 IPv4 Source-Specific Multicast API . . . . . . . . .  7
           4.1.3 Error Codes. . . . . . . . . . . . . . . . . . . . .  8
      4.2 Advanced (Full-state) API for IPv4. . . . . . . . . . . . .  8
           4.2.1 Set Source Filter. . . . . . . . . . . . . . . . . .  8
           4.2.2 Get Source Filter. . . . . . . . . . . . . . . . . .  9
   5: Protocol-Independent Multicast Source Filter APIs . . . . . . . 10
      5.1 Basic (Delta-based) API . . . . . . . . . . . . . . . . . . 10
           5.1.1 Any-Source Multicast API . . . . . . . . . . . . . . 11
           5.1.2 Source-Specific Multicast API. . . . . . . . . . . . 11
      5.2 Advanced (Full-state) API . . . . . . . . . . . . . . . . . 11
           5.2.1 Set Source Filter. . . . . . . . . . . . . . . . . . 11
           5.2.2 Get Source Filter. . . . . . . . . . . . . . . . . . 12
   6.  Security Considerations. . . . . . . . . . . . . . . . . . . . 13
   7.  Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 13
   8.  Appendix A: Use of ioctl() for full-state operations . . . . . 14
       8.1. IPv4 Options. . . . . . . . . . . . . . . . . . . . . . . 14
       8.2. Protocol-Independent Options. . . . . . . . . . . . . . . 15
   9.  Normative References . . . . . . . . . . . . . . . . . . . . . 16
   10. Informative References . . . . . . . . . . . . . . . . . . . . 16
   11. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 17
   12. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 18

1.  Introduction

   The de facto standard application program interface (API) for TCP/IP
   applications is the "sockets" interface.  Although this API was
   developed for Unix in the early 1980s it has also been implemented on
   a wide variety of non-Unix systems.  TCP/IP applications written
   using the sockets API have in the past enjoyed a high degree of
   portability and we would like the same portability with applications
   that employ multicast source filters.  Changes are required to the
   sockets API to support such filtering and this memo describes these
   changes.

   This document specifies new socket options and functions to manage
Show full document text