initial realease

This commit is contained in:
FRUCHARD Damien
2023-09-21 11:07:20 +02:00
parent d369acc857
commit e102d8725d
32 changed files with 20526 additions and 1 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,86 @@
module ieee802-dot1cb-frer-types {
yang-version "1.1";
namespace urn:ieee:std:802.1Q:yang:ieee802-dot1cb-frer-types;
prefix dot1cb-frer-types;
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
"Management objects that control the frame replication and
elimination from IEEE Std 802.1CB-2017. This YANG data model conforms
to the Network Management Datastore Architecture defined in RFC 8342.
Copyright (C) IEEE (2021). This version of this YANG module is part
of IEEE Std 802.1CBcv; see the draft itself for full legal notices.";
revision 2021-05-06 {
description
"Published as part of IEEE Std 802.1CBcv-2021. Initial version.";
reference
"IEEE Std 802.1CBcv-2021, Frame Replication and Elimination for
Reliability - FRER YANG Data Model and Management Information Base
Module.";
}
typedef seq-rcvy-algorithm {
type enumeration {
enum vector {
value 0;
description
"The sequence recovery type used for the Vector Recovery
Algorithm.";
}
enum match {
value 1;
description
"The sequence recovery type used for the Match Recovery
Algorithm.";
}
}
description
"An enumerated value specifying which sequence recovery algorithm
is to be used for an instance of the Sequence recovery function.";
reference
"10.4.1.5 of IEEE Std 802.1CB-2017";
}
typedef seq-encaps-method {
type enumeration {
enum reserved {
value 0;
description
"Reserved value.";
}
enum r-tag {
value 1;
description
"The sequence encode decode type used for the R_TAG
encode/decode method.";
}
enum hsr-seq-tag {
value 2;
description
"The sequence encode decode type used for the HSR encode/decode
method.";
}
enum prp-seq-trailer {
value 3;
description
"The sequence encode decode type used for the PRP encode/decode
method.";
}
}
description
"An enumerated value indicating the type of encapsulation used for
an instance of the Sequence encode/ decode function.";
reference
"10.5.1.5 of IEEE Std 802.1CB-2017";
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,99 @@
module ieee802-dot1cb-stream-identification-types {
yang-version "1.1";
namespace
urn:ieee:std:802.1Q:yang:ieee802-dot1cb-stream-identification-types;
prefix dot1cb-sid-types;
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
"Management objects that control the stream identification from IEEE
Std 802.1CB-2017. This YANG data model conforms to the Network
Management Datastore Architecture defined in RFC 8342. Copyright (C)
IEEE (2021). This version of this YANG module is part of IEEE Std
802.1CBdb-2021; see the draft itself for full legal notices.";
revision 2021-06-14 {
description
"Published as part of IEEE Std 802.1CBdb-2021.
Added the stream identification type used for the Mask-and-match
identification method ";
reference
"IEEE Std 802.1CBdb-2021, Frame Replication and Elimination for
Reliability - Extended Stream identification functions.";
}
revision 2021-05-06 {
description
"Published as part of IEEE Std 802.1CBcv-2021. Initial version.";
reference
"IEEE Std 802.1CBcv-2021, Frame Replication and Elimination for
Reliability - FRER YANG Data Model and Management Information Base
Module.";
}
identity strid-idty {
description
"Root identity for all stream identification types";
}
typedef direction {
type boolean;
description
"A boolean object indicating whether the direction is out-facing
(True) or in-facing (False).";
reference
"10.4.1.3 of IEEE Std 802.1CB-2017";
}
typedef stream-id-function {
type enumeration {
enum reserved {
value 0;
description
"Reserved value.";
}
enum null-stream {
value 1;
description
"The stream identification type used for the Null Stream
identification method.";
}
enum smac-vlan {
value 2;
description
"The stream identification type used for the Source MAC and
VLAN Stream identification method.";
}
enum dmac-vlan {
value 3;
description
"The stream identification type used for the Active Destination
MAC and VLAN Stream identification method.";
}
enum ip {
value 4;
description
"The stream identification type used for the IP Stream
identification method.";
}
enum mask-and-match {
value 5;
description
"The stream identification type used for the Mask-and-match
identification method.";
}
}
description
"An enumerated value indicating the method used to identify packets
belonging to a Stream.";
reference
"9.1.1.6 of IEEE Std 802.1CBdb-2021";
}
}

View File

@@ -0,0 +1,817 @@
module ieee802-dot1cb-stream-identification {
yang-version "1.1";
namespace urn:ieee:std:802.1Q:yang:ieee802-dot1cb-stream-identification;
prefix dot1cb-sid;
import ieee802-types {
prefix ieee;
}
import ieee802-dot1q-types {
prefix dot1qtypes;
}
import ietf-inet-types {
prefix inet;
}
import ietf-interfaces {
prefix if;
}
import ieee802-dot1cb-stream-identification-types {
prefix dot1cb-sid-types;
}
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
"Management objects that control the stream identification from IEEE
Std 802.1CB-2017. This YANG data model conforms to the Network
Management Datastore Architecture defined in RFC 8342. Copyright (C)
IEEE (2021). This version of this YANG module is part of IEEE Std
802.1CBcv; see the draft itself for full legal notices.";
revision 2021-05-06 {
description
"Published as part of IEEE Std 802.1CBcv-2021. Initial version.";
reference
"IEEE Std 802.1CBcv-2021, Frame Replication and Elimination for
Reliability - FRER YANG Data Model and Management Information Base
Module.";
}
identity null-stream-identification {
base dot1cb-sid-types:strid-idty;
description
"Null Stream Identification";
}
identity smac-vlan-stream-identification {
base dot1cb-sid-types:strid-idty;
description
"Source MAC and VLAN Stream Identification";
}
identity dmac-vlan-stream-identification {
base dot1cb-sid-types:strid-idty;
description
"Active Destination MAC and VLAN Stream Identification";
}
identity ip-stream-identification {
base dot1cb-sid-types:strid-idty;
description
"IP Stream Identification";
}
typedef vlan-tag-identification-type {
type enumeration {
enum tagged {
value 1;
description
"A frame must have a VLAN tag to be recognized as belonging to
the Stream.";
}
enum priority {
value 2;
description
"A frame must be untagged, or have a VLAN tag with a VLAN ID =
0 to be recognized as belonging to the Stream.";
}
enum all {
value 3;
description
"A frame is recognized as belonging to the Stream whether
tagged or not.";
}
}
description
"Enumeration describing how a Stream can be identified using the
VLAN tag.";
}
typedef vlan-identifier-type {
type uint16 {
range "0 .. 4095";
}
description
"Specifies the vlan_identifier. A value of 0 indicates that the
vlan_identifier carries a special meaning.";
}
list stream-identity {
key "index";
description
"The Stream identity table consists of a set of tsnStreamIdEntry
objects, each relating to a single Stream, specifying the points in
the system where Stream identification functions are to be
instantiated. Each entry in the Stream identity table has a
tsnStreamIdHandle object specifying a stream_handle value and one
or more tsnStreamIdEntry objects describing one identification
method for that Stream. If a single Stream has multiple
identification methods, perhaps (but not necessarily) on different
ports, then there can be multiple tsnStreamIdEntry objects with the
same value for the tsnStreamIdHandle. If the HSR or PRP method or
the Sequence encode/decode function is applied to a packet, then
the LanId or PathId fields are also used to identify the Stream to
which the packet belongs.";
reference
"9.1. of IEEE Std 802.1CB-2017";
leaf index {
type uint32;
description
"If a single Stream has multiple identification methods, perhaps
(but not necessarily) on different ports, then there can be
multiple tsnStreamIdEntry objects with the same value for the
tsnStreamIdHandle";
}
leaf handle {
type uint32;
mandatory true;
description
"The objects in a given entry of the Stream identity table are
used to control packets whose stream_handle subparameter is equal
to the entrys tsnStreamIdHandle object. The specific values used
in the tsnStreamIdHandle object are not necessarily used in the
system; they are used only to relate the various management
objects in Clause 9 and Clause 10.";
reference
"9.1.1.1 of IEEE Std 802.1CB-2017";
}
container in-facing {
description
"Container for in-facing Stream identification functions.";
leaf-list input-port {
type if:interface-ref;
description
"The list of ports on which an in-facing Stream identification
function using this identification method is to be placed for
this Stream in the input (coming from the system forwarding
function) direction. Any number of tsnStreamIdEntry objects can
list the same port for the same tsnStreamIdHandle in its
tsnStreamIdInFacInputPortList.";
reference
"9.1.1.4 of IEEE Std 802.1CB-2017";
}
leaf-list output-port {
type if:interface-ref;
description
"The list of ports on which an in-facing Stream identification
function using this identification method is to be placed for
this Stream in the output (towards the system forwarding
function) direction. At most one tsnStreamIdEntry can list a
given port for a given tsnStreamIdHandle in its
tsnStreamIdInFacOutputPortList.";
reference
"9.1.1.2 of IEEE Std 802.1CB-2017";
}
}
container out-facing {
description
"Container for out-facing Stream identification functions.";
leaf-list input-port {
type if:interface-ref;
description
"The list of ports on which an out-facing Stream identification
function using this identification method is to be placed for
this Stream in the input (coming from the physical interface)
direction. Any number of tsnStreamIdEntry objects can list the
same port for the same tsnStreamIdHandle in its
tsnStreamIdOutFacInputPortList.";
reference
"9.1.1.5 of IEEE Std 802.1CB-2017";
}
leaf-list output-port {
type if:interface-ref;
description
"The list of ports on which an out-facing Stream identification
function using this identification method is to be placed for
this Stream in the output (towards the physical interface)
direction. At most one tsnStreamIdEntry can list a given port
for a given tsnStreamIdHandle in its
tsnStreamIdOutFacOutputPortList.";
reference
"9.1.1.3 of IEEE Std 802.1CB-2017";
}
}
choice parameters {
mandatory true;
description
"The number of controlling parameters for a Stream identification
method, their types and values, are specific to the
tsnStreamIdIdentificationType.";
reference
"9.1.1.7 of IEEE Std 802.1CB-2017";
container null-stream-identification {
description
"When instantiating an instance of the Null Stream
identification function for a particular input Stream, the
managed objects in this container serve as the
tsnStreamIdParameters managed object.";
reference
"9.1.2 of IEEE Std 802.1CB-2017";
container identification-type {
config false;
description
"The identification type indicating the method used to
identify packets belonging to the Stream. The identification
type contains a type number and an Organizationally Unique
Identifier (OUI) or Company ID (CID) to identify the
organization defining the identification method.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
leaf type-number {
type dot1cb-sid-types:stream-id-function;
default "null-stream";
description
"The stream identification type used for the Null Stream
identification method.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
}
leaf oui-cid {
type string {
pattern "[0-9A-F]{2}(-[0-9A-F]{2}){2}";
}
default "00-80-C2";
description
"The Organizationally Unique Identifier (OUI) or Company ID
(CID) to identify the organization defining the
identification method. For identification methods defined
in IEEE Std 802.1CB-2017 the OUI/CID is always 00-80-C2.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
}
}
leaf destination-mac {
type ieee:mac-address;
description
"Specifies the destination_address that identifies a packet
in an EISS indication primitive, to the Null Stream
identification function. The ieee:mac-address type has a
pattern that allows upper and lower case letters. To avoid
issues with string comparison, it is suggested to only use
Upper Case for the letters in the hexadecimal numbers. There
is still an issue with a difference between the IETF
mac-address definition and the IEEE mac-address definition,
so consider that if implementing code that compares
mac-addresses.";
reference
"9.1.2.1 of IEEE Std 802.1CB-2017";
}
leaf tagged {
type vlan-tag-identification-type;
description
"An enumerated value indicating whether a packet in an EISS
indication primitive to the Null Stream identification
function is permitted to have a VLAN tag.";
reference
"9.1.2.2 of IEEE Std 802.1CB-2017";
}
leaf vlan {
type vlan-identifier-type;
description
"Specifies the vlan_identifier parameter that identifies a
packet in an EISS indication primitive to the Null Stream
identification function. A value of 0 indicates that the
vlan_identifier parameter is ignored on EISS indication
primitives.";
reference
"9.1.2.3 of IEEE Std 802.1CB-2017";
}
}
container smac-vlan-stream-identification {
description
"When instantiating an instance of the Source MAC and VLAN
Stream identification function for a particular input Stream,
the managed objects in the following subclauses serve as the
tsnStreamIdParameters managed object.";
reference
"9.1.3 of IEEE Std 802.1CB-2017";
container identification-type {
config false;
description
"The identification type indicating the method used to
identify packets belonging to the Stream. The identification
type contains a type number and an Organizationally Unique
Identifier (OUI) or Company ID (CID) to identify the
organization defining the identification method.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
leaf type-number {
type dot1cb-sid-types:stream-id-function;
default "smac-vlan";
description
"The stream identification type used for the Source MAC and
VLAN Stream identification method.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
}
leaf oui-cid {
type string {
pattern "[0-9A-F]{2}(-[0-9A-F]{2}){2}";
}
default "00-80-C2";
description
"The Organizationally Unique Identifier (OUI) or Company ID
(CID) to identify the organization defining the
identification method. For identification methods defined
in IEEE Std 802.1CB-2017 the OUI/CID is always 00-80-C2.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
}
}
leaf source-mac {
type ieee:mac-address;
description
"Specifies the source_address that identifies a packet in an
EISS indication primitive, to the Source MAC and VLAN Stream
identification function. The ieee:mac-address type has a
pattern that allows upper and lower case letters. To avoid
issues with string comparison, it is suggested to only use
Upper Case for the letters in the hexadecimal numbers. There
is still an issue with a difference between the IETF
mac-address definition and the IEEE mac-address definition,
so consider that if implementing code that compares
mac-addresses.";
reference
"9.1.3.1 of IEEE Std 802.1CB-2017";
}
leaf tagged {
type vlan-tag-identification-type;
description
"An enumerated value indicating whether a packet in an EISS
indication primitive to the Source MAC and VLAN Stream
identification function is permitted to have a VLAN tag.";
reference
"9.1.3.2 of IEEE Std 802.1CB-2017";
}
leaf vlan {
type vlan-identifier-type;
description
"Specifies the vlan_identifier parameter that identifies a
packet in an EISS indication primitive to the Source MAC and
VLAN Stream identification function. A value of 0 indicates
that the vlan_identifier parameter is ignored on EISS
indication primitives.";
reference
"9.1.3.3 of IEEE Std 802.1CB-2017";
}
}
container dmac-vlan-stream-identification {
description
"When instantiating an instance of the Active Destination MAC
and VLAN Stream identification function for a particular output
Stream, the managed objects in the following subclauses, along
with those listed in 9.1.2, serve as the tsnStreamIdParameters
managed object.";
reference
"9.1.4 of IEEE Std 802.1CB-2017";
container identification-type {
config false;
description
"The identification type indicating the method used to
identify packets belonging to the Stream. The identification
type contains a type number and an Organizationally Unique
Identifier (OUI) or Company ID (CID) to identify the
organization defining the identification method.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
leaf type-number {
type dot1cb-sid-types:stream-id-function;
default "dmac-vlan";
description
"The stream identification type used for the Active
Destination MAC and VLAN Stream identification method.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
}
leaf oui-cid {
type string {
pattern "[0-9A-F]{2}(-[0-9A-F]{2}){2}";
}
default "00-80-C2";
description
"The Organizationally Unique Identifier (OUI) or Company ID
(CID) to identify the organization defining the
identification method. For identification methods defined
in IEEE Std 802.1CB-2017 the OUI/CID is always 00-80-C2.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
}
}
container down {
description
"Container for all parameters which are sent to lower layers.";
leaf destination-mac {
type ieee:mac-address;
description
"Specifies the destination_address parameter to use in the
EISS request primitive for output packets sent to lower
layers by the Active Destination MAC and VLAN Stream
identification function, and the destination_address that
identifies an input packet in an EISS indication primitive
to the Active Destination MAC and VLAN Stream
identification function. The ieee:mac-address type has a
pattern that allows upper and lower case letters. To avoid
issues with string comparison, it is suggested to only use
Upper Case for the letters in the hexadecimal numbers.
There is still an issue with a difference between the IETF
mac-address definition and the IEEE mac-address definition,
so consider that if implementing code that compares
mac-addresses.";
reference
"9.1.4.1 of IEEE Std 802.1CB-2017";
}
leaf tagged {
type vlan-tag-identification-type;
description
"An enumerated value indicating whether a packet in an EISS
indication or request primitive between the Active
Destination MAC and VLAN Stream identification function and
the lower layers is to have a VLAN tag. This variable is
not used in an FRER C-component. See 8.4.";
reference
"9.1.4.2 of IEEE Std 802.1CB-2017";
}
leaf vlan {
type vlan-identifier-type;
description
"Specifies the vlan_identifier parameter to use in the EISS
request primitive for output packets sent to lower layers
by the Active Destination MAC and VLAN Stream
identification function, and the vlan_identifier that
identifies an input packet in an EISS indication primitive
to the Active Destination MAC and VLAN Stream
identification function. A value of 0 indicates that the
vlan_identifier parameter is ignored on EISS indication
primitives.";
reference
"9.1.4.3 of IEEE Std 802.1CB-2017";
}
leaf priority {
type dot1qtypes:priority-type;
description
"Specifies the priority parameter to use in the EISS
request primitive for output packets sent to lower layers
by the Active Destination MAC and VLAN Stream
identification function for all packets in a particular
Stream.";
reference
"9.1.4.4 of IEEE Std 802.1CB-2017";
}
}
container up {
description
"Container for all parameters which are offered to higher
layers.";
leaf destination-mac {
type ieee:mac-address;
description
"Specifies the destination_address parameter to use in the
EISS indication primitive for input packets offered to
upper layers by the Active Destination MAC and VLAN Stream
identification layer. This address replaces the address
that was used to identify the packet
(tsnCpeDmacVlanDownDestMac). The ieee:mac-address type has
a pattern that allows upper and lower case letters. To
avoid issues with string comparison, it is suggested to
only use Upper Case for the letters in the hexadecimal
numbers. There is still an issue with a difference between
the IETF mac-address definition and the IEEE mac-address
definition, so consider that if implementing code that
compares mac-addresses.";
reference
"9.1.4.5 of IEEE Std 802.1CB-2017";
}
leaf tagged {
type vlan-tag-identification-type;
description
"An enumerated value indicating whether a packet in an EISS
indication or request primitive between the Active
Destination MAC and VLAN Stream identification function and
the upper layers is to have a VLAN tag. This variable is
used only by an end system and not by a relay system.";
reference
"9.1.4.6 of IEEE Std 802.1CB-2017";
}
leaf vlan {
type vlan-identifier-type;
description
"Specifies the vlan_identifier parameter to use in the EISS
indication primitive for packets offered to upper layers,
or the VLAN ID field for an IEEE 802.1Q tag in an ISS
mac_service_data_unit. This address replaces the VLAN ID
that was used to identify the packet
(tsnCpeDmacVlanDownVlan).";
reference
"9.1.4.7 of IEEE Std 802.1CB-2017";
}
leaf priority {
type dot1qtypes:priority-type;
description
"Specifies the priority parameter to use in the EISS
indication primitive for packets offered to upper layers.";
reference
"9.1.4.8 of IEEE Std 802.1CB-2017";
}
}
}
container ip-stream-identification {
description
"When instantiating an instance of the IP Stream identification
function, the parameters in the following subclauses replace
the tsnStreamIdParameters managed object.";
reference
"9.1.5 of IEEE Std 802.1CB-2017";
container identification-type {
config false;
description
"The identification type indicating the method used to
identify packets belonging to the Stream. The identification
type contains a type number and an Organizationally Unique
Identifier (OUI) or Company ID (CID) to identify the
organization defining the identification method.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
leaf type-number {
type dot1cb-sid-types:stream-id-function;
default "ip";
description
"The stream identification type used for the IP Stream
identification method.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
}
leaf oui-cid {
type string {
pattern "[0-9A-F]{2}(-[0-9A-F]{2}){2}";
}
default "00-80-C2";
description
"The Organizationally Unique Identifier (OUI) or Company ID
(CID) to identify the organization defining the
identification method. For identification methods defined
in IEEE Std 802.1CB-2017 the OUI/CID is always 00-80-C2.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
}
}
leaf destination-mac {
type ieee:mac-address;
description
"Specifies the destination_address parameter that identifies
a packet in an EISS indication primitive. The
ieee:mac-address type has a pattern that allows upper and
lower case letters. To avoid issues with string comparison,
it is suggested to only use Upper Case for the letters in the
hexadecimal numbers. There is still an issue with a
difference between the IETF mac-address definition and the
IEEE mac-address definition, so consider that if implementing
code that compares mac-addresses.";
reference
"9.1.5.1 of IEEE Std 802.1CB-2017";
}
leaf tagged {
type vlan-tag-identification-type;
description
"An enumerated value indicating whether a packet in an EISS
indication or request primitive to the IP Stream
identification function is to have a VLAN tag.";
reference
"9.1.5.2 of IEEE Std 802.1CB-2017";
}
leaf vlan {
type vlan-identifier-type;
description
"Specifies the vlan_identifier parameter that identifies a
packet in an EISS indication primitive. A value of 0
indicates that the frame is not to have a VLAN tag.";
reference
"9.1.5.3 of IEEE Std 802.1CB-2017";
}
leaf ip-source {
type inet:ip-address;
description
"Specifies the IPv4 (RFC 791) or IPv6 (RFC 2460) source
address parameter that must be matched to identify packets
coming up from lower layers. An address of all 0 indicates
that the IP source address is to be ignored on packets
received from lower layers.";
reference
"9.1.5.4 of IEEE Std 802.1CB-2017";
}
leaf ip-destination {
type inet:ip-address;
description
"Specifies the IPv4 (RFC 791) or IPv6 (RFC 2460) destination
address parameter that must be matched to identify packets
coming up from lower layers.";
reference
"9.1.5.5 of IEEE Std 802.1CB-2017";
}
leaf dscp {
type inet:dscp;
description
"Specifies the IPv4 (RFC 791) or IPv6 (RFC 2460)
differentiated services codepoint (DSCP, RFC 2474) that must
be matched to identify packets coming up from the lower
layers. A value of 64 decimal indicates that the DSCP is to
be ignored on packets received from lower layers.";
reference
"9.1.5.6 of IEEE Std 802.1CB-2017";
}
leaf next-protocol {
type enumeration {
enum none {
description
"No protocol is specified";
}
enum udp {
description
"UDP is specified as the next protocol.";
reference
"RFC 768";
}
enum tcp {
description
"TCP is specified as the next protocol.";
reference
"RFC 793";
}
enum sctp {
description
"SCTP is specified as the next protocol.";
reference
"RFC 4960";
}
}
description
"Specifies the IP next protocol parameter that must be
matched to identify packets coming up from lower layers. The
value of this parameter must specify either none, UDP (RFC
768), TCP (RFC 793), or SCTP (RFC 4960). If “none,” then the
tsnCpeIpIdSourcePort and tsnCpeIpIdDestinationPort managed
objects are not used.";
reference
"9.1.5.7 of IEEE Std 802.1CB-2017";
}
leaf source-port {
type inet:port-number;
description
"Specifies the TCP or UDP Source Port parameter that must be
matched to identify packets coming up from lower layers. A
value of 0 indicates that the Source Port number of the
packet is to be ignored on packets received from lower
layers.";
reference
"9.1.5.8 of IEEE Std 802.1CB-2017";
}
leaf destination-port {
type inet:port-number;
description
"Specifies the TCP or UDP Destination Port parameter that
must be matched to identify packets coming up from lower
layers. A value of 0 indicates that the Destination Port
number of the packet is to be ignored on packets received
from lower layers.";
reference
"9.1.5.9 of IEEE Std 802.1CB-2017";
}
}
container organization-specific {
description
"This container allows to select stream identification methods
that are defined by entities outside of IEEE 802.1.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
container identification-type {
description
"The identification type indicating the method used to
identify packets belonging to the Stream. The identification
type contains a type number and an Organizationally Unique
Identifier (OUI) or Company ID (CID) to identify the
organization defining the identification method.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
leaf type-number {
type int32 {
range "256..max";
}
description
"The type number used for an identification method defined
by an entity owning the OUI or CID for this identification
type.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
}
leaf oui-cid {
type string {
pattern "[0-9A-F]{2}(-[0-9A-F]{2}){2}";
}
description
"The Organizationally Unique Identifier (OUI) or Company ID
(CID) to identify the organization defining the
identification method.";
reference
"9.1.1.6 of IEEE Std 802.1CB-2017";
}
}
}
}
}
augment "/if:interfaces/if:interface/if:statistics" {
description
"The following counters are the counters for stream identification.
All counters are unsigned integers. If used on links faster than
650 000 000 bits per second, they shall be 64 bits in length to
ensure against excessively short wrap times.";
reference
"9.2 of IEEE Std 802.1CB-2017
9.3 of IEEE Std 802.1CB-2017";
container stream-id {
description
"This container contains the per-port as well as the
per-port-per-stream counters for stream identification.";
reference
"9.2 of IEEE Std 802.1CB-2017
9.3 of IEEE Std 802.1CB-2017";
container per-port-counters {
config false;
description
"Contains the per-port counters for stream identification. The
following counters are instantiated for each port on which the
Stream identification function is configured. The counters are
indexed by port number.";
reference
"9.3 of IEEE Std 802.1CB-2017";
leaf input-pkts {
type uint64;
config false;
description
"The tsnCpSidInputPackets counter is incremented once for
each packet identified by any Stream identification function
on this port. Its value equals the sum (modulo the size of
the counters) of all of the tsnCpsSidInputPackets counters on
this same port.";
reference
"9.3.1 of IEEE Std 802.1CB-2017";
}
leaf output-pkts {
type uint64;
config false;
description
"The tsnCpSidOutputPackets counter is incremented once for
each packet passed down the stack by any Stream
identification function on this port. Its value equals the
sum (modulo the size of the counters) of all of the
tsnCpsSidOutputPackets counters on this same port.";
reference
"9.3.2 of IEEE Std 802.1CB-2017";
}
}
list per-port-per-stream-counters {
key "direction-out-facing handle";
config false;
description
"Contains the per-port-per-stream counters for stream
identification. The following counters are instantiated for
each port on which the Stream identification function is
configured. The counters are indexed by port number, facing
(in-facing or out-facing), and stream_handle value
(tsnStreamIdHandle).";
reference
"9.2 of IEEE Std 802.1CB-2017";
leaf direction-out-facing {
type dot1cb-sid-types:direction;
description
"An object indicating whether the counters apply to
out-facing (True) or in-facing (False).";
}
leaf handle {
type leafref {
path '/stream-identity/handle';
}
description
"The according tsnStreamIdHandle for these counters.";
}
leaf input-pkts {
type uint64;
description
"The tsnCpsSidInputPackets counter is incremented once for
each packet identified by the Stream identification function.";
reference
"9.2.1 of IEEE Std 802.1CB-2017";
}
leaf output-pkts {
type uint64;
description
"The tsnCpsSidOutputPackets counter is incremented once for
each packet passed down the stack by the Stream
identification function.";
reference
"9.2.2 of IEEE Std 802.1CB-2017";
}
}
}
}
}

View File

@@ -0,0 +1,315 @@
module ieee802-dot1q-ats {
yang-version "1.1";
namespace urn:ieee:std:802.1Q:yang:ieee802-dot1q-ats;
prefix ats;
import ietf-yang-types {
prefix yang;
}
import ietf-interfaces {
prefix if;
}
import ieee802-dot1q-types {
prefix dot1qtypes;
}
import ieee802-dot1q-bridge {
prefix dot1q;
}
import ieee802-dot1q-stream-filters-gates {
prefix sfsg;
}
organization
"IEEE 802.1 Working Group";
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 802.1Q bridge components that support
Asynchronous Traffic Shaping (ATS).";
revision 2020-11-06 {
description
"Published as part of IEEE Std 802.1Qcr-2020.
Initial version.";
reference
"IEEE Std 802.1Qcr-2020, Bridges and Bridged Networks -
Asynchronous Traffic Shaping.";
}
typedef scheduler-ref-type {
type leafref {
path
'/dot1q:bridges'+
'/dot1q:bridge'+
'/dot1q:component'+
'/ats:schedulers'+
'/ats:scheduler-instance-table'+
'/ats:scheduler-instance-id';
}
description
"This type is used to refer to an ATS scheduler instance.";
}
typedef scheduler-group-ref-type {
type leafref {
path
'/dot1q:bridges'+
'/dot1q:bridge'+
'/dot1q:component'+
'/ats:scheduler-groups'+
'/ats:scheduler-group-instance-table'+
'/ats:scheduler-group-instance-id';
}
description
"This type is used to refer to an ATS scheduler group instance.";
}
augment
"/dot1q:bridges"+
"/dot1q:bridge"+
"/dot1q:component"+
"/sfsg:stream-filters"+
"/sfsg:stream-filter-instance-table" {
description
"Augments the Bridge component stream filter for ATS schedulers.";
container scheduler {
description
"Enapsulates ATS scheduler nodes.";
leaf scheduler-ref {
type ats:scheduler-ref-type;
description
"A reference to the ATS scheduler associated with this stream
filter.";
}
leaf scheduler-enable {
type boolean;
default "false";
description
"If TRUE, this stream filter has an associated ATS scheduler
referenced by scheduler-ref. If FALSE, no ATS scheduler is
associated with this stream filter (scheduler-ref is ignored).";
}
}
}
augment "/if:interfaces/if:interface/dot1q:bridge-port" {
description
"Augments Bridge Ports by ATS per-Port parameters.";
container ats-port-parameters {
description
"This container comprises all ATS per-Port parameters.";
leaf discarded-frames-count {
type yang:counter64;
config false;
description
"A counter of frames discarded by ATS scheduler instances
associated with the Bridge Port.";
reference
"12.31.7.3 of IEEE Std 802.1Qcr-2020";
}
}
}
augment "/dot1q:bridges/dot1q:bridge/dot1q:component" {
description
"Augments the Bridge component by
a) ATS schedulers
b) ATS scheduler groups";
container schedulers {
description
"This container comprises all nodes related to an ATS schedulers.";
list scheduler-instance-table {
key "scheduler-instance-id";
description
"Each list entry comprises a set of parameters that defines a
single ATS scheduler instance, as detailed in Table 12-33.";
reference
"12.31.5 of IEEE Std 802.1Qcr-2020";
leaf scheduler-instance-id {
type uint32;
mandatory true;
description
"A unique index identifying this ATS scheduler instance.";
reference
"12.31.5.1 of IEEE Std 802.1Qcr-2020
8.6.5.6 of IEEE Std 802.1Qcr-2020";
}
leaf committed-information-rate {
type uint64;
units "bits/second";
mandatory true;
description
"The committed information rate parameter of this ATS scheduler
instance.";
reference
"12.31.5.3 of IEEE Std 802.1Qcr-2020
8.6.5.6 of IEEE Std 802.1Qcr-2020";
}
leaf committed-burst-size {
type uint32;
units "bits";
mandatory true;
description
"The committed burst size parameter of this ATS scheduler
instance.";
reference
"12.31.5.2 of IEEE Std 802.1Qcr-2020
8.6.5.6 of IEEE Std 802.1Qcr-2020";
}
leaf scheduler-group-ref {
type ats:scheduler-group-ref-type;
mandatory true;
description
"A reference to the scheduler group (12.32.5) associated with
this ATS scheduler instance. Multiple ATS scheduler instances
can be associated to one scheduler group, as detailed in
8.6.5.6.";
reference
"12.31.6 of IEEE Std 802.1Qcr-2020";
}
}
leaf max-scheduler-instances {
type uint32;
config false;
description
"The maximum number of ATS scheduler instances supported by this
Bridge component.";
reference
"12.31.1.5 of IEEE Std 802.1Qcr-2020";
}
}
container scheduler-groups {
description
"This container comprises all ATS scheduler group related nodes.";
list scheduler-group-instance-table {
key "scheduler-group-instance-id";
description
"Each list entry comprises a set of parameters that defines a
single ATS scheduler group instance.";
reference
"12.31.6 of IEEE Std 802.1Qcr-2020
8.6.5.6 of IEEE Std 802.1Qcr-2020";
leaf scheduler-group-instance-id {
type uint32;
description
"A unique index identifying this ATS scheduler group instance.";
reference
"12.31.6.1 of IEEE Std 802.1Qcr-2020
8.6.5.6 of IEEE Std 802.1Qcr-2020";
}
leaf max-residence-time {
type uint32;
units "nanoseconds";
mandatory true;
description
"The maximum residence time parameter of the ATS scheduler
group.";
reference
"8.6.11.2.13 of IEEE Std 802.1Qcr-2020
8.6.5.6 of IEEE Std 802.1Qcr-2020";
}
}
leaf max-scheduler-group-instances {
type uint32;
config false;
description
"The maximum number of ATS scheduler group instances supported by
this Bridge component.";
reference
"12.31.1.6 of IEEE Std 802.1Qcr-2020
8.6.5.6 of IEEE Std 802.1Qcr-2020";
}
container scheduler-timing-characteristics {
description
"This container comprises all ATS scheduler timing
characteristics related nodes.";
list scheduler-timing-characteristics-table {
key "reception-port transmission-port";
config false;
description
"Each list entry comprises the timing characteristics of a
reception Port transmission Port pair, as detailed in Table
12-36.";
reference
"12.31.8 of IEEE Std 802.1Qcr-2020
8.6.11 of IEEE Std 802.1Qcr-2020";
leaf reception-port {
type dot1qtypes:port-number-type;
config false;
mandatory true;
description
"A reference to the associated reception Port.";
reference
"12.31.8.1 of IEEE Std 802.1Qcr-2020";
}
leaf transmission-port {
type dot1qtypes:port-number-type;
config false;
mandatory true;
description
"A reference to the associated transmission Port.";
reference
"12.31.8.2 of IEEE Std 802.1Qcr-2020";
}
leaf clock-offset-variation-max {
type uint32;
units "nanoseconds";
config false;
mandatory true;
description
"The maximum clock offset variation associated with the
reception Port transmission Port pair.";
reference
"12.31.8.3 of IEEE Std 802.1Qcr-2020";
}
leaf clock-rate-deviation-max {
type uint32;
units "ppm";
config false;
mandatory true;
description
"The maximum clock rate deviation associated with the
reception Port transmission Port pair.";
reference
"12.31.8.4 of IEEE Std 802.1Qcr-2020";
}
leaf arrival-recognition-delay-max {
type uint32;
units "nanoseconds";
config false;
mandatory true;
description
"The maximum arrival time recognition delay associated with
the reception Port transmission Port pair.";
reference
"12.31.8.5 of IEEE Std 802.1Qcr-2020";
}
leaf processing-delay-min {
type uint32;
units "nanoseconds";
config false;
mandatory true;
description
"The minimum processing delay associated with the reception
Port transmission Port pair.";
reference
"12.31.8.6 of IEEE Std 802.1Qcr-2020";
}
leaf processing-delay-max {
type uint32;
units "nanoseconds";
config false;
mandatory true;
description
"The maximum processing delay associated with the reception
Port transmission Port pair.";
reference
"12.31.8.7 of IEEE Std 802.1Qcr-2020";
}
}
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,151 @@
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";
}
}
}
}

