module ieee802-dot1q-preemption { namespace urn:ieee:std:802.1Q:yang:ieee802-dot1q-preemption; prefix preempt; import ieee802-dot1q-types { prefix dot1q-types; } import ietf-interfaces { prefix if; } import ieee802-dot1q-bridge { prefix dot1q; } organization "IEEE 802.1 Working Group"; contact "WG-URL: http://www.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 P.O. Box 1331 Piscataway NJ 08855-1331 USA E-mail: STDS-802-1-L@IEEE.ORG"; description "This module provides for management of IEEE Std 802.1Q Bridges that support Frame Preemption."; revision 2020-07-07 { description "Published as part of IEEE Std 802.1Qcw. Initial version."; reference "IEEE Std 802.1Qcw - Bridges and Bridged Networks — Amendment: YANG Data Models for Scheduled Traffic, Frame Preemption, and Per-Stream Filtering and Policing."; } feature frame-preemption { description "Frame preemption supported."; reference "IEEE Std 802.1Q-2018"; } augment "/if:interfaces/if:interface/dot1q:bridge-port" { if-feature "frame-preemption"; description "Augment bridge-port with Frame Preemption configuration."; container frame-preemption-parameters { description "A table containing a set of frame preemption parameters, one for each Port. All writeable objects in this table must be persistent over power up restart/reboot."; reference "12.30.1 of IEEE Std 802.1Q-2018"; list frame-preemption-status-table { key "priority"; description "The framePreemptionStatusTable consists of 8 framePreemptionAdminStatus values, one per priority"; reference "12.30.1.1 of IEEE Std 802.1Q-2018"; leaf priority { type dot1q-types:priority-type; description "Priority."; } leaf frame-preemption-status { type enumeration { enum express { description "Frames queued for the priority are to be transmitted using the express service for the Port."; } enum preemptible { description "Frames queued for the priority are to be transmitted using the preemptible service for the Port and preemption is enabled for the Port."; } } default "express"; description "The value of the framePreemptionAdminStatus parameter for the traffic class. The default value of the framePreemptionAdminStatus parameter is express. The value of this object must be retained across reinitializations of the management system."; reference "12.30.1.1.1 of IEEE Std 802.1Q-2018"; } } leaf hold-advance { type uint32; units "nanoseconds"; config false; description "The value of the holdAdvance parameter for the Port in nanoseconds. There is no default value; the holdAdvance is a property of the underlying MAC."; reference "12.30.1.2 of IEEE Std 802.1Q-2018"; } leaf release-advance { type uint32; units "nanoseconds"; config false; description "The value of the releaseAdvance parameter for the Port in nanoseconds. There is no default value; the releaseAdvance is a property of the underlying MAC."; reference "12.30.1.3 of IEEE Std 802.1Q-2018"; } leaf preemption-active { type boolean; config false; description "TRUE if preemption is both supported by the MAC and currently active."; reference "12.30.1.4 of IEEE Std 802.1Q-2018"; } leaf hold-request { type enumeration { enum hold { value 1; description "A hold request has been issued to the MAC."; } enum release { value 2; description "A release request has been issued to the MAC."; } } config false; description "The value of the holdRequest parameter for the Port, either hold (1) or release (2). The value of this object is release (2) on system initialization."; reference "12.30.1.5 of IEEE Std 802.1Q-2018"; } } } }