netconfcentral logo

openconfig-lldp

HTML

openconfig-lldp@2016-05-16



  module openconfig-lldp {

    yang-version 1;

    namespace
      "http://openconfig.net/yang/lldp";

    prefix oc-lldp;

    import openconfig-lldp-types {
      prefix oc-lldp-types;
    }
    import openconfig-interfaces {
      prefix oc-if;
    }
    import ietf-yang-types {
      prefix yang;
    }
    import openconfig-extensions {
      prefix oc-ext;
    }

    organization "OpenConfig working group";

    contact
      "OpenConfig working group
    www.openconfig.net";

    description
      "This module defines configuration and operational state data
    for the LLDP protocol.";

    revision "2016-05-16" {
      description "Initial public revision";
      reference
        "0.1.0";

    }

    oc-ext:openconfig-version "0.1.0";

    grouping lldp-common-counters {
      description
        "Definition of global and per-interface counters";
      leaf frame-in {
        type yang:counter64;
        description
          "The number of lldp frames received.";
      }

      leaf frame-out {
        type yang:counter64;
        description
          "The number of frames transmitted out.";
      }

      leaf frame-error-in {
        type yang:counter64;
        description
          "The number of LLDP frames received with errors.";
      }

      leaf frame-discard {
        type yang:counter64;
        description
          "The number of LLDP frames received and discarded.";
      }

      leaf tlv-discard {
        type yang:counter64;
        description
          "The number of TLV frames received and discarded.";
      }

      leaf tlv-unknown {
        type yang:counter64;
        description
          "The number of frames received with unknown TLV.";
      }

      leaf last-clear {
        type yang:date-and-time;
        description
          "Indicates the last time the counters were
        cleared.";
      }
    }  // grouping lldp-common-counters

    grouping lldp-global-counters {
      description
        "Definition of global LLDP counters";
      uses lldp-common-counters;

      leaf tlv-accepted {
        type yang:counter64;
        description
          "The number of valid TLVs received.";
      }

      leaf entries-aged-out {
        type yang:counter64;
        description
          "The number of entries aged out due to timeout.";
      }
    }  // grouping lldp-global-counters

    grouping lldp-interface-counters {
      description
        "Definition of per-interface LLDP counters";
      uses lldp-common-counters;

      leaf frame-error-out {
        type yang:counter64;
        description
          "The number of frame transmit errors on the
          interface.";
      }
    }  // grouping lldp-interface-counters

    grouping lldp-system-info-config {
      description
        "Configuration data for system-level local and remote
      LLDP information";
      leaf system-name {
        type string {
          length "0..255";
        }
        description
          "The system name field shall contain an alpha-numeric string
        that indicates the system's administratively assigned name.
        The system name should be the system's fully qualified domain
        name. If implementations support IETF RFC 3418, the sysName
        object should be used for this field.";
      }

      leaf system-description {
        type string {
          length "0..255";
        }
        description
          "The system description field shall contain an alpha-numeric
        string that is the textual description of the network entity.
        The system description should include the full name and
        version identification of the system's hardware type,
        software operating system, and networking software. If
        implementations support IETF RFC 3418, the sysDescr object
        should be used for this field.";
      }

      leaf chassis-id {
        type string;
        description
          "The Chassis ID is a mandatory TLV which identifies the
        chassis component of the endpoint identifier associated with
        the transmitting LLDP agent";
      }

      leaf chassis-id-type {
        type oc-lldp-types:chassis-id-type;
        description
          "This field identifies the format and source of the chassis
        identifier string. It is an enumerator defined by the
        LldpChassisIdSubtype object from IEEE 802.1AB MIB.";
      }
    }  // grouping lldp-system-info-config

    grouping lldp-system-info-state {
      description
        "Operational state data reported for the local and remote
      systems";
    }  // grouping lldp-system-info-state

    grouping lldp-neighbor-config {
      description
        "Configuration data for LLDP neighbors";
    }  // grouping lldp-neighbor-config

    grouping lldp-neighbor-state {
      description
        "Operational state data for LLDP neighbors";
      leaf id {
        type string;
        description
          "System generated identifier for the neighbor on the
        interface.";
      }

      leaf age {
        type uint64;
        units "seconds";
        description "Age since discovery";
      }

      leaf last-update {
        type int64;
        description
          "Seconds since last update received.";
      }

      leaf port-id {
        type string;
        description
          "The Port ID is a mandatory TLV which identifies the port
        component of the endpoint identifier associated with the
        transmitting LLDP agent. If the specified port is an IEEE
        802.3 Repeater port, then this TLV is optional.";
      }

      leaf port-id-type {
        type oc-lldp-types:port-id-type;
        description
          "This field identifies the format and source of the port
        identifier string. It is an enumerator defined by the
        PtopoPortIdType object from RFC2922.";
      }

      leaf port-description {
        type string;
        description
          "The binary string containing the actual port identifier for
        the port which this LLDP PDU was transmitted. The source and
        format of this field is defined by PtopoPortId from
        RFC2922.";
      }

      leaf management-address {
        type string;
        description
          "The Management Address is a mandatory TLV which identifies a
        network address associated with the local LLDP agent, which
        can be used to reach the agent on the port identified in the
        Port ID TLV.";
      }

      leaf management-address-type {
        type string;
        description
          "The enumerated value for the network address type
        identified in this TLV. This enumeration is defined in the
        'Assigned Numbers' RFC [RFC3232] and the
        ianaAddressFamilyNumbers object.";
      }
    }  // grouping lldp-neighbor-state

    grouping lldp-capabilities-config {
      description
        "Configuration data for LLDP capabilities";
    }  // grouping lldp-capabilities-config

    grouping lldp-capabilities-state {
      description
        "Operational state data for LLDP capabilities";
      leaf name {
        type identityref {
          base oc-lldp-types:LLDP_SYSTEM_CAPABILITY;
        }
        description
          "Name of the system capability advertised by the neighbor.
        Capabilities are represented in a bitmap that defines the
        primary functions of the system. The capabilities are
        defined in IEEE 802.1AB.";
      }

      leaf enabled {
        type boolean;
        description
          "Indicates whether the corresponding system capability is
        enabled on the neighbor.";
        reference
          "Sec 8.5.8.2 of IEEE 802.1AB-2009";

      }
    }  // grouping lldp-capabilities-state

    grouping lldp-capabilities-top {
      description
        "Top-level grouping for LLDP capabilities";
      container capabilities {
        config false;
        description
          "Enclosing container for list of LLDP capabilities";
        list capability {
          key "name";
          description
            "List of LLDP system capabilities advertised by the
          neighbor";
          leaf name {
            type leafref {
              path "../state/name";
            }
            description
              "Reference to capabilities list key";
          }

          container config {
            description
              "Configuration data for LLDP capabilities";
            uses lldp-capabilities-config;
          }  // container config

          container state {
            config false;
            description
              "Operational state data for LLDP capabilities";
            uses lldp-capabilities-config;

            uses lldp-capabilities-state;
          }  // container state
        }  // list capability
      }  // container capabilities
    }  // grouping lldp-capabilities-top

    grouping lldp-custom-tlv-config {
      description
        "Configuration data for custom LLDP TLVs";
    }  // grouping lldp-custom-tlv-config

    grouping lldp-custom-tlv-state {
      description
        "Operational state data for custom LLDP TLVs";
      leaf type {
        type int32;
        description
          "The integer value identifying the type of information
        contained in the value field.";
      }

      leaf oui {
        type string;
        description
          "The organizationally unique identifier field shall contain
        the organization's OUI as defined in Clause 9 of IEEE Std
        802. The high-order octet is 0 and the low-order 3 octets
        are the SMI Network Management Private Enterprise Code of
        the Vendor in network byte order, as defined in the
        'Assigned Numbers' RFC [RFC3232].";
      }

      leaf oui-subtype {
        type string;
        description
          "The organizationally defined subtype field shall contain a
        unique subtype value assigned by the defining organization.";
      }

      leaf value {
        type binary;
        description
          "A variable-length octet-string containing the
        instance-specific information for this TLV.";
      }
    }  // grouping lldp-custom-tlv-state

    grouping lldp-custom-tlv-top {
      description
        "Top-level grouping for custom LLDP TLVs";
      container custom-tlvs {
        config false;
        description
          "Enclosing container for list of custom TLVs from a
        neighbor";
        list tlv {
          key "type oui oui-subtype";
          description
            "List of custom LLDP TLVs from a neighbor";
          leaf type {
            type leafref {
              path "../state/type";
            }
            description
              "Reference to type list key";
          }

          leaf oui {
            type leafref {
              path "../state/oui";
            }
            description
              "Reference to oui list key";
          }

          leaf oui-subtype {
            type leafref {
              path "../state/oui-subtype";
            }
            description
              "Reference to oui-subtype list key";
          }

          container config {
            description
              "Configuration data ";
            uses lldp-custom-tlv-config;
          }  // container config

          container state {
            config false;
            description
              "Operational state data ";
            uses lldp-custom-tlv-config;

            uses lldp-custom-tlv-state;
          }  // container state
        }  // list tlv
      }  // container custom-tlvs
    }  // grouping lldp-custom-tlv-top

    grouping lldp-neighbor-top {
      description
        "Top-level grouping for the LLDP neighbor list";
      container neighbors {
        config false;
        description
          "Enclosing container for list of LLDP neighbors on an
        interface";
        list neighbor {
          key "id";
          description
            "List of LLDP neighbors";
          leaf id {
            type leafref {
              path "../state/id";
            }
            description " ";
          }

          container config {
            description
              "Configuration data ";
            uses lldp-neighbor-config;
          }  // container config

          container state {
            config false;
            description
              "Operational state data ";
            uses lldp-system-info-config;

            uses lldp-system-info-state;

            uses lldp-neighbor-config;

            uses lldp-neighbor-state;
          }  // container state

          uses lldp-custom-tlv-top;

          uses lldp-capabilities-top;
        }  // list neighbor
      }  // container neighbors
    }  // grouping lldp-neighbor-top

    grouping lldp-interface-config {
      description
        "Configuration data for LLDP on each interface";
      leaf name {
        type oc-if:base-interface-ref;
        description
          "Reference to the LLDP Ethernet interface";
      }

      leaf enabled {
        type boolean;
        default "true";
        description
          "Enable or disable the LLDP protocol on the interface.";
      }
    }  // grouping lldp-interface-config

    grouping lldp-interface-state {
      description
        "Operational state data for LLDP on each interface";
      container counters {
        description
          "LLDP counters on each interface";
        uses lldp-interface-counters;
      }  // container counters
    }  // grouping lldp-interface-state

    grouping lldp-interface-top {
      description "Top-level grouping ";
      container interfaces {
        description "Enclosing container ";
        list interface {
          key "name";
          description
            "List of interfaces on which LLDP is enabled / available";
          leaf name {
            type leafref {
              path "../config/name";
            }
            description
              "Reference to the list key";
          }

          container config {
            description
              "Configuration data for LLDP on each interface";
            uses lldp-interface-config;
          }  // container config

          container state {
            config false;
            description
              "Operational state data ";
            uses lldp-interface-config;

            uses lldp-interface-state;
          }  // container state

          uses lldp-neighbor-top;
        }  // list interface
      }  // container interfaces
    }  // grouping lldp-interface-top

    grouping lldp-config {
      description
        "Configuration data for global LLDP parameters";
      leaf enabled {
        type boolean;
        default "true";
        description
          "System level state of the LLDP protocol.";
      }

      leaf hello-timer {
        type uint64;
        units "seconds";
        description
          "System level hello timer for the LLDP protocol.";
      }

      leaf-list suppress-tlv-advertisement {
        type identityref {
          base oc-lldp-types:LLDP_TLV;
        }
        description
          "Indicates whether the local system should suppress the
        advertisement of particular TLVs with the LLDP PDUs that it
        transmits. Where a TLV type is specified within this list, it
        should not be included in any LLDP PDU transmitted by the
        local agent.";
      }
    }  // grouping lldp-config

    grouping lldp-state {
      description
        "Operational state data for global LLDP parameters";
      container counters {
        description "Global LLDP counters";
        uses lldp-global-counters;
      }  // container counters
    }  // grouping lldp-state

    grouping lldp-top {
      description
        "Top-level grouping for LLDP model";
      container lldp {
        description
          "Top-level container for LLDP configuration and state data";
        container config {
          description "Configuration data ";
          uses lldp-config;

          uses lldp-system-info-config;
        }  // container config

        container state {
          config false;
          description
            "Operational state data ";
          uses lldp-config;

          uses lldp-system-info-config;

          uses lldp-system-info-state;

          uses lldp-state;
        }  // container state

        uses lldp-interface-top;
      }  // container lldp
    }  // grouping lldp-top

    uses lldp-top;
  }  // module openconfig-lldp

