ieee802-ethernet-pse-2

This module contains YANG definitions for configuring and managing ports with Power Over Ethernet features defined by IEEE Std 8...

  • Version: 2025-04-17

    ieee802-ethernet-pse-2@2025-04-17


    
      module ieee802-ethernet-pse-2 {
    
        yang-version 1.1;
    
        namespace
          "urn:ieee:std:802.3:yang:ieee802-ethernet-pse-2";
    
        prefix ieee802-pse-2024;
    
        import ietf-interfaces {
          prefix if;
          reference
            "IETF RFC 8343";
    
    
        }
        import ietf-yang-types {
          prefix yang;
          reference
            "IETF RFC 6991";
    
    
        }
        import ieee802-ethernet-interface {
          prefix ieee802-eth-if;
        }
    
        organization
          "IEEE 802.3 Ethernet Working Group
         Web URL: http://www.ieee802.org/3/";
    
        contact
          "Web URL: http://www.ieee802.org/3/";
    
        description
          "This module contains YANG definitions for configuring and
         managing ports with Power Over Ethernet features defined by
         IEEE Std 802.3-2022.
         This module is based on,and superscedes ieee802-ethernet-pse.yang
         from IEEE Std 802.3.2-2019.";
    
        revision "2025-04-17" {
          description
            "Updates under IEEE Std 802.3.2-202x, Draft D3.3";
          reference
            "IEEE Std IEEE Std 802.3.2-202x, unless dated explicitly";
    
        }
    
    
        feature multi-pair-pse {
          description
            "This object indicates the support for IEEE Std 802.3
              Clause 33 and/or 145.";
        }
    
        feature single-pair-pse {
          description
            "This object indicates the support for IEEE Std 802.3
              Clause 104.";
        }
    
        typedef multi-pair-detection-state {
          type enumeration {
            enum "disabled" {
              value 0;
              description "PSE disabled.";
            }
            enum "searching" {
              value 1;
              description "PSE is searching.";
            }
            enum "deliveringPower" {
              value 2;
              description
                "PSE is delivering power.";
            }
            enum "fault" {
              value 3;
              description "PSE fault detected.";
            }
            enum "test" {
              value 4;
              description "PSE test mode.";
            }
            enum "otherFault" {
              value 5;
              description
                "PSE implementation specific fault detected.";
            }
          }
          description
            "Detection state of a multi-pair PSE.";
          reference
            "IEEE Std 802.3, 30.9.1.1.5";
    
        }
    
        typedef single-pair-detection-state {
          type enumeration {
            enum "unknown" {
              value 0;
              description
                "True detection state unknown.";
            }
            enum "disabled" {
              value 1;
              description "PSE is disabled.";
            }
            enum "searching" {
              value 2;
              description "PSE is searching.";
            }
            enum "deliveringPower" {
              value 3;
              description
                "PSE is delivering power.";
            }
            enum "sleep" {
              value 4;
              description
                "PSE is in sleep state.";
            }
            enum "idle" {
              value 5;
              description "PSE is idle.";
            }
            enum "error" {
              value 6;
              description "PSE error.";
            }
          }
          description
            "Detection state of a single-pair PSE.";
          reference
            "IEEE Std 802.3, 30.15.1.1.3";
    
        }
    
        typedef multi-pair-power-class {
          type enumeration {
            enum "class0" {
              value 0;
              description "Class 0";
            }
            enum "class1" {
              value 1;
              description "Class 1";
            }
            enum "class2" {
              value 2;
              description "Class 2";
            }
            enum "class3" {
              value 3;
              description "Class 3";
            }
            enum "class4" {
              value 4;
              description "Class 4";
            }
            enum "class5" {
              value 5;
              description "Class 5";
            }
            enum "class6" {
              value 6;
              description "Class 6";
            }
            enum "class7" {
              value 7;
              description "Class 7";
            }
            enum "class8" {
              value 8;
              description "Class 8";
            }
          }
          description
            "Multi-pair PoE power class.";
          reference
            "IEEE Std 802.3, 30.9.1.1.6 aPSEPowerClassification ";
    
        }
    
        typedef pse-support {
          type enumeration {
            enum "two-pair" {
              value 0;
              description
                "PSE port supports IEEE Std 802.3, Clause 33.";
            }
            enum "four-pair" {
              value 1;
              description
                "PSE port supports IEEE Std 802.3, Clause 33 and 145.";
            }
            enum "single-pair" {
              value 2;
              description
                "PSE port supports IEEE Std 802.3, Clause 104.";
            }
          }
          description "PSE support.";
        }
    
        typedef multi-pair-powering-pairs {
          type enumeration {
            enum "signal" {
              value 0;
              description "Using signal pairs.";
            }
            enum "spare" {
              value 1;
              description "Using spare pairs.";
            }
            enum "both" {
              value 2;
              description
                "Using signal and spare pairs.";
            }
          }
          description "Powering pairs.";
        }
    
        typedef single-pair-pd-type {
          type enumeration {
            enum "unknown" {
              value 0;
              description "Unknown PD type";
            }
            enum "typeA" {
              value 1;
              description "TypeA PD";
            }
            enum "typeB" {
              value 2;
              description "TypeB PD";
            }
            enum "typeC" {
              value 3;
              description "TypeC PD";
            }
            enum "typeD" {
              value 4;
              description "TypeD PD";
            }
            enum "typeE" {
              value 5;
              description "TypeE PD";
            }
            enum "typeF" {
              value 6;
              description "TypeF PD";
            }
          }
          description "Single-pair PoE PD type.";
          reference
            "IEEE Std 802.3, 30.15.1.1.5 aPoDLPSEDetectedPDType";
    
        }
    
        typedef single-pair-pse-type {
          type enumeration {
            enum "unknown" {
              value 0;
              description "Unknown PSE type.";
            }
            enum "typeA" {
              value 1;
              description "TypeA PSE";
            }
            enum "typeB" {
              value 2;
              description "TypeB PSE";
            }
            enum "typeC" {
              value 3;
              description "TypeC PSE";
            }
            enum "typeD" {
              value 4;
              description "TypeD PSE";
            }
            enum "typeE" {
              value 5;
              description "TypeE PSE";
            }
            enum "typeF" {
              value 6;
              description "TypeF PSE";
            }
          }
          description
            "Single-pair PoE PSE type.";
          reference
            "IEEE Std 802.3, 30.15.1.1.5 aPoDLPSEDetectedPDType";
    
        }
    
        typedef single-pair-power-class {
          type enumeration {
            enum "class0" {
              value 0;
              description "Class 0";
            }
            enum "class1" {
              value 1;
              description "Class 1";
            }
            enum "class2" {
              value 2;
              description "Class 2";
            }
            enum "class3" {
              value 3;
              description "Class 3";
            }
            enum "class4" {
              value 4;
              description "Class 4";
            }
            enum "class5" {
              value 5;
              description "Class 5";
            }
            enum "class6" {
              value 6;
              description "Class 6";
            }
            enum "class7" {
              value 7;
              description "Class 7";
            }
            enum "class8" {
              value 8;
              description "Class 8";
            }
            enum "class9" {
              value 9;
              description "Class 9";
            }
            enum "class10" {
              value 10;
              description "Class 10";
            }
            enum "class11" {
              value 11;
              description "Class 11";
            }
            enum "class12" {
              value 12;
              description "Class 12";
            }
            enum "class13" {
              value 13;
              description "Class 13";
            }
            enum "class14" {
              value 14;
              description "Class 14";
            }
            enum "class15" {
              value 15;
              description "Class 15";
            }
            enum "unknown" {
              value 16;
              description
                "Initializing, true Power Class not yet known.";
            }
          }
          description
            "Single-pair PoE power class.";
          reference
            "IEEE Std 802.3, 30.15.1.1.6 aPoDLPSEDetectedPDPowerClass";
    
        }
    
        augment /if:interfaces/if:interface/ieee802-eth-if:ethernet {
          description
            "Augments ethernet interface configuration model with
           nodes specific to Multi-pair and Single-pair PoE.";
          container pse-2 {
            description
              "Multi-pair and Single-pair PoE port configuration.
    
             Discontinuities in the values of counters in this container
             can occur at re-initialization of the  management system,
             and at other times as indicated by the value of the
             'discontinuity-time' leaf  defined in the ietf-interfaces
              YANG module (IETF RFC 8343).";
            reference
              "IEEE Std 802.3, 30.9.1 multi-pair PoE PSE and
                     IEEE Std 802.3, 30.15.1 single-pair PoE PSE";
    
            leaf supported-pse-type {
              type pse-support;
              config false;
              description
                "The PSE types are supported.";
            }
    
            container multi-pair {
              if-feature multi-pair-pse;
              presence
                "PSE port supports IEEE Std 802.3 Clause 33
                             and/or Clause 145.";
              description
                "PSE port configuration in IEEE Std 802.3, 30.9.1.";
              leaf pse-enable {
                type boolean;
                default "false";
                description
                  "When true enables the PSE function on the port,
                 when false disables the PSE function on the port.";
                reference
                  "IEEE Std 802.3, 30.9.1.2.1 acPSEAdminControl";
    
              }
    
              leaf pse-state {
                type boolean;
                config false;
                description
                  "The PSE enabled state on the port.";
                reference
                  "IEEE Std 802.3, 30.9.1.1.2 aPSEAdminState";
    
              }
    
              leaf multi-pair-powering-pairs {
                type multi-pair-powering-pairs;
                description
                  "The PSE pairs in use. If the value of
                 pairs-control-ability is true, this object is
                 writeable.";
                reference
                  "IEEE Std 802.3, 30.9.1.1.4 aPSEPowerPairs";
    
              }
    
              leaf pairs-control-ability {
                type boolean;
                default "true";
                config false;
                description
                  "Can the PSE Port control switching the
                 power sourcing pins.";
                reference
                  "IEEE Std 802.3, 30.9.1.1.3 aPSEPowerPairsControlAbility";
    
              }
    
              leaf detection-status {
                type multi-pair-detection-state;
                config false;
                description
                  "The operational status of the port PD detection.";
                reference
                  "IEEE Std 802.3, 30.9.1.1.5 aPSEPowerDetectionStatus";
    
              }
    
              leaf classifications {
                when
                  "../detection-status  = 'deliveringPower'" {
                  description
                    "This node only applies when the detection status is
                   deliveringPower.";
                }
                type multi-pair-power-class;
                config false;
                description
                  "The power class of the detected PD.";
                reference
                  "IEEE Std 802.3, 30.9.1.1.6 aPSEPowerClassfication";
    
              }
    
              container statistics {
                config false;
                description
                  "Multi-pair PoE Statistics information for the port.";
                leaf power-denied {
                  type yang:counter64;
                  description
                    "The number of times the PSE denied power.";
                  reference
                    "IEEE Std 802.3, 30.9.1.1.14";
    
                }
    
                leaf invalid-signature {
                  type yang:counter64;
                  description
                    "The number of times the PSE detected an
                   invalid signature.";
                  reference
                    "IEEE Std 802.3, 30.9.1.1.11";
    
                }
    
                leaf mps-absent {
                  type yang:counter64;
                  description
                    "The number of times the PSE
                   lost the 'Maintain Power Signature'(MPS).";
                  reference
                    "IEEE Std 802.3, 30.9.1.1.20";
    
                }
    
                leaf overload {
                  type yang:counter64;
                  status deprecated;
                  description
                    "The number of times the PSE detected
                   an output current overload.";
                  reference
                    "IEEE Std 802.3, 30.9.1.1.17";
    
                }
    
                leaf short {
                  type yang:counter64;
                  status deprecated;
                  description
                    "This object is deprecated as it's not defined in base
                   standard.";
                }
    
                leaf cumulative-energy {
                  type yang:counter64;
                  units "millijoules";
                  description
                    "The cumulative energy supplied by the PSE.";
                  reference
                    "IEEE Std 802.3, 30.9.1.1.25";
    
                }
              }  // container statistics
    
              leaf actual-power {
                type uint32;
                units "milliwatts";
                config false;
                description
                  "The actual power drawn by a PD over the port.";
                reference
                  "IEEE Std 802.3, 30.9.1.1.23";
    
              }
    
              leaf power-accuracy {
                type int64;
                units "milliwatts";
                config false;
                description
                  "The power accuracy of the port.";
                reference
                  "IEEE Std 802.3, 30.9.1.1.24";
    
              }
            }  // container multi-pair
    
            container single-pair {
              if-feature single-pair-pse;
              presence
                "PSE port supports IEEE Std 802.3 Clause 104.";
              description
                "Single-pair PSE configuration as defined in
               IEEE Std 802.3, 30.15.1.";
              leaf pse-enable {
                type boolean;
                default "false";
                description
                  "When true enables the PSE function on the port,
                 when false disables the PSE function on the port.";
                reference
                  "IEEE Std 802.3, 30.15.1.1.2 aPoDLPSEAdminState";
    
              }
    
              leaf detection-status {
                type single-pair-detection-state;
                config false;
                description
                  "Indicates the current status of the Single-pair PSE.";
                reference
                  "IEEE Std 802.3,
                  30.15.1.1.3 aPoDLPSEPowerDetectionStatus";
    
              }
    
              leaf single-pair-type {
                type single-pair-pse-type;
                config false;
                description
                  "Single-pair PSE type.";
                reference
                  "IEEE Std 802.3, 30.15.1.1.4 aPoDLPSEType";
    
              }
    
              leaf detected-pd-type {
                when
                  "../detection-status = 'deliveringPower'" {
                  description
                    "This node only applies when the detection status is
                   delivering power.";
                }
                type single-pair-pd-type;
                config false;
                description
                  "Indicates the detected type of the single-pair PD.";
                reference
                  "IEEE Std 802.3, 30.15.1.1.5 aPoDLPSEDetectedPDType";
    
              }
    
              leaf pd-power-class {
                when
                  "../detection-status = 'deliveringPower'" {
                  description
                    "This node only applies when the detection status is
                   delivering power.";
                }
                type single-pair-power-class;
                config false;
                description
                  "The power class of the detected PD.";
                reference
                  "IEEE Std 802.3,
                  30.15.1.1.6 aPoDLPSEDetectedPDPowerClass";
    
              }
    
              container statistics {
                config false;
                description
                  "Single-pair PoE Statistics information for the port.";
                leaf power-denied {
                  type yang:counter64;
                  description
                    "The number of times the PSE denied power.";
                  reference
                    "IEEE Std 802.3,
                    30.15.1.1.9 aPoDLPSEPowerDeniedCounter";
    
                }
    
                leaf invalid-signature {
                  type yang:counter64;
                  description
                    "The number of times the PSE detected an
                   invalid signature.";
                  reference
                    "IEEE Std 802.3, 30.15.1.1.7
                    aPoDLPSEInvalidSignatureCounter";
    
                }
    
                leaf invalid-class {
                  type yang:counter64;
                  description
                    "The number of times PD classification timed out
                   or did not get valid class information from SCCP.";
                  reference
                    "IEEE Std 802.3,
                    30.15.1.1.8 aPoDLPSEInvalidClassCounter";
    
                }
    
                leaf overload {
                  type yang:counter64;
                  description
                    "The number of times the PSE detected
                   an output current overload.";
                  reference
                    "IEEE Std 802.3, 30.15.1.1.10 aPoDLPSEOverLoadCounter";
    
                }
    
                leaf fvs-absence {
                  type yang:counter64;
                  description
                    "The number of times the PSE
                   lost the 'Maintain Full Voltage Signature'(MFVS).";
                  reference
                    "IEEE Std 802.3, 30.15.1.1.11
                    aPoDLPSEMaintainFullVoltageSignatureAbsentCounter";
    
                }
    
                leaf cumulative-energy {
                  type yang:counter64;
                  units "millijoules";
                  description
                    "The cumulative energy supplied by the PSE as
                   measured at the MDI.";
                  reference
                    "IEEE Std 802.3, 30.15.1.1.14 aPoDLPSECumulativeEnergy";
    
                }
              }  // container statistics
    
              leaf actual-power {
                type uint32;
                units "milliwatts";
                config false;
                description
                  "The actual power drawn by a PD over the port.";
                reference
                  "IEEE Std 802.3, 30.15.1.1.12 aPoDLPSEActualPower";
    
              }
    
              leaf power-accuracy {
                type int64;
                units "milliwatts";
                config false;
                description
                  "The power accuracy of the port.";
                reference
                  "IEEE Std 802.3, 30.15.1.1.13 aPoDLPSEPowerAccuracy";
    
              }
            }  // container single-pair
          }  // container pse-2
        }
      }  // module ieee802-ethernet-pse-2
    

© 2024 YumaWorks, Inc. All rights reserved.