RFC 3678 (rfc3678) - Page 2 of 18


Socket Interface Extensions for Multicast Source Filters



Alternative Format: Original Text Document



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
   source filters for IP Multicast group memberships.  It also defines
   the socket structures to provide input and output arguments to these
   new APIs.  These extensions are designed to provide access to the
   source filtering features required by applications, while introducing
   a minimum of change into the system and providing complete
   compatibility for existing multicast applications.

   Furthermore, RFC 3493 [1] defines socket interface extensions for
   IPv6, including protocol-independent functions for most operations.




Thaler, et al.               Informational