PIM                                                              H. Zhao
Internet-Draft                                                  Ericsson
Intended status: Informational                           L. M. Contreras
Expires: 4 September 2025                                     Telefonica
                                                                  X. Liu
                                                               Alef Edge
                                                            3 March 2025


       Yang Data Model for supporting multipath IGMP/MLD proxies
              draft-zcl-pim-multiif-igmp-mld-proxy-yang-00

Abstract

   The ability to support multiple upstream interfaces in IGMP/MLD
   proxies necessitates configuring different upstream interfaces for
   specific multicast channels or sessions.  [RFC9398] defined YANG Data
   Model for Internet Group Management Protocol (IGMP) and Multicast
   Listener Discovery (MLD) Proxy Devices.  Building on that foundation,
   this document proposes an augmentation of thet model for the support
   of multiple upstream interfaces in IGMP/MLD proxies.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 4 September 2025.

Copyright Notice

   Copyright (c) 2025 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights



Zhao, et al.            Expires 4 September 2025                [Page 1]

Internet-Draft           IGMP/MLD Multipath YANG              March 2025


   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  IGMP/MLD proxy with multiple upstream interfaces  . . . . . .   2
   3.  Data Model for supporting IGMP/MLD proxy with multiple upstream
           interfaces  . . . . . . . . . . . . . . . . . . . . . . .   3
     3.1.  YANG schema tree  . . . . . . . . . . . . . . . . . . . .   3
     3.2.  IGMP Proxy YANG Module for supporting multiple upstream
           interfaces  . . . . . . . . . . . . . . . . . . . . . . .   3
     3.3.  MLD Proxy YANG Module for supporting multiple upstream
           interfaces  . . . . . . . . . . . . . . . . . . . . . . .   7
   4.  Security considerations . . . . . . . . . . . . . . . . . . .   7
   5.  Informative References  . . . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   An IGMP/MLD proxy with multiple upstream interfaces, as outlined in
   [I-D.ietf-pim-multipath-igmpmldproxy], enables a device to receive
   multicast sessions or channels through different upstream interfaces.
   The selection of a specific upstream interface can be determined
   based on various factors, including subscriber address prefixes,
   channel or session IDs, and interface priority values.

   [I-D.ietf-pim-multipath-igmpmldproxy] explores two approaches for the
   automatic configuration of upstream interfaces.  One approach
   involves a centralized controller managing the configuration,
   requiring the proxy to have a control and management interface to
   receive instructions.  Alternatively, configuration can be achieved
   through a signaling-based mechanism using IGMP/MLD messages.  While
   the latter approach is addressed in
   [I-D.contreras-pim-multiif-config], this document focuses on the
   former approach, defining augmentations to the model defined in
   [RFC9398].

2.  IGMP/MLD proxy with multiple upstream interfaces

   [I-D.ietf-pim-multipath-igmpmldproxy] defines the capabilities of an
   IGMP/MLD proxy device in receiving multicast sessions or channels
   through multiple upstream interfaces.  The proxy can operate using
   either "channel-based upstream selection," "subscriber-based upstream
   selection," or a combination of both.  In channel-based upstream
   selection, the proxy selects one or more upstream interfaces from the



Zhao, et al.            Expires 4 September 2025                [Page 2]

Internet-Draft           IGMP/MLD Multipath YANG              March 2025


   available candidates for each specific channel or session.  In
   subscriber-based upstream selection, the proxy assigns one or more
   upstream interfaces for each subscriber or receiver.

   By supporting content subscription through multiple upstream
   interfaces, the proxy can either distribute the load across sessions
   and channels or receive content simultaneously from multiple upstream
   interfaces.  This enhances the reliability of content delivery.
   Therefore, the enablement of scenarios where a channel is subscribed
   to and received through more than one upstream interface
   simultaneously are of interest.

3.  Data Model for supporting IGMP/MLD proxy with multiple upstream
    interfaces

   The model presented in this document augments the fundamental
   components required for IGMP/MLD proxy devices described in [RFC9398]
   for allowing the configuration of multiple upstream interfaces in
   those devices.

3.1.  YANG schema tree

   The YANG schema tree intended for enabling the support of multipath
   for IGMP proxies is defined in the following way.