View File

@@ -0,0 +1,385 @@
module ieee802-dot1q-stream-filters-gates {
yang-version "1.1";
namespace urn:ieee:std:802.1Q:yang:ieee802-dot1q-stream-filters-gates;
prefix sfsg;
import ieee802-dot1q-bridge {
prefix dot1q;
}
organization
"IEEE 802.1 Working Group";
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 802.1Q bridge components that support
Stream Filters and Stream Gates.";
revision 2020-11-06 {
description
"Published as part of IEEE Std 802.1Qcr-2020.
Initial version.";
reference
"IEEE Std 802.1Qcr-2020, Bridges and Bridged Networks -
Asynchronous Traffic Shaping.";
}
feature closed-gate-state {
description
"The bridge component supports gate state closed.";
reference
"IEEE Std 802.1Qcr-2020";
}
/* Types and groupings */
typedef priority-spec-type {
type enumeration {
enum zero {
value 0;
description
"Priority 0";
}
enum one {
value 1;
description
"Priority 1";
}
enum two {
value 2;
description
"Priority 2";
}
enum three {
value 3;
description
"Priority 3";
}
enum four {
value 4;
description
"Priority 4";
}
enum five {
value 5;
description
"Priority 5";
}
enum six {
value 6;
description
"Priority 6";
}
enum seven {
value 7;
description
"Priority 7";
}
enum wildcard {
description
"wildcard value";
}
}
}
typedef ipv-spec-type {
type enumeration {
enum zero {
value 0;
description
"Priority 0";
}
enum one {
value 1;
description
"Priority 1";
}
enum two {
value 2;
description
"Priority 2";
}
enum three {
value 3;
description
"Priority 3";
}
enum four {
value 4;
description
"Priority 4";
}
enum five {
value 5;
description
"Priority 5";
}
enum six {
value 6;
description
"Priority 6";
}
enum seven {
value 7;
description
"Priority 7";
}
enum null {
description
"null value";
}
}
description
"An IPV can be either of the following:
1) The null value. For a frame that passes through the gate, the
priority value associated with the frame is used to determine
the frames traffic class, using the Traffic Class Table as
specified in 8.6.6.
2) An internal priority value. For a frame that passes through the
gate, the IPV is used, in place of the priority value
associated with the frame, to determine the frames traffic
class, using the Traffic Class Table as specified in 8.6.6.";
reference
"8.6.5.2 of IEEE Std 802.1Qcr-2020";
}
typedef gate-state-value-type {
type enumeration {
enum closed {
description
"Gate closed";
}
enum open {
description
"Gate open";
}
}
description
"The gate-state-value-type indicates a gate state, open or closed,
for the stream gate.";
reference
"12.31.3.2.1 of IEEE Std 802.1Qcr-2020";
}
typedef stream-gate-ref {
type leafref {
path
'/dot1q:bridges'+
'/dot1q:bridge'+
'/dot1q:component'+
'/sfsg:stream-gates'+
'/sfsg:stream-gate-instance-table'+
'/sfsg:stream-gate-instance-id';
}
description
"This type is used to refer to a stream gate instance.";
}
augment "/dot1q:bridges/dot1q:bridge/dot1q:component" {
description
"Augments the Bridge component with stream filters and stream gates.";
container stream-filters {
description
"This container encapsulates all nodes related to stream bilters.";
reference
"12.31.1 of IEEE Std 802.1Qcr-2020
12.31.2 of IEEE Std 802.1Qcr-2020
12.31.3 of IEEE Std 802.1Qcr-2020";
list stream-filter-instance-table {
key "stream-filter-instance-id";
description
"Each list entry contains a set of parameters that defines a
single stream filter (8.6.5.1) with associated maximum SDU size
filtering (8.6.5.3.1), as detailed in Table 12-32. Entries can be
created or removed dynamically in implementations that support
dynamic configuration of stream filters. The value of the
stream-handle-spec and priority-spec parameters associated with a
received frame determine which stream filter is selected by the
frame, and therefore what combination of filtering and policing
actions is applied to the frame. If the stream-handle-spec and
priority-spec parameters associated with a received frame match
more than one stream filter, the stream filter that is selected
is the one that appears earliest in the ordered list. If a
received frames stream-handle-spec and priority-spec does not
match any of the stream filters in the list, the frame is
processed as if stream filters and stream gates would not be
supported.";
reference
"12.31.2 of IEEE Std 802.1Qcr-2020";
leaf stream-filter-instance-id {
type uint32;
mandatory true;
description
"An integer index value that determines the place of the stream
filter in the ordered list of stream filter instances. The
values are ordered according to their integer value; smaller
values appear earlier in the ordered list.";
reference
"12.31.2.1 of IEEE Std 802.1Qcr-2020";
}
choice stream-handle-spec {
description
"The stream_handle specification data type allows either of the
following to be represented:
a) A stream_handle value, represented as an integer.
b) The wildcard value, which matches any frame";
reference
"12.31.2.2 of IEEE Std 802.1Qcr-2020";
/* NOTE: The mapping of the wildcard literal is
* other than in the MIB definition, where
* the wildcard value is mapped to -1.
*/
case wildcard {
leaf wildcard {
type empty;
description
"The stream handle specification represents a wildcard value.";
}
}
case stream-handle {
leaf stream-handle {
type uint32;
mandatory true;
description
"The stream handle specification refers to a stream_handle
value.";
}
}
}
leaf priority-spec {
type priority-spec-type;
mandatory true;
description
"The priority specification data type allows either of the
following to be represented:
a) A priority value, represented as an integer.
b) The wildcard value, which matches any priority.";
reference
"12.31.2.3 of IEEE Std 802.1Qcr-2020";
}
leaf max-sdu-size {
type uint32;
units "octets";
mandatory true;
description
"The allowed maximum SDU size, in octets. If set to 0, any SDU
size is accepted.";
reference
"8.6.5.3.1 of IEEE Std 802.1Qcr-2020";
}
leaf stream-blocked-due-to-oversize-frame-enabled {
type boolean;
default "false";
description
"A value of true indicates that
stream-blocked-due-to-oversize-frame is set to true as soon as
a frame exceeds max-sdu-size.";
reference
"8.6.5.3.1 of IEEE Std 802.1Qcr-2020";
}
leaf stream-blocked-due-to-oversize-frame {
type boolean;
default "false";
description
"Indicates by value true that frames are permanently discarded
as a result of an initial frame exceeding max-sdu-size. The
value of stream-blocked-due-to-oversize-frame can be
administratively reset to false.";
reference
"8.6.5.3.1 of IEEE Std 802.1Qcr-2020";
}
leaf stream-gate-ref {
type stream-gate-ref;
mandatory true;
description
"This node refers to the stream gate (12.31.3) that is
associated with the stream filter. The relationship between
stream filters and stream gates is many to one; a given stream
filter can be associated with only one stream gate, but there
can be multiple stream filters associated with a given stream
gate.";
reference
"12.31.2.4 of IEEE Std 802.1Qcr-2020";
}
}
leaf max-stream-filter-instances {
type uint32;
config false;
description
"The maximum number of stream filter instances supported by this
Bridge component.";
reference
"12.31.1.1 of IEEE Std 802.1Qcr-2020
8.6.5.1 of IEEE Std 802.1Qcr-2020";
}
}
container stream-gates {
description
"This container encapsulates all nodes related to Stream Gates.";
list stream-gate-instance-table {
key "stream-gate-instance-id";
description
"Each list entry contains a set of parameters that defines a
single stream gate (8.6.5.2), as detailed in Table 12-33. Entries
in the table can be created or removed dynamically in
implementations that support dynamic configuration of stream
gates.";
reference
"12.31.3 of IEEE Std 802.1Qcr-2020";
leaf stream-gate-instance-id {
type uint32;
description
"An integer table index that allows the stream gate to be
referenced from Stream Filter Instance Table entries.";
reference
"12.31.2.4 of IEEE Std 802.1Qcr-2020
8.6.5.3 of IEEE Std 802.1Qcr-2020
8.6.5.4 of IEEE Std 802.1Qcr-2020";
}
leaf gate-enable {
type boolean;
default "false";
description
"A Boolean variable that indicates whether the operation of the
state machines is enabled (TRUE) or disabled (FALSE). This
variable is set by management. The default value of this
variable is FALSE.";
reference
"8.6.9.4.14 of IEEE Std 802.1Q-2018";
}
leaf admin-gate-states {
type gate-state-value-type;
default "open";
description
"The administratively set gate state of this gate.";
reference
"12.31.3.2.1 of IEEE Std 802.1Qcr-2020
8.6.10.4 of IEEE Std 802.1Qcr-2020";
}
leaf admin-ipv {
type ipv-spec-type;
default "null";
description
"The administratively set internal priority value
specification.";
reference
"12.31.3.3 of IEEE Std 802.1Qcr-2020
8.6.10.6 of IEEE Std 802.1Qcr-2020
8.6.5.4 of IEEE Std 802.1Qcr-2020";
}
}
leaf max-stream-gate-instances {
type uint32;
config false;
description
"The maximum number of Stream Gate instances supported by this
Bridge component.";
reference
"12.31.1.2 of IEEE Std 802.1Qcr-2020";
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,89 @@
module ieee802-types {
namespace urn:ieee:std:802.1Q:yang:ieee802-types;
prefix ieee;
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 08854
USA
E-mail: STDS-802-1-L@IEEE.ORG";
description
"This module contains a collection of generally useful derived
data types for IEEE YANG models.";
revision 2020-10-23 {
description
"New revision date because Qcx project finished.";
reference
"6.3.3.4 of IEEE Std 802.1AS-2020";
}
revision 2019-03-07 {
description
"Adding types to define rational numbers and PTP time.";
reference
"6.3.3.4 of IEEE Std 802.1AS-2020";
}
revision 2018-03-07 {
description
"Published as part of IEEE Std 802.1Q-2018. Initial version.";
reference
"IEEE Std 802.1Q-2018, Bridges and Bridged Networks.";
}
typedef mac-address {
type string {
pattern "[0-9a-fA-F]{2}(-[0-9a-fA-F]{2}){5}";
}
description
"The mac-address type represents a MAC address in the canonical
format and hexadecimal format specified by IEEE Std 802. The
hexidecimal representation uses uppercase characters.";
reference
"3.1 of IEEE Std 802-2014
8.1 of IEEE Std 802-2014";
}
grouping rational-grouping {
description
"Definition of a non-negative rational number.";
leaf numerator {
type uint32;
description
"Numerator of the rational number.";
}
leaf denominator {
type uint32 {
range "1..4294967295";
}
description
"Denominator of the rational number.";
}
}
grouping ptp-time-grouping {
description
"This grouping specifies a PTP timestamp, represented as a
48-bit unsigned integer number of seconds and a 32-bit unsigned
integer number of nanoseconds.";
reference
"6.3.3.4 of IEEE Std 802.1AS";
leaf seconds {
type uint64;
description
"This is the integer portion of the timestamp in units of
seconds. The upper 16 bits are always zero.";
}
leaf nanoseconds {
type uint32;
description
"This is the fractional portion of the timestamp in units of
nanoseconds. This value is always less than 10^9.";
}
}
}