module ieee802-dot1cs-lrp { yang-version 1.1; namespace "urn:ieee:std:802.1CS:yang:ieee802-dot1cs-lrp"; prefix "dot1cs"; import ietf-system { prefix "sys"; } import ietf-yang-types { prefix "yang"; } import ietf-interfaces { prefix if; } import ieee802-types { prefix ieee; } import ietf-inet-types { prefix inet; } organization "Institute of Electrical and Electronics Engineers"; contact "WG-URL: http://ieee802.org/1/ WG-EMail: stds-802-1-l@ieee.org Contact: IEEE 802.1 Working Group Chair Postal: C/O IEEE 802.1 Working Group IEEE Standards Association 445 Hoes Lane Piscataway NJ 08854 USA E-mail: stds-802-1-chairs@ieee.org"; description "This module provides management of systems that support the Link-local Registration Protocol (LRP). Copyright (C) IEEE (2024). This version of this YANG module is part of IEEE Std 802.1CS; see the standard itself for full legal notices."; revision 2024-02-15 { description "Published as part of IEEE Std 802.1CS-2020/Cor 1-2024. The following reference statement identifies each referenced IEEE Standard as updated by applicable amendments."; reference "IEEE Std 802.1CS: IEEE Std 802.1CS-2020 Link-local Registration Protocol, IEEE Std 802.1CS-2020/Cor 1-2024: Corrections to Management Modules and Protocol Encoding."; } revision 2020-12-03 { description "First defined in IEEE P802.1CS-2020"; reference "IEEE Std 802.1CS-2020."; } /*--------------------*/ /* Feature */ /*--------------------*/ feature lrp { description "Feature Link-local Registration Protocol"; } /*--------------------*/ /* Type Definitions */ /*--------------------*/ typedef lrp-dt-address-union { type union { type ieee:mac-address; type inet:ipv4-address; type inet:ipv6-address; } } /*--------------------*/ /* Configuration Data */ /*--------------------*/ /* Link-local Registration Protocol */ augment "/sys:system" { description "Link-local Registration Protocol"; container lrp { if-feature lrp; description "Configure the Link-local Registration Protocol"; leaf lrp-ack-timer-init { type uint32; units "milliseconds"; config false; description "A read-only integer n specifying the number of milliseconds for ackTimerInit (D.2.12.6 of IEEE Std 802.1Q-2018)"; reference "11.3.1 of IEEE Std 802.1CS"; } leaf lrp-reconnect-max { type uint16; units "seconds"; description "An integer number of seconds which is the maximum value for instReconnectReset."; reference "11.3.2 of IEEE Std 802.1CS"; } list portal { key "portal-id"; config false; leaf portal-id { type uint32; config false; description "Local Identifier of portal"; reference "Clause 10 of IEEE Std 802.1CS"; } leaf target-port-interface-ref { type if:interface-ref; config false; description "The interface reference identifying the target port to which this portal is attached."; reference "8.2.1 of IEEE Std 802.1CS"; } leaf lrp-dt-instance-id { type leafref { path "/sys:system/dot1cs:lrp/dot1cs:lrp-dt-instance/dot1cs:instance-id"; } config false; description "The LRP-DT instance id that this portal is attached to."; reference "8.2.1 of IEEE Std 802.1CS"; } leaf application-id { type string; config false; description "The value transmitted in, and expected to be received in, the appId field of Hello LRPDUs."; reference "8.2.2.1 of IEEE Std 802.1CS"; } leaf my-chassis-id { type ieee:chassis-id-type ; config false; description "The value transmitted in the My Chassis ID TLV, and expected to be received in the Neighbor Chassis ID TLV, of Hello LRPDUs"; reference "8.2.2.2 of IEEE Std 802.1CS"; } leaf my-port-id { type ieee:port-id-type ; config false; description "The value transmitted in the My Port ID TLV, and expected to be received in the Neighbor Port ID TLV, of Hello LRPDUs."; reference "8.2.2.3 of IEEE Std 802.1CS"; } leaf neighbor-chassis-id { type ieee:chassis-id-type ; config false; description "The value transmitted in the Neighbor Chassis ID TLV, and expected to be received in the My Chassis ID TLV, of Hello LRPDUs."; reference "8.2.2.4 of IEEE Std 802.1CS"; } leaf neighbor-port-id { type ieee:port-id-type ; config false; description "The value transmitted in the Neighbor Port ID TLV, and expected to be received in the My Port ID TLV, of Hello LRPDUs."; reference "8.2.2.5 of IEEE Std 802.1CS"; } leaf my-hello-status { type enumeration { enum hs-looking { value 1; description "This Portal has not yet received a successful Associate Portal request."; } enum hs-connecting { value 2; description "This Portal has received a successful Associate Portal request, and a Hello LRPDU with the hsLooking status. The Portal is ready to receive all LRPDUs."; } enum hs-connected { value 3; description "This Portal is up and ready to transfer LRP application data. The Portal is allowed to transmit all LRPDUs."; } } config false; description "An enumerated value to be transmitted in the Hello status field of any Hello LRPDU."; reference "8.2.2.8 of IEEE Std 802.1CS"; } leaf local-overflow { type boolean; config false; description "Contains the last Boolean input from the Database overflow request. A value of TRUE indicates that the partner applicant database has exceeded the capacity of the local registrar LRP application."; reference "8.2.2.10 of IEEE Std 802.1CS"; } leaf neighbor-overflow { type boolean; config false; description "A Boolean copied from the last-received database overflow bit [bit 8] in the Error status field of the last-received Hello LRPDU."; reference "8.2.2.11 of IEEE Std 802.1CS"; } leaf neighbor-acknowledged { type boolean; config false; description "A Boolean, equal to the AND of all of the actAcknowledged variables for all of the Applicant state machines (records) on this Portal."; reference "8.2.2.12 of IEEE Std 802.1CS"; } leaf my-app-hello-info { type string; config false; description "Value to put in the Application Information TLV of a transmitted Hello LRPDU."; reference "8.2.2.16 of IEEE Std 802.1CS"; } leaf last-received-status { type string; config false; description "Used by the Receive Hello state machine to record the Hello status field of a Hello LRPDU received from the neighbor Portal."; reference "8.2.2.22 of IEEE Std 802.1CS"; } leaf applicant-active-records { type uint32; config false; description "An integer reporting the number of records in the applicant database."; reference "11.5.1 of IEEE Std 802.1CS"; } leaf registrar-active-records { type uint32; config false; description "An integer reporting the number of records in the registrar database."; reference "11.5.2 of IEEE Std 802.1CS"; } leaf sent-hellos { type yang:counter64; config false; description "The number of Hello LRPDUs transmitted by the Send Hello state machines."; reference "11.5.3 of IEEE Std 802.1CS"; } leaf accepted-hellos { type yang:counter64; config false; description "The number of valid Hello LRPDUsreceived by the Receive Hello state machine."; reference "11.5.4 of IEEE Std 802.1CS"; } leaf discarded-hellos { type yang:counter64; config false; description "The number of invalid Hello LRPDUs discarded by the Receive Hello state machine"; reference "11.5.5 of IEEE Std 802.1CS"; } leaf sent-records { type yang:counter64; config false; description "The number of Record LRPDUs transmitted by the Applicant state machine."; reference "11.5.6 of IEEE Std 802.1CS"; } leaf accepted-records { type yang:counter64; config false; description "The number of valid Record LRPDUs received by the Partial list state machine."; reference "11.5.7 of IEEE Std 802.1CS"; } leaf discarded-records { type yang:counter64; config false; description "The number of invalid Record LRPDUs discarded by the Partial list state machine."; reference "11.5.8 of IEEE Std 802.1CS"; } leaf record-errors { type yang:counter64; config false; description "The number of records discarded from otherwise-valid Record LRPDUs by regReceiveWriteRecord due to inconsistencies between the Checksum, Application data, and Data length fields."; reference "11.5.9 of IEEE Std 802.1CS"; } leaf sent-partials { type yang:counter64; config false; description "The number of Partial List LRPDUs transmitted by the Applicant state machine."; reference "11.5.10 of IEEE Std 802.1CS"; } leaf accepted-partials { type yang:counter64; config false; description "The number of valid Partial List LRPDUs received by the Applicant state machine."; reference "11.5.11 of IEEE Std 802.1CS"; } leaf discarded-partials { type yang:counter64; config false; description "The number of invalid Partial List LRPDUs discarded by the Applicant state machine."; reference "11.5.12 of IEEE Std 802.1CS"; } leaf sent-complete { type yang:counter64; config false; description "The number of Complete List LRPDUs transmitted by the Applicant state machine."; reference "11.5.13 of IEEE Std 802.1CS"; } leaf accepted-completes { type yang:counter64; config false; description "The number of valid Complete List LRPDUs received by the Applicant state machine."; reference "11.5.14 of IEEE Std 802.1CS"; } leaf discarded-completes{ type yang:counter64; config false; description "The number of invalid Complete List LRPDUs discarded by the Applicant state machine."; reference "11.5.15 of IEEE Std 802.1CS"; } leaf discarded-unknowns { type yang:counter64; config false; description "The number of LRPDUs of unknown type discarded by the Applicant state machine or Partial list state machine."; reference "11.5.16 of IEEE Std 802.1CS"; } } // end portal list lrp-dt-instance { key "instance-id"; config false; leaf instance-id { type uint32; config false; description "Local data transport instance"; reference "Clause 7 of IEEE Std 802.1CS"; } leaf active-tcp-open { type boolean; config false; description "A Boolean value that is TRUE if and only if instMyAddress and instNeighborAddress are TCP addresses and this LRP-DT instance is using the active , not the passive , form of TCP OPEN"; reference "7.3.2.1 of IEEE Std 802.1CS"; } leaf my-dt-address { type lrp-dt-address-union; config false; description "The address of the local system for this LRP-DT instance; the address used as a destination address by the neighbor LRP-DT instance. The address includes a type (MAC, IPv4, or IPv6) and an address of that type."; reference "7.3.2.2 of IEEE Std 802.1CS"; } leaf my-tcp-port{ type inet:port-number; config false; description "The local port number for this TCP connection, or 0, if this connection uses ECP, instead of TCP."; reference "7.3.2.3 of IEEE Std 802.1CS"; } leaf neighbor-dt-address { type lrp-dt-address-union; config false; description "The address of the neighbor LRP-DT instance; the address used as a destination address by this LRP-DT instance. The address includes a type (MAC, IPv4, or IPv6) and an address of that type."; reference "7.3.2.4 of IEEE Std 802.1CS"; } leaf neighbor-tcp-port { type inet:port-number; config false; description "The remote port number for this TCP connection, or 0, if this connection uses ECP, instead of TCP."; reference "7.3.2.5 of IEEE Std 802.1CS"; } leaf discarded-lrpdus { type yang:counter64; config false; description "A counter indicating the number of LRPDUs discarded by the LRP-DT instance that cannot be assigned to a Portal for processing."; reference "11.4.1 of IEEE Std 802.1CS"; } } // end lrp-dt-instance } // end lrp } // end augment system } // end ieee802-dot1cs-lrp