module: ietf-multipath-igmp-mld-proxy

  augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/igmp-mld-proxy:igmp-proxy:
    +--rw default-upstream-interface?    -> ../igmp-mld-proxy:interfaces/interface/name {multipath-igmp-proxy}?
    +--rw upstream-interface-takeover?   boolean {multipath-igmp-proxy}?
  augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/igmp-mld-proxy:igmp-proxy/igmp-mld-proxy:interfaces/igmp-mld-proxy:interface:
    +--rw interface-priority?   uint32 {multipath-igmp-proxy}?
    +--rw active-interval?      uint32 {multipath-igmp-proxy}?
    +--rw subscriber* [address-prefix] {multipath-igmp-proxy}?
       +--rw address-prefix    inet:ipv4-address-no-zone
       +--rw group* [address-prefix]
          +--rw address-prefix    rt-types:ipv4-multicast-group-address
          +--rw source* [address-prefix]
             +--rw address-prefix    inet:ipv4-address-no-zone

   The schema for MLD will be provided in later versions of this
   document.

3.2.  IGMP Proxy YANG Module for supporting multiple upstream interfaces

   The model for IGMP is defined as follows:





Zhao, et al.            Expires 4 September 2025                [Page 3]

Internet-Draft           IGMP/MLD Multipath YANG              March 2025


module ietf-multipath-igmp-mld-proxy {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-multipath-igmp-mld-proxy";
  // replace with IANA namespace when assigned
  prefix multipath-igmp-mld-proxy;

  import ietf-inet-types {
    prefix inet;
    reference
      "RFC 6991: Common YANG Data Types";
  }
  import ietf-routing {
    prefix rt;
    reference
      "RFC 8349: A YANG Data Model for Routing Management (NMDA
       Version)";
  }
  import ietf-routing-types {
    prefix rt-types;
    reference
      "RFC 8294: Common YANG Data Types for the Routing Area";
  }
  import ietf-igmp-mld-proxy {
    prefix igmp-mld-proxy;
    reference
      "RFC 9398: A YANG Data Model for IGMP/MLD Proxy";
  }

  organization
    "IETF PIM Working Group";

  contact
    "WG Web:   <https://datatracker.ietf.org/wg/pim/about/>
     WG List:  <mailto:pim@ietf.org>
    ";

  description
    "The module defines a collection of YANG definitions common for
     Multipath IGMP/MLD Proxy devices.

     Copyright (c) 2024 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Revised BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents



Zhao, et al.            Expires 4 September 2025                [Page 4]

