Skip to main content

A YANG Data Model for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD)
draft-ietf-pim-igmp-mld-yang-14

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 8652.
Authors Xufeng Liu , Feng Guo , Mahesh Sivakumar , Pete McAllister , Anish Peter
Last updated 2019-05-30 (Latest revision 2019-05-29)
Replaces draft-guo-pim-igmp-mld-yang
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state Submitted to IESG for Publication
Document shepherd Stig Venaas
Shepherd write-up Show Last changed 2017-11-20
IESG IESG state Became RFC 8652 (Proposed Standard)
Consensus boilerplate Yes
Telechat date (None)
Responsible AD Alvaro Retana
Send notices to Stig Venaas <stig@venaas.com>, aretana.ietf@gmail.com
IANA IANA review state IANA OK - Actions Needed
draft-ietf-pim-igmp-mld-yang-14
quot;;
               }
               description
                 "Reference to an entry in the global interface list.";
             }
             uses interface-config-attributes-igmp {

Liu & Guo, etc          Expires November, 2019                [Page 35]
Internet-Draft          IGMP & MLD Yang Model                  May 2019

               if-feature per-interface-config;
             }
             uses interface-state-attributes-igmp;
           } // interface
         } // interfaces

         /*
          * Actions
          */
         action clear-groups {
           if-feature action-clear-groups;
           description
             "Clears the specified IGMP cache entries.";

           input {
             choice interface {
               mandatory true;
               description
                 "Indicates the interface(s) from which the cache
                  entries are cleared.";
               case name {
                 leaf interface-name {
                   type leafref {
                     path "/rt:routing/rt:control-plane-protocols/"
                       + "rt:control-plane-protocol/"
                       + "igmp-mld:igmp/igmp-mld:interfaces/"
                       + "igmp-mld:interface/igmp-mld:interface-name";
                   }
                   description
                     "Name of the IGMP interface.";
                 }
               }
               case all {
                 leaf all-interfaces {
                   type empty;
                   description
                     "IGMP groups from all interfaces are cleared.";
                 }
               }
             }
             leaf group-address {
               type union {
                 type enumeration {
                   enum '*' {
                     description
                       "Any group address.";
                   }
                 }
                 type rt-types:ipv4-multicast-group-address;

Liu & Guo, etc          Expires November, 2019                [Page 36]
Internet-Draft          IGMP & MLD Yang Model                  May 2019

               }
               mandatory true;
               description
                 "Multicast group IPv4 address.
                  If the value '*' is specified, all IGMP group entries
                  are cleared.";
             }
             leaf source-address {
               type rt-types:ipv4-multicast-source-address;
               mandatory true;
               description
                 "Multicast source IPv4 address.
                  If the value '*' is specified, all IGMP source-group
                  entries are cleared.";
             }
           }
         } // action clear-groups
       } // igmp
     } //augment

     augment "/rt:routing/rt:control-plane-protocols/"
       + "rt:control-plane-protocol" {
       when "derived-from-or-self(rt:type, 'igmp-mld:mld')" {
         description
           "This augmentation is only valid for a control-plane
            protocol instance of IGMP (type 'mld').";
       }
       description
         "MLD augmentation to routing control plane protocol
          configuration and state.";

       container mld {
         if-feature feature-mld;
         description
           "MLD configuration and operational state data.";

         container global {
           description
             "Global attributes.";

           uses global-config-attributes;
           uses global-state-attributes;
         }
         container interfaces {
           description
             "Containing a list of interfaces.";

           uses interfaces-config-attributes-mld {
             if-feature global-interface-config;

Liu & Guo, etc          Expires November, 2019                [Page 37]
Internet-Draft          IGMP & MLD Yang Model                  May 2019

           }
           list interface {
             key "interface-name";
             description
               "List of MLD interfaces.";

             leaf interface-name {
               type if:interface-ref;
               must "/if:interfaces/if:interface[if:name = current()]/"
                 + "ip:ipv6" {
                 description
                   "The interface must have IPv6 configured, either
                    enabled or disabled.";
               }
               description
                 "Reference to an entry in the global interface list.";
             }
             uses interface-config-attributes-mld {
               if-feature per-interface-config;
             }
             uses interface-state-attributes-mld;
           } // interface
         } // interfaces

         /*
          * Actions
          */
         action clear-groups {
           if-feature action-clear-groups;
           description
             "Clears the specified MLD cache entries.";

           input {
             choice interface {
               mandatory true;
               description
                 "Indicates the interface(s) from which the cache
                  entries are cleared.";
               case name {
                 leaf interface-name {
                   type leafref {
                     path "/rt:routing/rt:control-plane-protocols/"
                       + "rt:control-plane-protocol/"
                       + "igmp-mld:mld/igmp-mld:interfaces/"
                       + "igmp-mld:interface/igmp-mld:interface-name";
                   }
                   description
                     "Name of the MLD interface.";
                 }

Liu & Guo, etc          Expires November, 2019                [Page 38]
Internet-Draft          IGMP & MLD Yang Model                  May 2019

               }
               case all {
                 leaf all-interfaces {
                   type empty;
                   description
                     "MLD groups from all interfaces are cleared.";
                 }
               }
             }
             leaf group-address {
               type union {
                 type enumeration {
                   enum '*' {
                     description
                       "Any group address.";
                   }
                 }
                 type rt-types:ipv6-multicast-group-address;
               }
               description
                 "Multicast group IPv6 address.
                  If the value '*' is specified, all MLD group entries
                  are cleared.";
             }
             leaf source-address {
               type rt-types:ipv6-multicast-source-address;
               description
                 "Multicast source IPv6 address.
                  If the value '*' is specified, all MLD source-group
                  entries are cleared.";
             }
           }
         } // action clear-mld-groups
       } // mld
     } // augment
   }
   <CODE ENDS>

