bbf-hardware-rpf-dpu

This module contains a collection of YANG definitions for supporting the Broadband Forum requirements on management of Reverse P...

  • Version: 2022-05-23

    bbf-hardware-rpf-dpu@2022-05-23


    
      module bbf-hardware-rpf-dpu {
    
        yang-version 1.1;
    
        namespace
          "urn:bbf:yang:bbf-hardware-rpf-dpu";
    
        prefix bbf-hw-rpf-dpu;
    
        import bbf-hardware-types {
          prefix bbf-hwt;
        }
        import bbf-yang-types {
          prefix bbf-yang;
        }
        import ietf-hardware {
          prefix hw;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
    
        organization
          "Broadband Forum <https://www.broadband-forum.org>
         Common YANG Work Area";
    
        contact
          "Comments or questions about this Broadband Forum YANG module
         should be directed to <mailto:help@broadband-forum.org>.
    
         Editor:      Ken Kerpez, ASSIA, Inc.
    
         Editor:      Joey Boyd, Adtran
    
         PS Leader:   Joey Boyd, Adtran
    
         WA Director: Sven Ooghe, Nokia
    
         WA Director: Joey Boyd, Adtran";
    
        description
          "This module contains a collection of YANG definitions for
         supporting the Broadband Forum requirements on management of
         Reverse Power Feeding (RPF) as defined in ITU G.997.2 Annex A and
         BBF TR-159. As such, this module is specific to access network
         equipment (e.g., BBF-specified Access Nodes and FTTdp DPUs).
    
         Copyright (c) 2016-2022 Broadband Forum
    
         Redistribution and use in source and binary forms, with or
         without modification, are permitted provided that the following
         conditions are met:
    
         1. Redistributions of source code must retain the above copyright
            notice, this list of conditions and the following disclaimer.
    
         2. Redistributions in binary form must reproduce the above
            copyright notice, this list of conditions and the following
            disclaimer in the documentation and/or other materials
            provided with the distribution.
    
         3. Neither the name of the copyright holder nor the names of its
            contributors may be used to endorse or promote products
            derived from this software without specific prior written
            permission.
    
         THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
         CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,
         INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
         MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
         DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
         CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
         SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
         NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
         LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
         CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
         STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
         ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
         ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    
         The above license is used as a license under copyright only.
         Please reference the Forum IPR Policy for patent licensing terms
         <https://www.broadband-forum.org/ipr-policy>.
    
         Any moral rights which are necessary to exercise under the above
         license grant are also deemed granted under this license.
    
         This version of this YANG module is part of TR-355a4; see
         the TR itself for full legal notices.";
    
        revision "2022-05-23" {
          description
            "Amendment 4.
           * Approval Date:    2022-05-23
           * Publication Date: 2022-05-23.";
          reference
            "TR-355a4: YANG Modules for FTTdp Management
            	    <https://www.broadband-forum.org/download/
            		   TR-355_Amendment-4.pdf>";
    
        }
    
        revision "2020-10-13" {
          description
            "Amendment 3.
           * Approval Date:    2020-10-13
           * Publication Date: 2020-10-13.";
          reference
            "TR-355a3: YANG Modules for FTTdp Management
            	    <https://www.broadband-forum.org/download/
            		   TR-355_Amendment-3.pdf>";
    
        }
    
        revision "2019-06-11" {
          description
            "Amendment 2.
           * Approval Date:    2019-06-11
           * Publication Date: 2019-06-11.";
          reference
            "TR-355a2: YANG Modules for FTTdp Management
            	  <https://www.broadband-forum.org/technical/download/
            		 TR-355_Amendment-2.pdf>";
    
        }
    
        revision "2018-10-01" {
          description
            "Amendment 1.
           * Approval Date:    2018-10-01
           * Publication Date: 2018-10-01.";
          reference
            "TR-355a1: YANG Modules for FTTdp Management
            	  <https://www.broadband-forum.org/technical/download/
            		 TR-355_Amendment-1.pdf>";
    
        }
    
    
        feature performance-24hr {
          description
            "Indicates that collection of 24 hour performance intervals
           is supported.";
        }
    
        typedef performance-15min-interval {
          type uint8 {
            range "0..96";
          }
          description
            "Defines the range of 15 minute intervals.";
        }
    
        typedef performance-15min-history-interval {
          type performance-15min-interval {
            range "1..96";
          }
          description
            "Defines the range of 15 minutes intervals and defines
           the position of the interval relative to the current interval
           where 1 is the most recent completed interval.";
        }
    
        typedef performance-24hr-interval {
          type uint8 {
            range "0..7";
          }
          description
            "Defines the range of 24 hour intervals.";
        }
    
        typedef performance-24hr-history-interval {
          type performance-24hr-interval {
            range "1..7";
          }
          description
            "Defines the range of 24 hour intervals and defines
           the position of the interval relative to the current interval
           where 1 is the most recent completed interval.";
        }
    
        typedef dpu-reconfiguration-state {
          type enumeration {
            enum "normal" {
              value 0;
              description
                "The line is in Normal mode.";
            }
            enum "bypass" {
              value 1;
              description
                "The line is in Bypass mode.";
            }
          }
          description
            "Reports the ReConfiguration State for the line. A state
           change alarm shall be raised indicating a change of the
           line's Reconfiguration State.";
          reference
            "ITU-T G.997.2 clauses A.7.2.1.2 and A.7.4.1.3 (DPU-RCS)";
    
        }
    
        typedef pse-rpf-state {
          type enumeration {
            enum "pse-ukn" {
              value 0;
              description
                "Shutdown with unknown reason as initial state.
                - when for the line the Power Extractor (PE) transitions
                  to 'start-up' after the PE detects loss of voltage,
                  and has not received a PSE-DGL or PSE-OHP
                  indication from the Power Source Equipment (PSE).";
            }
            enum "pse-dgl" {
              value 1;
              description
                "Shutdown with dying gasp (normal shutdown).
                - when for the line the Power Extractor (PE) transitions
                  to 'start-up' after the PE detects loss of voltage
                  and has received a PSE-DGL indication from the Power
                  Source Equipment (PSE).";
            }
            enum "pse-ohp" {
              value 2;
              description
                "Shutdown with dying gasp with off-hook phone.
                - when for the line the Power Extractor (PE) transitions
                  to 'start-up' after the PE detects loss of voltage
                  and has received a PSE-OHP indication from the Power
                  Source Equipment (PSE).";
            }
            enum "pse-pwr" {
              value 3;
              description
                "Powered with unknown Power Source Equipment (PSE) powering
               method.
                - when for the line the Power Extractor (PE) transitions
                  to 'normal-operations' and it is yet unknown whether the
                  PSE is battery powered or mains powered.";
            }
            enum "pse-bat" {
              value 4;
              description
                "Battery powered.
                - when for the line the Power Extractor (PE) transitions
                  to 'normal-operations' and the PE received an indication
                  that the Power Source Equipment (PSE) is trying to start
                  up the DPU while powered on battery;
                - when for the line the PE is in 'normal-operations' and
                  the PE receives a PSE-BAT indication from the PSE.";
            }
            enum "pse-acm" {
              value 5;
              description
                "Mains powered.
                - when for the line the Power Extractor (PE) transitions
                  to 'normal-operations' and the PE received an indication
                  that the Power Source Equipment (PSE) was trying to
                  start up the Distribution Point Unit (DPU) while powered
                  on mains;
                - when for the line the PE is in 'normal-operations' and
                  the PE receives a PSE-ACM or PSE-BBA indication from the
                  PSE.";
            }
          }
          description
            "Reports the reverse power feeding state of the Power Source
           Equipment (PSE).";
          reference
            "ITU-T G.997.2 clauses A.6.2.2 and A.7.4.2.2 (PSE-RPF);
            ETSI TS 101 548";
    
        }
    
        identity rpf-threshold-crossing-alert {
          description
            "Base identity for Reverse Power Feeding (RPF) threshold
           crossing alerts (TCA).
    
           This identity is abstract and is not be used for a
           threshold crossing alert.";
        }
    
        identity rpf-15min-threshold-crossing-alert {
          base rpf-threshold-crossing-alert;
          description
            "A threshold crossing alert associated with performance
           counters collected over the current 15 minute interval
           for Reverse Power Feeding (RPF).
    
           This identity is abstract and is not be used for a
           threshold crossing alert.";
        }
    
        identity rpf-24hr-threshold-crossing-alert {
          base rpf-threshold-crossing-alert;
          description
            "A threshold crossing alert associated with performance
           counters collected over the current 24 hour interval
           for Reverse Power Feeding (RPF).
    
           This identity is abstract and is not be used for a
           threshold crossing alert.";
        }
    
        identity dpu-15min-extracted-energy-tca {
          base rpf-15min-threshold-crossing-alert;
          description
            "The count of the Distribution Point Unit (DPU) extracted energy
           per line at U-O interface or at Power Supply Unit (PSU) input
           in the current 15 minute interval has exceeded the configured
           threshold.";
          reference
            "ITU-T G.997.2 clause A.7.3.4 (CURR/PREV_NE_15/24_EE)";
    
        }
    
        identity dpu-24hr-extracted-energy-tca {
          base rpf-24hr-threshold-crossing-alert;
          description
            "The count of the DPU extracted energy per line at U-O interface
           or at Power Supply Unit (PSU) input in the current 24 hour
           interval has exceeded the configured threshold.";
          reference
            "ITU-T G.997.2 clause A.7.3.4 (CURR/PREV_NE_15/24_EE)";
    
        }
    
        identity pse-15min-injected-energy-tca {
          base rpf-15min-threshold-crossing-alert;
          description
            "The count of the Power Source Equipment (PSE) injected energy
           per line in the current 15 minute interval has exceeded the
           configured threshold.";
          reference
            "ITU-T G.997.2 clause A.7.3.5 (CURR/PREV_FE_15/24_IE)";
    
        }
    
        identity pse-24hr-injected-energy-tca {
          base rpf-24hr-threshold-crossing-alert;
          description
            "The count of the Power Source Equipment (PSE) injected energy
           per line in the current 24 hour interval has exceeded the
           configured threshold.";
          reference
            "ITU-T G.997.2 clause A.7.3.5 (CURR/PREV_FE_15/24_IE)";
    
        }
    
        grouping rpf-near-end-system-config {
          description
            "Reverse Power Feeding (RPF) near-end system level
           configuration.";
          leaf dying-gasp-udp-port {
            type inet:port-number;
            description
              "The UDP port number used for dying gasp messages.";
            reference
              "BBF TR-301i2 R-21.";
    
          }
        }  // grouping rpf-near-end-system-config
    
        grouping rpf-near-end-line-config {
          description
            "RPF near-end line level configuration.";
          leaf power-extraction {
            type enumeration {
              enum "allowed" {
                value 0;
                description
                  "The Power Extractor (PE) may extract power from this
                 line.";
              }
              enum "not-allowed" {
                value 1;
                description
                  "The Power Extractor (PE) should not extract more than 35
                 mA at U-O interface (excluding start-up transients)
                 unless the given line is solely reverse powering the
                 Distribution Point Unit (DPU) or attempting to start-up
                 the DPU.";
              }
            }
            default "allowed";
            description
              "Defines whether or not power extraction from the line is
             allowed.";
            reference
              "ITU-T G.997.2 clause A.7.1.1.6 (PE-PWR)";
    
          }
    
          leaf power-extraction-pse-on-battery {
            type boolean;
            default "false";
            description
              "Defines whether for the line, the Power Extractor (PE) is
             allowed to extract power from the line when the PSE reverse
             power feeding is operating on battery power (PSE-RPF) and
             sufficient power is available from one or more remaining
             reverse power feeding lines for normal operation of the
             Distribution Point Unit (DPU). If 'true', power extraction is
             allowed. If 'false', only minimal power extraction, compliant
             to the Maintain Power Signature, is allowed.";
            reference
              "ITU-T G.997.2 clauses A.7.1.1.1 (PE-PEB) and A.7.4.2.2
              (PSE-RPF);
              ETSI TS 101 548 section 7.5.2.2";
    
          }
    
          leaf pse-shutdown-service {
            type enumeration {
              enum "force-l3" {
                value 0;
                description
                  "Force the line to the L3 link state (no service).";
                reference
                  "ITU-T G.997.2 clause A.7.1.1.2 (FL3)";
    
              }
              enum "enable-l0" {
                value 1;
                description
                  "Force the line to an enabled low power link state
                 (limited service).";
                reference
                  "ITU-T G.997.2 clause A.7.1.1.2 (NL0)";
    
              }
              enum "emergency-services-only" {
                value 2;
                description
                  "Force the line to support emergency services only
                 (all link states allowed).";
                reference
                  "ITU-T G.997.2 clause A.7.1.1.2 (ESO)";
    
              }
              enum "no-limitations" {
                value 3;
                description
                  "No service limitations forced on the line (all link
                 states allowed).";
                reference
                  "ITU-T G.997.2 clause A.7.1.1.2 (SRV)";
    
              }
            }
            default "force-l3";
            description
              "Defines for the line, the FTU/L2+ action when the PSE is
             in shutdown (PSE-RPF). Values NL0, ESO, and SRV are
             conditional to there being sufficient power from one or more
             remaining reverse power feeding lines available for normal
             operation of the Distribution Point Unit (DPU). If this
             condition is not met, value FL3 is applied instead.";
            reference
              "ITU-T G.997.2 clauses A.7.1.1.2 (FTU-SRV) and A.7.4.2.2
              (PSE-RPF)";
    
          }
    
          leaf forced-reconfiguration-state {
            type enumeration {
              enum "none" {
                value 0;
                description
                  "No Forced ReConfiguration State. The DPU-FRCS
                 configuration has no effect on the line's ReConfiguration
                 State.";
              }
              enum "normal" {
                value 1;
                description
                  "The line is forced to enter and maintain Normal
                 mode.";
              }
              enum "bypass" {
                value 2;
                description
                  "The line is forced to enter and maintain Bypass mode.
                 This command is ignored for a given line if this line
                 is solely reverse powering the Distribution Point Unit
                 (DPU) or attempting to start-up the DPU.";
              }
            }
            default "none";
            description
              "Defines for the line, the Forced ReConfiguration State:
             either None, Normal, or Bypass.";
            reference
              "ITU-T G.997.2 clause A.7.1.1.3 (DPU-FRCS)";
    
          }
    
          leaf conditional-forced-reconfiguration-state {
            type enumeration {
              enum "none" {
                value 0;
                description
                  "No Conditional Forced ReConfiguration State. The line
                 maintains its current ReConfiguration State (see
                 clause A.7.4.1.3).";
              }
              enum "bypass" {
                value 1;
                description
                  "The line's ReConfiguration State is forced to Bypass
                 mode.";
              }
            }
            default "none";
            description
              "Defines for the line, the Conditional Forced ReConfiguration
             State, to be applied upon either enforcing no service on the
             line (i.e., FTU-SRV value FL3 is applied) for a time period T
             (DPU-CFRCST) or upon Distribution Point Unit (DPU)
             shutdown.";
            reference
              "ITU-T G.997.2 clauses A.7.1.1.2 (FTU-SRV), A.7.1.1.4
              (DPU-CFRCS) and A.7.1.1.5 (DPU-CFRCS-T)";
    
          }
    
          leaf conditional-forced-reconfiguration-state-time {
            type uint8;
            units "seconds";
            default "30";
            description
              "Defines the time period T to be used with DPU-CFRCS.";
            reference
              "ITU-T G.997.2 clauses A.7.1.1.4 (DPU-CFRCS) and A.7.1.1.5
              (DPU-CFRCST)";
    
          }
    
          container thresholds {
            description
              "Threshold configuration.";
            leaf dpu-15min-extracted-energy-threshold {
              type uint32;
              units "milliwatthours";
              description
                "Threshold for the count of the DPU extracted energy per
               line at U-O interface or at Power Supply Unit (PSU) input
               in the current 15 minute interval. A special value (0)
               indicates the threshold is disabled.";
              reference
                "ITU-T G.997.2 clause A.7.3.4 (CURR/PREV_NE_15/24_EE)";
    
            }
    
            leaf dpu-24hr-extracted-energy-threshold {
              if-feature bbf-hw-rpf-dpu:performance-24hr;
              type uint32;
              units "milliwatthours";
              description
                "Threshold for the count of the Distribution Point Unit
               (DPU) extracted energy per line at U-O interface or at
               Power Supply Unit (PSU) input in the current 24 hour
               interval. A special value (0) indicates the threshold is
               disabled.";
              reference
                "ITU-T G.997.2 clause A.7.3.5 (CURR/PREV_NE_15/24_IE)";
    
            }
          }  // container thresholds
        }  // grouping rpf-near-end-line-config
    
        grouping rpf-far-end-line-config {
          description
            "Reverse Power Feeding (RPF) far-end line level configuration.";
          container thresholds {
            description
              "Threshold configuration.";
            leaf pse-15min-injected-energy-threshold {
              type uint32;
              units "milliwatthours";
              description
                "Threshold for the count of the Power Source Equipment (PSE)
               injected energy per line in the current 15 minute interval.
               A special value (0) indicates the threshold is disabled.";
              reference
                "ITU-T G.997.2 clause A.7.3.5 (CURR/PREV_FE_15/24_IE)";
    
            }
    
            leaf pse-24hr-injected-energy-threshold {
              if-feature bbf-hw-rpf-dpu:performance-24hr;
              type uint32;
              units "milliwatthours";
              description
                "Threshold for the count of the Power Source Equipment (PSE)
               injected energy per line in the current 24 hour interval.
               A special value (0) indicates the threshold is disabled.";
              reference
                "ITU-T G.997.2 clause A.7.3.5 (CURR/PREV_FE_15/24_IE)";
    
            }
          }  // container thresholds
        }  // grouping rpf-far-end-line-config
    
        grouping rpf-threshold-crossing-alerts {
          description
            "Threshold crossing alert notifications.";
          notification rpf-15min-threshold-crossing-alert {
            description
              "A threshold has been crossed during the current 15 minute
             interval.";
            leaf tca-identity {
              type identityref {
                base rpf-15min-threshold-crossing-alert;
              }
              mandatory true;
              description
                "A unique identity associated with each threshold.";
            }
          }  // notification rpf-15min-threshold-crossing-alert
    
          notification rpf-24hr-threshold-crossing-alert {
            if-feature bbf-hw-rpf-dpu:performance-24hr;
            description
              "A threshold has been crossed during the current 24 hour
             interval.";
            leaf tca-identity {
              type identityref {
                base rpf-24hr-threshold-crossing-alert;
              }
              mandatory true;
              description
                "A unique identity associated with each threshold.";
            }
          }  // notification rpf-24hr-threshold-crossing-alert
        }  // grouping rpf-threshold-crossing-alerts
    
        grouping rpf-far-end-line-diagnostics {
          description
            "Reverse Power Feeding (RPF) line level diagnostics.";
          leaf latest-pse-start-up-failure-cause {
            type enumeration {
              enum "no-failure" {
                value 0;
                description
                  "No failure detected.";
              }
              enum "elc-0" {
                value 1;
                description "Open tip-to-ring.";
              }
              enum "elc-1" {
                value 2;
                description "Short tip-to-ring.";
              }
              enum "elc-2" {
                value 3;
                description
                  "POTS Exchange (foreign) DC voltage.";
              }
              enum "elc-3" {
                value 4;
                description "Off-hook phone.";
              }
              enum "rpf-class-mismatch" {
                value 5;
                description
                  "Mismatch of the Power Source Equipment (PSE) Reverse
                 Power Feeding (RPF) Class with the Distribution Point
                 Unit (DPU) RPF Class.";
              }
              enum "unknown" {
                value 6;
                description "Unknown failure.";
              }
              enum "other" {
                value 7;
                description
                  "Failure other than off-hook.";
              }
            }
            description
              "Reports the latest Power Source Equipment (PSE) Start-Up
             Failure indication, detected during 'Start-Up'.";
            reference
              "ITU-T G.997.2 clause A.7.5.2.1 (PSE-SUF)";
    
          }
    
          leaf latest-pse-shutdown-cause {
            type enumeration {
              enum "no-shutdown" {
                value 0;
                description
                  "No PSE shutdown yet.";
              }
              enum "elc-0" {
                value 1;
                description "Open tip-to-ring.";
              }
              enum "elc-1" {
                value 2;
                description "Short tip-to-ring.";
              }
              enum "elc-3" {
                value 3;
                description "Off-hook phone.";
              }
              enum "overload-time-violation" {
                value 4;
                description
                  "Overload time violation as defined in Table 35 of
                 [ETSI TS 101 548].";
              }
              enum
                "maintain-power-signature-violation" {
                value 5;
                description
                  "Maintain power signature violation as defined in
                 Table 37 of [ETSI TS 101 548].";
              }
              enum "unknown" {
                value 6;
                description
                  "Unknown shutdown cause.";
              }
            }
            description
              "Reports the latest Power Source Equipment (PSE) ShutDown
             cause, detected during 'Normal Operation'.";
            reference
              "ITU-T G.997.2 clause A.7.5.2.2 (PSE-SDC);
              ETSI TS 101 548 Tables 35 and 37";
    
          }
        }  // grouping rpf-far-end-line-diagnostics
    
        grouping rpf-near-end-line-inventory {
          description
            "Reverse Power Feeding (RPF) near-end line level inventory.";
          leaf reconfiguration-capability {
            type enumeration {
              enum "none" {
                value 0;
                description
                  "No reconfiguration capability.";
              }
              enum "broadband-bypass" {
                value 1;
                description "Broadband Bypass.";
              }
              enum "pots-rcr" {
                value 2;
                description
                  "POTS Remote Copper Reconfiguration (RCR)
                 Protocol.";
              }
            }
            description
              "Reports the ReConfiguration capability for the line.";
            reference
              "ITU-T G.997.2 clause A.7.6.1.1 (DPU-RC)";
    
          }
        }  // grouping rpf-near-end-line-inventory
    
        grouping rpf-far-end-line-inventory {
          description
            "Reverse Power Feeding (RPF) far-end line level inventory.";
          leaf nt-integrated {
            type enumeration {
              enum "unknown" {
                value 0;
                description
                  "Network Termination (NT) integration of the Power Source
                 Equipment (PSE) is unknown.";
              }
              enum "not-integrated" {
                value 1;
                description
                  "Power Source Equipment (PSE) is not integrated into the
                 Network Termination (NT).";
              }
              enum "integrated" {
                value 2;
                description
                  "Power Source Equipment (PSE) is integrated into the
                 Network Termination (NT).";
              }
            }
            description
              "Reports whether the Power Source Equipment (PSE) is
             integrated in the Network Termination (NT), based on the
             Reverse Power Feeding (RPF) OAM parameter NTE-CPF. Until the
             Distribution Point Unit (DPU) Management Entity (ME) receives
             an NTE-CPF Indication for the first time, it is unknown
             whether or not the PSE is integrated in the NT.";
            reference
              "ITU-T G.997.2 clauses A.6.2.7 and A.7.6.2.1 (NTE-CPF)";
    
          }
    
          leaf battery-backup-available {
            type enumeration {
              enum "unknown" {
                value 0;
                description
                  "Battery backup availability is unknown.";
              }
              enum "not-available" {
                value 1;
                description
                  "Battery backup is not available.";
              }
              enum "available" {
                value 2;
                description
                  "Battery backup is available.";
              }
            }
            description
              "Reports whether battery backup is available at the Power
             Source Equipment (PSE), based on the PSE trying to start up
             the Power Extractor (PE) while powered on battery. Until the
             Power Extractor (PE) receives the PRP PS field for the first
             time and until the PE or Distribution Point Unit (DPU) ME
             receive a BAT, ACM, or BBA Indication for the first time
             (whichever occurs first), it is unknown whether or not
             battery backup is available in the PSE.";
            reference
              "ITU-T G.997.2 clauses A.6.2.2 and A.7.6.2.2 (PSE-BBA);
              ETSI TS 101 548 sections 6.2.5.1 and 6.3";
    
          }
    
          leaf prp-capability {
            type enumeration {
              enum "unknown" {
                value 0;
                description
                  "POTS Remote Copper Configuration Protocol (PRP)
                 capability is unknown.";
              }
              enum "not-supported" {
                value 1;
                description
                  "POTS Remote Copper Configuration Protocol (PRP) not
                 supported.";
              }
              enum "supported" {
                value 2;
                description
                  "POTS Remote Copper Configuration Protocol (PRP)
                 supported.";
              }
            }
            description
              "Reports the Power Source Equipment (PSE) POTS Remote Copper
             Configuration Protocol (PRP) capability. In case the PSE is
             integrated in the NT (i.e., NT-CPF equals 2), the PSE-PRP
             capability is communicated through Reverse Power Feeding
             (RPF) OAM from PSE to Distribution Point Unit (DPU). In case
             the PSE is not integrated in the NT (i.e., NT-CPF equals 2),
             it is deduced by the DPU from successful PRP start-up,
             whereby the DPU shall assume that the PRP disconnect trigger
             is sent by the PSE that is currently providing reverse power
             to the DPU. Until the Power Extractor (PE) receives the PRP
             PS field for the first time, or until first successful PRP
             start-up, the PSE PRP capability is unknown.";
            reference
              "ITU-T G.997.2 clauses A.6.2.7 and A.7.6.2.3 (PSE-PRP)";
    
          }
        }  // grouping rpf-far-end-line-inventory
    
        grouping performance-history-interval-parameters {
          description
            "Defines common parameters required when defining history
           interval performance counters.";
          leaf invalid-data-flag {
            type boolean;
            description
              "Reports the validity of the corresponding PM data.";
          }
    
          leaf time-stamp {
            type yang:date-and-time;
            description
              "Reports the start date/time for this interval.";
          }
        }  // grouping performance-history-interval-parameters
    
        grouping performance-history-measured-time {
          description
            "Reports the measured time for a given interval.";
          leaf measured-time {
            type uint32;
            units "seconds";
            description
              "Reports the amount of time, measured in seconds,
             that statistics for this interval have been counted.";
          }
        }  // grouping performance-history-measured-time
    
        grouping performance-history-15min-interval-parameters {
          description
            "Defines common parameters required when defining 15 minute
           interval history performance counters.";
          uses performance-history-measured-time;
    
          uses performance-history-interval-parameters;
        }  // grouping performance-history-15min-interval-parameters
    
        grouping performance-history-24hr-interval-parameters {
          description
            "Defines common parameters required when defining 24 hour
           interval history performance counters.";
          uses performance-history-measured-time;
    
          uses performance-history-interval-parameters;
        }  // grouping performance-history-24hr-interval-parameters
    
        grouping performance-15min-history-parameters {
          description
            "Defines common parameters required when defining 15 minute
           history performance counters.";
          leaf number-of-intervals {
            type performance-15min-interval;
            description
              "The total number of 15 minute PM intervals for which data
             was collected.";
          }
    
          leaf non-valid-intervals {
            type performance-15min-interval;
            description
              "The number of 15 minute PM intervals for which the data
             is considered to be invalid or incomplete.";
          }
        }  // grouping performance-15min-history-parameters
    
        grouping performance-24hr-history-parameters {
          description
            "Defines common parameters required when defining 24 hour
           history performance counters.";
          leaf number-of-intervals {
            type performance-24hr-interval;
            description
              "The total number of 24 hour PM intervals for which data
             was collected.";
          }
    
          leaf non-valid-intervals {
            type performance-24hr-interval;
            description
              "The number of 24 hour PM intervals for which the data
             is considered to be invalid or incomplete.";
          }
        }  // grouping performance-24hr-history-parameters
    
        grouping near-end-performance-counters {
          description
            "Performance counters associated with the near-end.";
          leaf dpu-extracted-energy {
            type bbf-yang:performance-counter32;
            units "milliwatthours";
            description
              "Reports a count of the Distribution Point Unit (DPU)
             extracted energy per line at U-O interface or at Power Supply
             Unit (PSU) input in current/previous interval, expressed in
             units of mWh. This PM data node is optional. The accuracy is
             defined in [ETSI TS 101 548].";
            reference
              "ITU-T G.997.2 clause A.7.3.4 (CURR/PREV_NE_15/24_EE);
              ETSI TS 101 548";
    
          }
        }  // grouping near-end-performance-counters
    
        grouping far-end-performance-counters {
          description
            "Performance counters associated with the far-end.";
          leaf pse-injected-energy {
            type bbf-yang:performance-counter32;
            units "milliwatthours";
            description
              "Reports a count of the Power Source Equipment (PSE) Injected
             Energy per line in current/previous interval, expressed in
             units of milliwatthours. This PM data node is optional. It is
             constructed by the Distribution Point Unit (DPU) by reading
             the Reverse Power Feeding (RPF) OAM parameter PSE-IE. It can
             only be supported in case the PSE is integrated in the
             Network Termination (NT) (PSE-NTE equals 1). The accuracy is
             defined in [ETSI TS 101 548].";
            reference
              "ITU-T G.997.2 clauses A.6.2.7, A.7.6.2.1 and A.7.3.5
              (CURR/PREV_NE_15/24_IE);
              ETSI TS 101 548";
    
          }
        }  // grouping far-end-performance-counters
    
        grouping rpf-line-performance {
          description
            "Reverse Power Feeding (RPF) line level performance.";
          container intervals-15min {
            description
              "15 minute interval performance history.";
            container current {
              description
                "Contains the counts that are currently accumulating.";
              container near-end {
                description
                  "Near-end performance counters.";
                uses performance-history-measured-time;
    
                uses near-end-performance-counters;
              }  // container near-end
    
              container far-end {
                description
                  "Far-end performance counters.";
                uses performance-history-measured-time;
    
                uses far-end-performance-counters;
              }  // container far-end
            }  // container current
    
            uses performance-15min-history-parameters;
    
            list history {
              key "interval-number";
              max-elements 96;
              description
                "A history of 15 minute intervals.";
              leaf interval-number {
                type performance-15min-history-interval;
                description
                  "The number of the interval relative to the current
                 interval.";
              }
    
              container near-end {
                description
                  "Near-end performance counters.";
                uses performance-history-15min-interval-parameters;
    
                uses near-end-performance-counters;
              }  // container near-end
    
              container far-end {
                description
                  "Far-end performance counters.";
                uses performance-history-15min-interval-parameters;
    
                uses far-end-performance-counters;
              }  // container far-end
            }  // list history
          }  // container intervals-15min
    
          container intervals-24hr {
            if-feature bbf-hw-rpf-dpu:performance-24hr;
            description
              "24 hour interval performance history.";
            container current {
              description
                "Contains the counts that are currently accumulating.";
              container near-end {
                description
                  "Near-end performance counters.";
                uses performance-history-measured-time;
    
                uses near-end-performance-counters;
              }  // container near-end
    
              container far-end {
                description
                  "Far-end performance counters.";
                uses performance-history-measured-time;
    
                uses far-end-performance-counters;
              }  // container far-end
            }  // container current
    
            uses performance-24hr-history-parameters;
    
            list history {
              key "interval-number";
              max-elements 7;
              description
                "A history of 24 hour intervals.";
              leaf interval-number {
                type performance-24hr-history-interval;
                description
                  "The number of the interval relative to the current
                 interval.";
              }
    
              container near-end {
                description
                  "Near-end performance counters.";
                uses performance-history-24hr-interval-parameters;
    
                uses near-end-performance-counters;
              }  // container near-end
    
              container far-end {
                description
                  "Far-end performance counters.";
                uses performance-history-24hr-interval-parameters;
    
                uses far-end-performance-counters;
              }  // container far-end
            }  // list history
          }  // container intervals-24hr
        }  // grouping rpf-line-performance
    
        grouping rpf-near-end-line-status {
          description
            "Reverse Power Feeding (RPF) near-end line level status.";
          leaf actual-power-class {
            type enumeration {
              enum "sr1" {
                value 0;
                description
                  "Reverse Power Feeding (RPF) Class SR1 is defined to
                 support (very) low power Distribution Point Unit (DPU)
                 designs, when they become available; the applicability
                 of Class SR1 for a considered deployment type (amount of
                 ports per DPU, cable losses, DPU uplink types, DPU
                 feature scope at and beyond the physical layer, amount of
                 additional devices (POTSAdapters) to be fed from the same
                 Power Source Equipment (PSE), etc.) depends on the
                 availability of low-power solutions.";
              }
              enum "sr2" {
                value 1;
                description
                  "Reverse Power Feeding (RPF) Class SR2 allows a higher
                 maximum power to be transmitted than Class SR1. When
                 compared to Class SR1, a solution that complies with
                 Class SR2 can extend the type of deployments that can be
                 supported, while still avoiding any additional safety
                 measures in the home environment (below 15 W as per
                 EN 60950-1 [2]).";
              }
              enum "sr3" {
                value 2;
                description
                  "Reverse Power Feeding (RPF) Class SR3 allows a higher
                 maximum power to be transmitted than Class SR2, aiming to
                 cover trials or demanding deployment situations for which
                 Class SR1 or SR2-compliant power solutions are not
                 available. A Power Source Equipment (PSE) of Class SR3
                 can inject more than 15 W and hence introduces additional
                 safety measures compared to Class SR1 and Class SR2
                 (see SAFETY NOTE (a) and SAFETY NOTE (b) in
                 Table 10).";
              }
            }
            description
              "Reports the actual power class of the Power Extractor (PE)
             for the line.";
            reference
              "ITU-T G.997.2 clause A.7.4.1.1 (PE-PC) and Table 10;
              EN 60950-1";
    
          }
    
          leaf rpf-state {
            type enumeration {
              enum "not-operational" {
                value 0;
                description
                  "The Power Extractor (PE) is initializing and is not yet
                 operational.";
              }
              enum "start-up" {
                value 1;
                description
                  "The Power Extractor (PE) is starting up.";
              }
              enum "normal-operations" {
                value 2;
                description
                  "The Power Extractor (PE) is in normal operations.";
              }
            }
            description
              "Reports the reverse power feeding state of the Power
             Extractor (PE) for the line.";
            reference
              "ITU-T G.997.2 clause A.7.4.1.2 (PE-RPF)";
    
          }
    
          leaf reconfiguration-state {
            type dpu-reconfiguration-state;
            description
              "Reports the ReConfiguration State for the line. A state
             change alarm shall be raised indicating a change of the
             line's Reconfiguration State (see clause A.7.2.1.2).";
            reference
              "ITU-T G.997.2 clause A.7.4.1.3 (DPU-RCS)";
    
          }
    
          leaf prp-error-status {
            type enumeration {
              enum "none" {
                value 0;
                description
                  "No error detected by Distribution Point Unit (DPU) or
                 POTS Remote Copper Configuration Protocol (PRP) completed
                 successfully.";
              }
              enum "rpf-class-mismatch" {
                value 1;
                description
                  "Distribution Point Unit (DPU) has decoded POTS Remote
                 Copper Configuration Protocol (PRP) disconnect trigger of
                 a class that is not supported by the DPU for given
                 line.";
              }
              enum "pots-reconnect-trigger" {
                value 2;
                description
                  "POTS Reconnect trigger detected by Distribution Point
                 Unit (DPU).";
              }
            }
            description
              "Reports that the Distribution Point Unit (DPU) has deduced a
             POTS Remote Copper Configuration Protocol (PRP) related ERROR
             while the is DPU powered on. An alarm shall be raised upon
             the PRP Error Status indicating an error condition on the
             line.";
            reference
              "ITU-T G.997.2 clause A.7.4.1.4 (DPU-PRP-ERROR)";
    
          }
    
          leaf line-error-status {
            type enumeration {
              enum "no-error" {
                value 0;
                description "No error detected.";
              }
              enum "error" {
                value 1;
                description "Error detected.";
              }
            }
            description
              "Reports an error condition for the line whereby the
             Distribution Point Unit (DPU) is unable to draw continuous
             and sufficient power from the line. This status data node is
             optional. If supported, an alarm shall be raised upon the
             Line Error Status indicating an error condition on the
             line.";
            reference
              "ITU-T G.997.2 clause A.7.4.1.5 (DPU-LES)";
    
          }
        }  // grouping rpf-near-end-line-status
    
        grouping rpf-far-end-line-status {
          description
            "Reverse Power Feeding (RPF) far-end line level status.";
          leaf actual-power-class {
            type enumeration {
              enum "undetermined" {
                value 0;
                description
                  "The power class of the PSE has yet to be
                 determined.";
              }
              enum "sr1" {
                value 1;
                description
                  "Reverse Power Feeding (RPF) Class SR1 is defined to
                 support (very) low power Distribution Point Unit (DPU)
                 designs, when they become available; the applicability of
                 Class SR1 for a considered deployment type (amount of
                 ports per DPU, cable losses, DPU uplink types, DPU
                 feature scope at and beyond the physical layer, amount of
                 additional devices (POTSAdapters) to be fed from the same
                 PSE, etc.) depends on the availability of low-power
                 solutions.";
              }
              enum "sr2" {
                value 2;
                description
                  "Reverse Power Feeding (RPF) Class SR2 allows a higher
                 maximum power to be transmitted than Class SR1. When
                 compared to Class SR1, a solution that complies with
                 Class SR2 can extend the type of deployments that can be
                 supported, while still avoiding any additional safety
                 measures in the home environment (below 15 watts as per
                 EN 60950-1 [2]).";
              }
              enum "sr3" {
                value 3;
                description
                  "Reverse Power Feeding (RPF) Class SR3 allows a higher
                 maximum power to be transmitted than Class SR2, aiming to
                 cover trials or demanding deployment situations for which
                 Class SR1 or SR2-compliant power solutions are not
                 available. A Power Source Equipment (PSE) of Class SR3
                 can inject more than 15 W and hence introduces additional
                 safety measures compared to Class SR1 and Class SR2
                 (see SAFETY NOTE (a) and SAFETY NOTE (b) in
                 Table 10).";
              }
            }
            description
              "Reports the actual power class of the Power Source Equipment
             (PSE). Before the start-up protocol is successfully completed
             for the first time, the power class is undetermined.";
            reference
              "ITU-T G.997.2 clause A.7.4.2.1 (PSE-PC) and Table 10;
              EN 60950-1";
    
          }
    
          leaf rpf-state {
            type pse-rpf-state;
            description
              "Reports the reverse power feeding state of the Power Source
             Equipment (PSE).";
            reference
              "ITU-T G.997.2 clause A.7.4.2.2 (PSE-RPF)";
    
          }
        }  // grouping rpf-far-end-line-status
    
        grouping reconfiguration-state-change-notification {
          description
            "Defines a notification for reporting a Distribution Point Unit
           (DPU) reconfiguration state change.";
          notification reconfiguration-state-change {
            description
              "This notification is sent upon a change in the Distribution
             Point Unit (DPU) reconfiguration state.";
            leaf reconfiguration-state {
              type dpu-reconfiguration-state;
              mandatory true;
              description
                "Reports the ReConfiguration State for the line. A state
               change alarm shall be raised indicating a change of the
               line's Reconfiguration State.";
              reference
                "ITU-T G.997.2 clauses A.7.2.1.2 and A.7.4.1.3 (DPU-RCS)";
    
            }
          }  // notification reconfiguration-state-change
        }  // grouping reconfiguration-state-change-notification
    
        grouping pse-rpf-state-change-notification {
          description
            "Defines a notification for reporting a Power Source Equipment
           (PSE) Reverse Power Feeding (RPF) state change.";
          notification pse-rpf-state-change {
            description
              "This notification is sent upon a change in the Power Source
             Equipment (PSE) Reverse Power Feeding (RPF) state.";
            leaf rpf-state {
              type pse-rpf-state;
              mandatory true;
              description
                "Reports the reverse power feeding state of the Power Source
               Equipment (PSE).";
              reference
                "ITU-T G.997.2 clause A.7.4.2.2 (PSE-RPF)";
    
            }
          }  // notification pse-rpf-state-change
        }  // grouping pse-rpf-state-change-notification
    
        container rpf {
          description
            "System level configuration of Reverse Power Feeding.";
          container near-end-system {
            description
              "System configuration associated with the near-end.";
            uses rpf-near-end-system-config;
          }  // container near-end-system
        }  // container rpf
    
        augment /hw:hardware/hw:component {
          when
            "derived-from-or-self(hw:class,'bbf-hwt:fastdsl-tp')" {
            description
              "Only applicable when the hardware component class is
             'fastdsl-tp'.";
          }
          description
            "Augment the port configuration with data nodes specific
           to managing Reverse Power Feeding (RPF).";
          container rpf {
            description
              "Configurating data nodes for managing Reverse Power Feeding
             (RPF) per port.";
            container near-end-line {
              description
                "Line configuration associated with the near-end.";
              uses rpf-near-end-line-config;
            }  // container near-end-line
    
            container far-end-line {
              description
                "Line configuration associated with the far-end.";
              uses rpf-far-end-line-config;
            }  // container far-end-line
    
            leaf line-id {
              type uint32 {
                range "1..4095";
              }
              config false;
              mandatory true;
              description
                "A unique numeric identifier associated with the port.";
              reference
                "TR-301i2 Figure 8-1";
    
            }
    
            container inventory {
              config false;
              description
                "Inventory data associated with Reverse Power Feeding
               (RPF).";
              container near-end-line {
                description
                  "Inventory data associated with the near-end.";
                uses bbf-hw-rpf-dpu:rpf-near-end-line-inventory;
              }  // container near-end-line
    
              container far-end-line {
                description
                  "Inventory data associated with the far-end.";
                uses bbf-hw-rpf-dpu:rpf-far-end-line-inventory;
              }  // container far-end-line
            }  // container inventory
    
            container status {
              config false;
              description
                "Status data associated with Reverse Power Feeding (RPF).";
              container near-end-line {
                description
                  "Line state data associated with the near-end.";
                uses bbf-hw-rpf-dpu:rpf-near-end-line-status;
              }  // container near-end-line
    
              container far-end-line {
                description
                  "Line state data associated with the far-end.";
                uses bbf-hw-rpf-dpu:rpf-far-end-line-status;
              }  // container far-end-line
            }  // container status
    
            container diagnostics {
              config false;
              description
                "Diagnostic data associated with Reverse Power Feeding
               (RPF).";
              container far-end-line {
                description
                  "Diagnostic data associated with the far-end.";
                uses bbf-hw-rpf-dpu:rpf-far-end-line-diagnostics;
              }  // container far-end-line
            }  // container diagnostics
    
            container performance {
              config false;
              description
                "Performance data associated with Reverse Power Feeding
               (RPF).";
              uses bbf-hw-rpf-dpu:rpf-line-performance;
            }  // container performance
    
            uses bbf-hw-rpf-dpu:reconfiguration-state-change-notification;
    
            uses bbf-hw-rpf-dpu:pse-rpf-state-change-notification;
    
            uses bbf-hw-rpf-dpu:rpf-threshold-crossing-alerts;
          }  // container rpf
        }
    
        notification loss-of-power-dpu-shutdown {
          description
            "This notification is sent when the Distribution Point Unit
           (DPU) is about to shutdown because the Reverse Power Feeding
           (RPF) state of the last reverse power feeding line has entered
           the 'PSE-DGL' state. In case of an actual shutdown, this
           notification may not get transmitted.";
          leaf line {
            type leafref {
              path "/hw:hardware/hw:component/hw:name";
            }
            must
              "derived-from-or-self(/hw:hardware/hw:component
                [hw:name=current()]/hw:class,'bbf-hwt:fastdsl-tp')" {
              description
                "Only hardware components which are capable of
               Reverse Power Feeding (RPF) must be referenced.";
            }
            mandatory true;
            description
              "Reference to the line which was the last reverse power
             feeding line to enter the 'PSE-DGL' state.";
          }
    
          leaf line-id {
            type uint32 {
              range "1..4095";
            }
            mandatory true;
            description
              "A unique numeric identifier associated with the port.";
            reference
              "TR-301i2 Figure 8-1";
    
          }
    
          leaf rpf-state {
            type pse-rpf-state;
            mandatory true;
            description
              "Reports the reverse power feeding state of the Power Source
             Equipment (PSE).";
            reference
              "ITU-T G.997.2 clause A.7.4.2.2 (PSE-RPF)";
    
          }
        }  // notification loss-of-power-dpu-shutdown
      }  // module bbf-hardware-rpf-dpu
    

© 2023 YumaWorks, Inc. All rights reserved.