Internet-Draft           IGMP/MLD Multipath YANG              March 2025


     (http://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see the
     RFC itself for full legal notices.";

  revision 2025-03-03 {
    description
      "Initial revision.";
    reference
      "RFC XXXX: A YANG Data Model for Multipath IGMP/MLD Proxy";
  }

  /*
   * Features
   */

  feature multipath-igmp-proxy {
    description
      "Multipath Support for IGMP Proxy.";
    reference
      "draft-ietf-pim-multipath-igmpmldproxy";
  }

  feature multipath-mld-proxy {
    description
      "Multipath Support for MLD Proxy.";
    reference
      "draft-ietf-pim-multipath-igmpmldproxy";
  }


 /* augments */

  augment "/rt:routing/rt:control-plane-protocols"+
        "/rt:control-plane-protocol/igmp-mld-proxy:igmp-proxy" {
    description
      "";
    leaf default-upstream-interface {
      if-feature "multipath-igmp-proxy";
      type leafref {
            path "../igmp-mld-proxy:interfaces/igmp-mld-proxy:interface/igmp-mld-proxy:name";
          }
      description
        "It is used as the upstream interface when candidate
         upstream interfaces are not configured for the subscriber
         address prefix, channel/session ID, or interface priority value.";
    }
    leaf upstream-interface-takeover {



Zhao, et al.            Expires 4 September 2025                [Page 5]

Internet-Draft           IGMP/MLD Multipath YANG              March 2025


      if-feature "multipath-igmp-proxy";
      type boolean;
          default true;
      description
        "If a proxy device detects that a selected upstream interface
         is going down or inactive, it disables the current upstream
                 interface and selects another active upstream interface with
                 the highest priority among the candidate upstream interfaces
                 covering the same channel/session ID.";
    }
  }

  augment "/rt:routing/rt:control-plane-protocols"+
        "/rt:control-plane-protocol/igmp-mld-proxy:igmp-proxy"+
                "/igmp-mld-proxy:interfaces/igmp-mld-proxy:interface" {
    description
      "";

    leaf interface-priority {
      if-feature "multipath-igmp-proxy";
      type uint32;
          default 0;
      description
        "A lower value indicates a lower priority";
    }

    leaf active-interval {
      if-feature "multipath-igmp-proxy";
      type uint32;
      description
        "An active interval is a period in which the selected upstream
         interface on the proxy device remains active.";
    }

    list subscriber {
      if-feature "multipath-igmp-proxy";
          key "address-prefix";
      leaf address-prefix {
        type inet:ipv4-address-no-zone;
                description
          "Subscriber-based upstream selection involves IGMP/MLD proxy devices
           selecting one or multiple upstream interface(s) from candidate
           upstream interfaces per subscriber/receiver.
                   When setting 0.0.0.0, it indicates any host";
      }
          list group {
            key "address-prefix";
            leaf address-prefix {



Zhao, et al.            Expires 4 September 2025                [Page 6]

Internet-Draft           IGMP/MLD Multipath YANG              March 2025


          type rt-types:ipv4-multicast-group-address;
          description
            "Channel/session ID consists of source address prefix
            and multicast address prefix. This is multicast address prefix.
                        When setting 224.0.0.0, indicates the entire multicast address range";
                }
        list source {
                  key "address-prefix";
                  leaf address-prefix {
            type inet:ipv4-address-no-zone;
            description
              "Channel/session ID consists of source address prefix
               and multicast address prefix. This is source address prefix.
                           When setting 0.0.0.0, it indicates any host";
                  }
        } // source
      } // group
    } // subscriber
  }
}

3.3.  MLD Proxy YANG Module for supporting multiple upstream interfaces

   This model will be provided in a future version of this document.

4.  Security considerations

   Same security considerations as in both [RFC9398] and
   [I-D.ietf-pim-multipath-igmpmldproxy] apply also to this document.

   Further security considerations are under study.

5.  Informative References

   [I-D.contreras-pim-multiif-config]
              Contreras, L. M. and H. Asaeda, "Signaling-based
              configuration for supporting multiple upstream interfaces
              in IGMP/MLD proxies", Work in Progress, Internet-Draft,
              draft-contreras-pim-multiif-config-02, 21 October 2024,
              <https://datatracker.ietf.org/doc/html/draft-contreras-
              pim-multiif-config-02>.

   [I-D.ietf-pim-multipath-igmpmldproxy]
              Asaeda, H. and L. M. Contreras, "Multipath Support for
              IGMP/MLD Proxy", Work in Progress, Internet-Draft, draft-
              ietf-pim-multipath-igmpmldproxy-01, 21 October 2024,
              <https://datatracker.ietf.org/doc/html/draft-ietf-pim-
              multipath-igmpmldproxy-01>.



Zhao, et al.            Expires 4 September 2025                [Page 7]

Internet-Draft           IGMP/MLD Multipath YANG              March 2025


   [RFC9398]  Zhao, H., Liu, X., Liu, Y., Panchanathan, M., and M.
              Sivakumar, "A YANG Data Model for Internet Group
              Management Protocol (IGMP) and Multicast Listener
              Discovery (MLD) Proxy Devices", RFC 9398,
              DOI 10.17487/RFC9398, May 2023,
              <https://www.rfc-editor.org/info/rfc9398>.

Authors' Addresses

   Hongji Zhao
   Ericsson
   Ericsson Tower, No. 5 Lize East Street, Chaoyang District
   Beijing
   100102
   China
   Email: hongji.zhao@ericsson.com


   Luis M. Contreras
   Telefonica
   Ronda de la Comunicacion, s/n
   28050 Madrid
   Spain
   Email: luismiguel.contrerasmurillo@telefonica.com
   URI:   http://lmcontreras.com


   Xufeng Liu
   Alef Edge
   United States of America
   Email: xufeng.liu.ietf@gmail.com




















Zhao, et al.            Expires 4 September 2025                [Page 8]