5. Security Considerations

   The YANG module specified in this document defines a schema for data
   that is designed to be accessed via network management protocols
   such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF
   layer is the secure transport layer, and the mandatory-to-implement
   secure transport is Secure Shell (SSH) [RFC6242]. The lowest
   RESTCONF layer is HTTPS, and the mandatory-to-implement secure
   transport is TLS [RFC8446].

Liu & Guo, etc          Expires November, 2019                [Page 39]
Internet-Draft          IGMP & MLD Yang Model                  May 2019

   The Network Configuration Access Control Model (NACM) [RFC8341]
   provides the means to restrict access for particular NETCONF or
   RESTCONF users to a preconfigured subset of all available NETCONF or
   RESTCONF protocol operations and content.

   There are a number of data nodes defined in this YANG module that
   are writable/creatable/deletable (i.e., config true, which is the
   default). These data nodes may be considered sensitive or vulnerable
   in some network environments. Write operations (e.g., edit-config)
   to these data nodes without proper protection can have a negative
   effect on network operations. These are the subtrees and data nodes
   and their sensitivity/vulnerability:

   Under /rt:routing/rt:control-plane-protocols
   /rt:control-plane-protocol/igmp-mld:igmp,

   igmp-mld:global

     This subtree specifies the configuration for the IGMP attributes
     at the global level on an IGMP instance.  Modifying the
     configuration can cause IGMP membership to be deleted or
     reconstructed on all the interfaces of an IGMP instance.

   igmp-mld:interfaces

     This subtree specifies the configuration for the IGMP attributes
     at the interface-global level on a IGMP instance.  Modifying the
     configuration can cause IGMP membership to be deleted or
     reconstructed on all the interfaces of an IGMP instance.

   igmp-mld:interfaces/interface

     This subtree specifies the configuration for the IGMP attributes
     at the interface level on an IGMP instance.  Modifying the
     configuration can cause IGMP membership to be deleted or
     reconstructed on a specific interface of an IGMP instance.

  Under /rt:routing/rt:control-plane-protocols
  /rt:control-plane-protocol/igmp-mld:mld,

   igmp-mld:global

     This subtree specifies the configuration for the MLD attributes at
     the global level on an MLD instance.  Modifying the configuration
     can cause MLD membership to be deleted or reconstructed on all the
     interfaces of an MLD instance.

   igmp-mld:interfaces