Summary

  
  
Organization OpenConfig working group
  
Module openconfig-lldp
Version 2016-05-16
File openconfig-lldp.yang
  
Prefix oc-lldp
Namespace http://openconfig.net/yang/lldp
  
Cooked /cookedmodules/openconfig-lldp/2016-05-16
YANG /src/openconfig-lldp@2016-05-16.yang
XSD /xsd/openconfig-lldp@2016-05-16.xsd
  
Abstract This module defines configuration and operational state data for the LLDP protocol.
  
Contact
OpenConfig working group
www.openconfig.net

Description

 
This module defines configuration and operational state data
for the LLDP protocol.

Groupings

Grouping Objects Abstract
lldp-capabilities-config Configuration data for LLDP capabilities
lldp-capabilities-state name enabled Operational state data for LLDP capabilities
lldp-capabilities-top capabilities Top-level grouping for LLDP capabilities
lldp-common-counters frame-in frame-out frame-error-in frame-discard tlv-discard tlv-unknown last-clear Definition of global and per-interface counters
lldp-config enabled hello-timer suppress-tlv-advertisement Configuration data for global LLDP parameters
lldp-custom-tlv-config Configuration data for custom LLDP TLVs
lldp-custom-tlv-state type oui oui-subtype value Operational state data for custom LLDP TLVs
lldp-custom-tlv-top custom-tlvs Top-level grouping for custom LLDP TLVs
lldp-global-counters frame-in frame-out frame-error-in frame-discard tlv-discard tlv-unknown last-cleartlv-accepted entries-aged-out Definition of global LLDP counters
lldp-interface-config name enabled Configuration data for LLDP on each interface
lldp-interface-counters frame-in frame-out frame-error-in frame-discard tlv-discard tlv-unknown last-clearframe-error-out Definition of per-interface LLDP counters
lldp-interface-state counters Operational state data for LLDP on each interface
lldp-interface-top interfaces Top-level grouping
lldp-neighbor-config Configuration data for LLDP neighbors
lldp-neighbor-state id age last-update port-id port-id-type port-description management-address management-address-type Operational state data for LLDP neighbors
lldp-neighbor-top neighbors Top-level grouping for the LLDP neighbor list
lldp-state counters Operational state data for global LLDP parameters
lldp-system-info-config system-name system-description chassis-id chassis-id-type Configuration data for system-level local and remote LLDP information
lldp-system-info-state Operational state data reported for the local and remote systems
lldp-top lldp Top-level grouping for LLDP model

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
lldp container Top-level container for LLDP configuration and state data
   config container Configuration data
      chassis-id leaf The Chassis ID is a mandatory TLV which identifies the chassis component of the endpoint identifier associated with the transmitting LLDP agent
      chassis-id-type leaf This field identifies the format and source of the chassis identifier string. It is an enumerator defined by the LldpChassisIdSubtype object from IEEE 802.1AB MIB.
      enabled leaf System level state of the LLDP protocol.
      hello-timer leaf System level hello timer for the LLDP protocol.
      suppress-tlv-advertisement leaf-list Indicates whether the local system should suppress the advertisement of particular TLVs with the LLDP PDUs that it transmits. Where a TLV type is specified within this list, it should not be included in any LLDP PDU transmitted by the local agent.
      system-description leaf The system description field shall contain an alpha-numeric string that is the textual description of the network entity. The system description should include the full name and version identification of the system's hardware type, software operating syst...
      system-name leaf The system name field shall contain an alpha-numeric string that indicates the system's administratively assigned name. The system name should be the system's fully qualified domain name. If implementations support IETF RFC 3418, the sysName object should...
   interfaces container Enclosing container
      interface list List of interfaces on which LLDP is enabled / available
         config container Configuration data for LLDP on each interface
            enabled leaf Enable or disable the LLDP protocol on the interface.
            name leaf Reference to the LLDP Ethernet interface
         name leaf Reference to the list key
         neighbors container Enclosing container for list of LLDP neighbors on an interface
            neighbor list List of LLDP neighbors
               capabilities container Enclosing container for list of LLDP capabilities
                  capability list List of LLDP system capabilities advertised by the neighbor
                     config container Configuration data for LLDP capabilities
                     name leaf Reference to capabilities list key
                     state container Operational state data for LLDP capabilities
                        enabled leaf Indicates whether the corresponding system capability is enabled on the neighbor.
                        name leaf Name of the system capability advertised by the neighbor. Capabilities are represented in a bitmap that defines the primary functions of the system. The capabilities are defined in IEEE 802.1AB.
               config container Configuration data
               custom-tlvs container Enclosing container for list of custom TLVs from a neighbor
                  tlv list List of custom LLDP TLVs from a neighbor
                     config container Configuration data
                     oui leaf Reference to oui list key
                     oui-subtype leaf Reference to oui-subtype list key
                     state container Operational state data
                        oui leaf The organizationally unique identifier field shall contain the organization's OUI as defined in Clause 9 of IEEE Std 802. The high-order octet is 0 and the low-order 3 octets are the SMI Network Management Private Enterprise Code of the Vendor in network ...
                        oui-subtype leaf The organizationally defined subtype field shall contain a unique subtype value assigned by the defining organization.
                        type leaf The integer value identifying the type of information contained in the value field.
                        value leaf A variable-length octet-string containing the instance-specific information for this TLV.
                     type leaf Reference to type list key
               id leaf
               state container Operational state data
                  age leaf Age since discovery
                  chassis-id leaf The Chassis ID is a mandatory TLV which identifies the chassis component of the endpoint identifier associated with the transmitting LLDP agent
                  chassis-id-type leaf This field identifies the format and source of the chassis identifier string. It is an enumerator defined by the LldpChassisIdSubtype object from IEEE 802.1AB MIB.
                  id leaf System generated identifier for the neighbor on the interface.
                  last-update leaf Seconds since last update received.
                  management-address leaf The Management Address is a mandatory TLV which identifies a network address associated with the local LLDP agent, which can be used to reach the agent on the port identified in the Port ID TLV.
                  management-address-type leaf The enumerated value for the network address type identified in this TLV. This enumeration is defined in the 'Assigned Numbers' RFC [RFC3232] and the ianaAddressFamilyNumbers object.
                  port-description leaf The binary string containing the actual port identifier for the port which this LLDP PDU was transmitted. The source and format of this field is defined by PtopoPortId from RFC2922.
                  port-id leaf The Port ID is a mandatory TLV which identifies the port component of the endpoint identifier associated with the transmitting LLDP agent. If the specified port is an IEEE 802.3 Repeater port, then this TLV is optional.
                  port-id-type leaf This field identifies the format and source of the port identifier string. It is an enumerator defined by the PtopoPortIdType object from RFC2922.
                  system-description leaf The system description field shall contain an alpha-numeric string that is the textual description of the network entity. The system description should include the full name and version identification of the system's hardware type, software operating syst...
                  system-name leaf The system name field shall contain an alpha-numeric string that indicates the system's administratively assigned name. The system name should be the system's fully qualified domain name. If implementations support IETF RFC 3418, the sysName object should...
         state container Operational state data
            counters container LLDP counters on each interface
               frame-discard leaf The number of LLDP frames received and discarded.
               frame-error-in leaf The number of LLDP frames received with errors.
               frame-error-out leaf The number of frame transmit errors on the interface.
               frame-in leaf The number of lldp frames received.
               frame-out leaf The number of frames transmitted out.
               last-clear leaf Indicates the last time the counters were cleared.
               tlv-discard leaf The number of TLV frames received and discarded.
               tlv-unknown leaf The number of frames received with unknown TLV.
            enabled leaf Enable or disable the LLDP protocol on the interface.
            name leaf Reference to the LLDP Ethernet interface
   state container Operational state data
      chassis-id leaf The Chassis ID is a mandatory TLV which identifies the chassis component of the endpoint identifier associated with the transmitting LLDP agent
      chassis-id-type leaf This field identifies the format and source of the chassis identifier string. It is an enumerator defined by the LldpChassisIdSubtype object from IEEE 802.1AB MIB.
      counters container Global LLDP counters
         entries-aged-out leaf The number of entries aged out due to timeout.
         frame-discard leaf The number of LLDP frames received and discarded.
         frame-error-in leaf The number of LLDP frames received with errors.
         frame-in leaf The number of lldp frames received.
         frame-out leaf The number of frames transmitted out.
         last-clear leaf Indicates the last time the counters were cleared.
         tlv-accepted leaf The number of valid TLVs received.
         tlv-discard leaf The number of TLV frames received and discarded.
         tlv-unknown leaf The number of frames received with unknown TLV.
      enabled leaf System level state of the LLDP protocol.
      hello-timer leaf System level hello timer for the LLDP protocol.
      suppress-tlv-advertisement leaf-list Indicates whether the local system should suppress the advertisement of particular TLVs with the LLDP PDUs that it transmits. Where a TLV type is specified within this list, it should not be included in any LLDP PDU transmitted by the local agent.
      system-description leaf The system description field shall contain an alpha-numeric string that is the textual description of the network entity. The system description should include the full name and version identification of the system's hardware type, software operating syst...
      system-name leaf The system name field shall contain an alpha-numeric string that indicates the system's administratively assigned name. The system name should be the system's fully qualified domain name. If implementations support IETF RFC 3418, the sysName object should...