An augmented YANG Ethernet TSN network data model to interface Ethernet TSN network design tools (e.g. simulator, formal analysis) and hardware.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

152 lines
4.6 KiB

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";
}
}
}
}