Liu & Guo, etc          Expires November, 2019                [Page 40]
Internet-Draft          IGMP & MLD Yang Model                  May 2019

     This subtree specifies the configuration for the MLD attributes at
     the interface-global level on an MLD instance.  Modifying the
     configuration can cause MLD membership to be deleted or
     reconstructed on all the interfaces of an MLD instance.

   igmp-mld:interfaces/interface

     This subtree specifies the configuration for the MLD attributes at
     the interface level on a device.  Modifying the configuration can
     cause MLD membership to be deleted or reconstructed on a specific
     interface of an MLD instance.

   Unauthorized access to any data node of these subtrees can adversely
   affect the membership records of multicast routing subsystem on the
   local device.  This may lead to network malfunctions, delivery of
   packets to inappropriate destinations, and other problems.

   Some of the readable data nodes in this YANG module may be
   considered sensitive or vulnerable in some network environments. It
   is thus important to control read access (e.g., via get, get-config,
   or notification) to these data nodes. These are the subtrees and
   data nodes and their sensitivity/vulnerability:

   /rt:routing/rt:control-plane-protocols
   /rt:control-plane-protocol/igmmp-mld:igmp

   /rt:routing/rt:control-plane-protocols
   /rt:control-plane-protocol/igmp-mld:mld

   Unauthorized access to any data node of the above subtree can
   disclose the operational state information of IGMP or MLD on this
   device.

   Some of the action operations in this YANG module may be considered
   sensitive or vulnerable in some network environments. It is thus
   important to control access to these operations. These are the
   operations and their sensitivity/vulnerability:

   /rt:routing/rt:control-plane-protocols
   /rt:control-plane-protocol/igmmp-mld:igmp/igmmp-mld:clear-groups

   /rt:routing/rt:control-plane-protocols
   /rt:control-plane-protocol/igmp-mld:mld/igmp-mld:clear-groups

Liu & Guo, etc          Expires November, 2019                [Page 41]
Internet-Draft          IGMP & MLD Yang Model                  May 2019

   Unauthorized access to any of the above action operations can delete
   the IGMP or MLD membership records on this device.

6. IANA Considerations

   RFC Ed.: In this section, replace all occurrences of 'XXXX' with the
   actual RFC number (and remove this note).

   This document registers the following namespace URIs in the IETF XML
   registry [RFC3688]:

   --------------------------------------------------------------------

   URI: urn:ietf:params:xml:ns:yang:ietf-igmp-mld

   Registrant Contact: The IESG.

   XML: N/A, the requested URI is an XML namespace.

  --------------------------------------------------------------------

  This document registers the following YANG modules in the YANG Module
  Names registry [RFC6020]:

  --------------------------------------------------------------------

   name:         ietf-igmp-mld

   namespace:    urn:ietf:params:xml:ns:yang:ietf-igmp-mld

   prefix:       igmp-mld

   reference:    RFC XXXX

   --------------------------------------------------------------------

7. Acknowledgments

   The authors would like to thank Steve Baillargeon, Hu Fangwei,
   Robert Kebler, Tanmoy Kundu, and Stig Venaas for their valuable
   contributions.

Liu & Guo, etc          Expires November, 2019                [Page 42]
Internet-Draft          IGMP & MLD Yang Model                  May 2019

8. Contributing Authors

   Yisong Liu
   Huawei Technologies
   Huawei Bldg., No.156 Beiqing Rd.
   Beijing  100095
   China

   Email: liuyisong@huawei.com

9. References

