ieee802-ethernet-pse

This module contains YANG definitions for configuring and managing ports with Power Over Ethernet feature defined by IEEE 802....

  • Version: 2019-06-21

    ieee802-ethernet-pse@2019-06-21


    
      module ieee802-ethernet-pse {
    
        yang-version 1.1;
    
        namespace
          "urn:ieee:std:802.3:yang:ieee802-ethernet-pse";
    
        prefix ieee802-pse;
    
        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 feature defined by
         IEEE 802.3. It provides functionality roughly equivalent to
         that of the POWER-ETHERNET-MIB defined in IETF RFC 3621.";
    
        revision "2019-06-21" {
          description "Initial revision.";
          reference
            "IEEE Std 802.3-2018, unless dated explicitly";
    
        }
    
    
        typedef multi-pair-detection-state {
          type enumeration {
            enum "disabled" {
              value 1;
              description "PSE disabled.";
            }
            enum "searching" {
              value 2;
              description "PSE is searching.";
            }
            enum "deliveringPower" {
              value 3;
              description
                "PSE is delivering power.";
            }
            enum "fault" {
              value 4;
              description "PSE fault detected.";
            }
            enum "test" {
              value 5;
              description "PSE test mode.";
            }
            enum "otherFault" {
              value 6;
              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 1;
              description
                "True detection state unknown.";
            }
            enum "disabled" {
              value 2;
              description
                "PoDL PSE is disabled.";
            }
            enum "searching" {
              value 3;
              description
                "PoDL PSE is searching.";
            }
            enum "deliveringPower" {
              value 4;
              description
                "PoDL PSE is delivering power.";
            }
            enum "sleep" {
              value 5;
              description
                "PoDL PSE is in sleep state.";
            }
            enum "idle" {
              value 6;
              description "PoDL PSE is idle.";
            }
            enum "error" {
              value 7;
              description "PoDL PSE error.";
            }
          }
          description
            "Detection state of a PoDL PSE.";
          reference
            "IEEE Std 802.3, 30.15.1.1.3";
    
        }
    
        typedef power-class {
          type enumeration {
            enum "class0" {
              value 1;
              description "Class 0";
            }
            enum "class1" {
              value 2;
              description "Class 1";
            }
            enum "class2" {
              value 3;
              description "Class 2";
            }
            enum "class3" {
              value 4;
              description "Class 3";
            }
            enum "class4" {
              value 5;
              description "Class 4";
            }
            enum "class5" {
              value 6;
              description
                "Class 5 (for PoDL-only)";
            }
            enum "class6" {
              value 7;
              description
                "Class 6 (for PoDL-only)";
            }
            enum "class7" {
              value 8;
              description
                "Class 7 (for PoDL-only)";
            }
            enum "class8" {
              value 9;
              description
                "Class 8 (for PoDL-only)";
            }
            enum "class9" {
              value 10;
              description
                "Class 9 (for PoDL-only)";
            }
            enum "unknown" {
              value 11;
              description
                "Initializing, true Power Class not yet known 
               (only for PoDL PSE).";
            }
          }
          description "Power class.";
          reference
            "IEEE Std 802.3, 30.9.1.1.6 aPSEPowerClassification and 
            IEEE Std 802.3, 30.15.1.1.6 aPoDLPSEDetectedPDPowerClass.";
    
        }
    
        identity pse-type {
          description "Base type for PSE.";
        }
    
        identity multi-pair {
          base pse-type;
          description
            "PSE supports IEEE Std 802.3, Clause 33.";
        }
    
        identity single-pair {
          base pse-type;
          description
            "PSE support IEEE Std 802.3, Clause 104.";
        }
    
        identity powering-pairs {
          description
            "Base type for powering pairs.";
        }
    
        identity signal {
          base powering-pairs;
          description
            "The signal pair is in use.";
        }
    
        identity spare {
          base powering-pairs;
          description
            "The spare pair is in use.";
        }
    
        augment /if:interfaces/if:interface/ieee802-eth-if:ethernet {
          description
            "Augments ethernet interface configuration model with
           nodes specific to DTE Power via MDI devices and ports";
          container pse {
            description
              "DTE Power via MDI port configuration";
            reference
              "IEEE Std 802.3, 30.9.1 PoE PSE & IEEE Std 802.3, 30.15.1 PoDL
              PSE";
    
            leaf supported-pse-type {
              type identityref {
                base ieee802-pse:pse-type;
              }
              config false;
              description
                "PSE may support IEEE Std 802.3, Clause 33 or 
               IEEE Std 802.3, Clause 104.";
            }
    
            container multi-pair {
              presence
                "PSE port supports IEEE Std 802.3, Clause 33.";
              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 interface, 
                 when false disables the PSE function on the interface.";
                reference
                  "IEEE Std 802.3, 30.9.1.1.2 aPSEAdminState";
    
              }
    
              leaf powering-pairs {
                type identityref {
                  base powering-pairs;
                }
                description
                  "Describes or controls 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
                  "Describes the ability to control switching the 
                 power sourcing pins of the PSE.";
                reference
                  "IEEE Std 802.3, 30.9.1.1.3 aPSEPowerPairsControlAbility";
    
              }
    
              leaf detection-status {
                type multi-pair-detection-state;
                config false;
                description
                  "Describes 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
                   delivering power.";
                }
                type power-class;
                config false;
                description
                  "The power class of the PSE port.";
                reference
                  "IEEE Std 802.3, 30.9.1.1.6 aPSEPowerClassfication";
    
              }
    
              container statistics {
                config false;
                description
                  "statistics information of the multi-pair port.";
                leaf power-denied {
                  type yang:counter64;
                  description
                    "This counter is incremented when the PSE state diagram
                   enters the POWER_DENIED state, per IEEE Std 802.3, 
                   Figure 33-9.";
                  reference
                    "IEEE Std 802.3, 30.9.1.1.8 aPSEPowerDeniedCounter";
    
                }
    
                leaf invalid-signature {
                  type yang:counter64;
                  description
                    "This counter is incremented when the PSE state diagram
                   enters the SIGNATURE_INVALID state per IEEE Std 802.3,
                   Figure 33-9.";
                  reference
                    "IEEE Std 802.3, 30.9.1.1.7 aPSEInvalidSignatureCounter";
    
                }
    
                leaf mps-absent {
                  type yang:counter64;
                  description
                    "This counter is incremented when the PSE 
                   transitions directly from the POWER_ON state to the 
                   IDLE state due to tmpdo_timer_done being asserted, 
                   per IEEE Std 802.3, Figure 33-9.";
                  reference
                    "IEEE Std 802.3, 30.9.1.1.11 aPSEMPSAbsentCounter";
    
                }
    
                leaf overload {
                  type yang:counter64;
                  description
                    "This counter is incremented when the PSE state diagram
                   enters the ERROR_DELAY state due to the ovld_detected 
                   variable being TRUE, per IEEE Std 802.3, Figure 33-9.";
                  reference
                    "IEEE Std 802.3, 30.9.1.1.9 aPSEOverLoadCounter";
    
                }
    
                leaf short {
                  type yang:counter64;
                  description
                    "This counter is incremented when the PSE state diagram
                   enters the ERROR_DELAY state due to the short_detected
                   variable being TRUE, per IEEE Std 802.3, Figure 33-9.";
                  reference
                    "IEEE Std 802.3, 30.9.1.1.10 aPSEShortCounter";
    
                }
    
                leaf cumulative-energy {
                  type yang:counter64;
                  units "millijoules";
                  description
                    "The cumulative energy supplied by the PSE as measured at
                   the MDI in millijoules.";
                  reference
                    "IEEE Std 802.3, 30.9.1.1.14 aPSECumulativeEnergy";
    
                }
              }  // container statistics
    
              leaf actual-power {
                type decimal64 {
                  fraction-digits 4;
                }
                units "milliwatts";
                config false;
                description
                  "The actual power drawn by a PD over the port.";
                reference
                  "IEEE Std 802.3, 30.9.1.1.12 aPSEActualPower";
    
              }
    
              leaf power-accuracy {
                type int64;
                units "milliwatts";
                config false;
                description
                  "An integer value indicating the accuracy
                 associated with power-accuracy in +/- milliwatts.";
                reference
                  "IEEE Std 802.3, 30.9.1.1.13 aPSEPowerAccuracy";
    
              }
            }  // container multi-pair
    
            container single-pair {
              presence
                "PSE port working in PoDL.";
              description
                "PoDL 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 interface, 
                 when false disables the PSE function on the interface.";
                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 PoDL PSE.";
                reference
                  "IEEE Std 802.3, 30.15.1.1.3 aPoDLPSEPowerDetectionStatus";
    
              }
    
              leaf podl-type {
                type enumeration {
                  enum "unknown" {
                    value 0;
                    description
                      "Unknown PSE type.";
                  }
                  enum "typeA" {
                    value 1;
                    description "TypeA";
                  }
                  enum "typeB" {
                    value 2;
                    description "TypeB";
                  }
                  enum "typeC" {
                    value 3;
                    description "TypeC";
                  }
                  enum "typeD" {
                    value 4;
                    description "TypeD";
                  }
                }
                config false;
                description
                  "PSE type specified in IEEE Std 802.3, 104.4.1.";
              }
    
              leaf detected-pd-type {
                when
                  "../detection-status = 'deliveringPower'" {
                  description
                    "This node only applies when the detection status is
                   delivering power.";
                }
                type enumeration {
                  enum "unknown" {
                    value 0;
                    description "Unknown";
                  }
                  enum "typeA" {
                    value 1;
                    description "TypeA";
                  }
                  enum "typeB" {
                    value 2;
                    description "TypeB";
                  }
                  enum "typeC" {
                    value 3;
                    description "TypeC";
                  }
                  enum "typeD" {
                    value 4;
                    description "TypeD";
                  }
                }
                config false;
                description
                  "Indicates the Type of the detected PoDL PD as specified in
                 IEEE Std 802.3, 104.5.1.";
                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 power-class;
                config false;
                description
                  "Power class of the PD detected on the PSE port.";
                reference
                  "IEEE Std 802.3, 30.15.1.1.6 aPoDLPSEDetectedPDPowerClass";
    
              }
    
              container statistics {
                config false;
                description
                  "Statistics information of the single-pair PSE";
                leaf power-denied {
                  type yang:counter64;
                  description
                    "This counter is incremented when the PoDL PSE state 
                    diagram variable power_available transitions from true
                    to false (see IEEE Std 802.3, 104.4.3.3).";
                  reference
                    "IEEE Std 802.3, 30.15.1.1.9 aPoDLPSEPowerDeniedCounter";
    
                }
    
                leaf invalid-signature {
                  type yang:counter64;
                  description
                    "This counter is incremented when the PSE state diagram
                   enters the SIGNATURE_INVALID state per 
                   IEEE Std 802.3, Figure 33-9.";
                  reference
                    "IEEE Std 802.3, 30.15.1.1.7 
                    aPoDLPSEInvalidSignatureCounter";
    
                }
    
                leaf invalid-class {
                  type yang:counter64;
                  description
                    "This counter is incremented when the PoDL PSE state 
                   diagram variable tclass_timer_done transitions from false
                   to true or when the valid_class variable transitions from
                   true to false (see IEEE Std 802.3, 104.4.3.3).";
                  reference
                    "IEEE Std 802.3, 30.15.1.1.8 aPoDLPSEInvalidClassCounter";
    
                }
    
                leaf overload {
                  type yang:counter64;
                  description
                    "This counter is incremented when the PSE state diagram
                   variable overload_held transitions from false to true 
                   (see IEEE Std 802.3, 104.4.3.3).";
                  reference
                    "IEEE Std 802.3, 30.15.1.1.10 aPoDLPSEOverLoadCounter";
    
                }
    
                leaf fvs-absence {
                  type yang:counter64;
                  description
                    "Maintain Full Voltage Signature absent counter.
                   This counter is incremented when the PoDL PSE state 
                   diagram variable mfvs_timeout transitions from false to
                   true (see IEEE Std 802.3, 104.4.3.3).";
                  reference
                    "IEEE Std 802.3, 30.15.1.1.11
                    aPoDLPSEMaintainFullVoltageSignatureAbsentCounter";
    
                }
    
                leaf cumulative-energy {
                  type yang:counter64;
                  units "millijoules";
                  description
                    "A count of the cumulative energy supplied by the PoDL 
                   PSE, measured at the MDI, and expressed in units of 
                   millijoules.";
                  reference
                    "IEEE Std 802.3, 30.15.1.1.14 aPoDLPSECumulativeEnergy";
    
                }
              }  // container statistics
    
              leaf actual-power {
                type decimal64 {
                  fraction-digits 4;
                }
                units "milliwatts";
                config false;
                description
                  "An integer value indicating present (actual) power being
                 supplied by the PoDL PSE as measured at the MDI in 
                 milliwatts.";
                reference
                  "IEEE Std 802.3, 30.15.1.1.12 aPoDLPSEActualPower";
    
              }
    
              leaf power-accuracy {
                type int64;
                units "milliwatts";
                config false;
                description
                  "A signed integer value indicating the accuracy associated
                 with power-accuracy in milliwatts.";
                reference
                  "IEEE Std 802.3, 30.15.1.1.13 aPoDLPSEPowerAccuracy";
    
              }
            }  // container single-pair
          }  // container pse
        }
      }  // module ieee802-ethernet-pse
    

© 2023 YumaWorks, Inc. All rights reserved.