9.1. Normative References

   [RFC1112] Deering, S., "Host extensions for IP multicasting", STD 5,
             RFC 1112, August 1989.

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2236] Fenner, W., "Internet Group Management Protocol, Version
             2", RFC 2236, November 1997.

   [RFC2710] Deering, S., Fenner, W., and B. Haberman, "Multicast
             Listener Discovery (MLD) for IPv6", RFC 2710, October
             1999.

   [RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
             Thyagarajan, "Internet Group Management Protocol, Version
             3", RFC 3376, October 2002.

   [RFC3688] Mealling, M., "The IETF XML Registry", RFC 3688, January
             2004.

   [RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery
             Version 2 (MLDv2) for IPv6", RFC 3810, June 2004.

   [RFC4607] Holbrook, H. and B. Cain, "Source-Specific Multicast for
             IP", RFC 4607, August 2006.

   [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
             the Network Configuration Protocol (NETCONF)", RFC 6020,
             October 2010.

   [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
             and A. Bierman, Ed., "Network Configuration Protocol
             (NETCONF)", RFC 6241, June 2011.

Liu & Guo, etc          Expires November, 2019                [Page 43]
Internet-Draft          IGMP & MLD Yang Model                  May 2019

   [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
             Shell (SSH)", RFC 6242, June 2011.

   [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types",
             RFC 6991, July 2013.

   [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
             RFC 7950, August 2016.

   [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
             Protocol", RFC 8040, January 2017.

   [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
             2119 Key Words", BCP 14, RFC 8174, May 2017.

   [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger,
             "Common YANG Data Types for the Routing Area", RFC 8294,
             December 2017.

   [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration
             Access Control Model", STD 91, RFC 8341, March 2018.

   [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
             and R. Wilton, "Network Management Datastore Architecture
             (NMDA)", RFC 8342, March 2018.

   [RFC8343] Bjorklund, M., "A YANG Data Model for Interface
             Management", RFC 8343, March 2018.

   [RFC8344] M. Bjorklund, "A YANG Data Model for IP Management",
             RFC8344, March 2018.

   [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for
             Routing Management (NMDA Version)", RFC 8349, March 2018.

   [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
             Version 1.3", RFC 8446, August 2018.

   [RFC8519] M. Jethanandani, S. Agarwal, L. Huang and D. Blair, "YANG
             Data Model for Network Access Control Lists (ACLs)", RFC
             8519, March 2019.

9.2. Informative References

   [RFC3569] Bhattacharyya, S., Ed., "An Overview of Source-Specific
             Multicast (SSM)", RFC 3569, July 2003.

Liu & Guo, etc          Expires November, 2019                [Page 44]
Internet-Draft          IGMP & MLD Yang Model                  May 2019

   [RFC4541] M. Christensen, K. Kimball and F. Solensky,
             "Considerations for Internet Group Management Protocol
             (IGMP) and Multicast Listener Discovery (MLD) Snooping
             Switches", RFC 4541, May 2006.

   [RFC4605] B. Fenner, H. He, B. Haberman, and H. Sandick, "Internet
             Group Management Protocol (IGMP) / Multicast Listener
             Discovery (MLD)-Based Multicast Forwarding ("IGMP/MLD
             Proxying")", RFC 4605, August 2006.

   [RFC5790] H. Liu, W. Cao and H. Asaeda, "Lightweight Internet Group
             Management Protocol Version 3 (IGMPv3) and Multicast
             Listener Discovery Version 2 (MLDv2) Protocols", RFC 5790,
             February 2010.

   [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
             BCP 215, RFC 8340, March 2018.

   [RFC8407] Bierman, A., "Guidelines for Authors and Reviewers of
             Documents Containing YANG Data Models", RFC 8407, October
             2018.

   [I-D.ietf-netconf-subscribed-notifications]
             Voit, E., Clemm, A., Prieto, A., Nilsen-Nygaard, E., and
             A. Tripathy, "Customized Subscriptions to a Publisher's
             Event Streams", draft-ietf-netconf-subscribed-
             notifications-26 (work in progress), May 2019.

   [I-D.ietf-netconf-yang-push]
             Clemm, A., Voit, E., Prieto, A., Tripathy, A., Nilsen-
             Nygaard, E., Bierman, A., and B. Lengyel, "YANG Datastore
             Subscription", draft-ietf-netconf-yang-push-25 (work in
             progress), May 2019.

Liu & Guo, etc          Expires November, 2019                [Page 45]
Internet-Draft          IGMP & MLD Yang Model                  May 2019

   Authors' Addresses

   Xufeng Liu
   Volta Networks

   Email: xufeng.liu.ietf@gmail.com

   Feng Guo
   Huawei Technologies
   Huawei Bldg., No.156 Beiqing Rd.
   Beijing  100095
   China

   Email: guofeng@huawei.com

   Mahesh Sivakumar
   Juniper Networks
   1133 Innovation Way
   Sunnyvale, California
   USA

   Email: sivakumar.mahesh@gmail.com

   Pete McAllister
   Metaswitch Networks
   100 Church Street
   Enfield  EN2 6BQ
   UK

   Email: pete.mcallister@metaswitch.com

   Anish Peter
   Individual

   Email: anish.ietf@gmail.com

Liu & Guo, etc          Expires November, 2019                [Page 46]