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.
1778 lines
63 KiB
1778 lines
63 KiB
1 year ago
|
module ieee802-dot1q-bridge {
|
||
|
namespace urn:ieee:std:802.1Q:yang:ieee802-dot1q-bridge;
|
||
|
prefix dot1q;
|
||
|
import ieee802-types {
|
||
|
prefix ieee;
|
||
|
}
|
||
|
import ietf-yang-types {
|
||
|
prefix yang;
|
||
|
}
|
||
|
import ietf-interfaces {
|
||
|
prefix if;
|
||
|
}
|
||
|
import iana-if-type {
|
||
|
prefix ianaif;
|
||
|
}
|
||
|
import ieee802-dot1q-types {
|
||
|
prefix dot1qtypes;
|
||
|
}
|
||
|
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 YANG module describes the bridge configuration model for the
|
||
|
following IEEE 802.1Q Bridges:
|
||
|
1) Two Port MAC Relays
|
||
|
2) Customer VLAN Bridges
|
||
|
3) Provider Bridges.";
|
||
|
revision 2020-11-06 {
|
||
|
description
|
||
|
"Published as part of IEEE Std 802.1Qcr-2020.
|
||
|
Third version.";
|
||
|
reference
|
||
|
"IEEE Std 802.1Qcr-2020, Bridges and Bridged Networks -
|
||
|
Asynchronous Traffic Shaping.";
|
||
|
}
|
||
|
revision 2020-06-04 {
|
||
|
description
|
||
|
"Published as part of IEEE Std 802.1Qcx-2020.
|
||
|
Second version.";
|
||
|
reference
|
||
|
"IEEE Std 802.1Qcx-2020, Bridges and Bridged Networks -
|
||
|
YANG Data Model for Connectivity Fault Management.";
|
||
|
}
|
||
|
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.";
|
||
|
}
|
||
|
|
||
|
feature ingress-filtering {
|
||
|
description
|
||
|
"Each Port may support an Enable Ingress Filtering parameter. A
|
||
|
frame received on a Port that is not in the member set (8.8.10)
|
||
|
associated with the frames VID shall be discarded if this
|
||
|
parameter is set. The default value for this parameter is reset,
|
||
|
i.e., Disable Ingress Filtering, for all Ports. Any Port that
|
||
|
supports setting this parameter shall also support resetting it.
|
||
|
The parameter may be configured by the management operations
|
||
|
defined in Clause 12.";
|
||
|
reference
|
||
|
"8.6.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
feature extended-filtering-services {
|
||
|
description
|
||
|
"Extended Filtering Services support the filtering behavior
|
||
|
required for regions of a network in which potential recipients
|
||
|
of multicast frames exist, and where both the potential
|
||
|
recipients of frames and the Bridges are able to support dynamic
|
||
|
configuration of filtering information for group MAC addresses.
|
||
|
In order to integrate this extended filtering behavior with the
|
||
|
needs of regions of the network that support only Basic
|
||
|
Filtering Services, Bridges that support Extended Filtering
|
||
|
Services can be statically and dynamically configured to modify
|
||
|
their filtering behavior on a per-group MAC address basis, and
|
||
|
also on the basis of the overall filtering service provided by
|
||
|
each outbound Port with regard to multicast frames. The latter
|
||
|
capability permits configuration of the Ports default forwarding
|
||
|
or filtering behavior with regard to group MAC addresses for
|
||
|
which no specific static or dynamic filtering information has
|
||
|
been configured.";
|
||
|
reference
|
||
|
"8.8.4 of IEEE Std 802.1Q-2018
|
||
|
Clause 10 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
feature port-and-protocol-based-vlan {
|
||
|
description
|
||
|
"A VLAN-aware bridge component implementation in conformance to
|
||
|
the provisions of this standard for Port-and-Protocol-based VLAN
|
||
|
classification (5.4.1) shall 1) Support one or more of the
|
||
|
following Protocol Classifications and Protocol Template
|
||
|
formats: Ethernet, RFC_1042, SNAP_8021H, SNAP_Other, or
|
||
|
LLC_Other (6.12); and may 2) Support configuration of the
|
||
|
contents of the Protocol Group Database.";
|
||
|
reference
|
||
|
"5.4.1.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
feature flow-filtering {
|
||
|
description
|
||
|
"Flow filtering support enables Bridges to distinguish frames
|
||
|
belonging to different client flows and to use this information
|
||
|
in the forwarding process. Information related to client flows
|
||
|
may be used at the boundary of an SPT Domain to generate a flow
|
||
|
hash value. The flow hash, carried in an F-TAG, serves to
|
||
|
distinguish frames belonging to different flows and can be used
|
||
|
in the forwarding process to distribute frames over equal cost
|
||
|
paths. This provides for finer granularity load spreading while
|
||
|
maintaining frame order for each client flow.";
|
||
|
reference
|
||
|
"44.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
feature simple-bridge-port {
|
||
|
description
|
||
|
"A simple bridge port allows underlying (MAC) layers to share
|
||
|
the same Interface as the Bridge Port.";
|
||
|
}
|
||
|
feature flexible-bridge-port {
|
||
|
description
|
||
|
"A flexible bridge port supports an Interface that is a Bridge
|
||
|
Port to be a separate Interface from the underlying (MAC) layer.";
|
||
|
}
|
||
|
|
||
|
identity type-of-bridge {
|
||
|
description
|
||
|
"Represents the configured Bridge type.";
|
||
|
}
|
||
|
identity customer-vlan-bridge {
|
||
|
base type-of-bridge;
|
||
|
description
|
||
|
"Base identity for a Customer VLAN Bridge.";
|
||
|
}
|
||
|
identity provider-bridge {
|
||
|
base type-of-bridge;
|
||
|
description
|
||
|
"Base identity for a Provider Bridge (PB).";
|
||
|
}
|
||
|
identity provider-edge-bridge {
|
||
|
base type-of-bridge;
|
||
|
description
|
||
|
"Base identity for a Provider Edge Bridge (PEB).";
|
||
|
}
|
||
|
identity two-port-mac-relay-bridge {
|
||
|
base type-of-bridge;
|
||
|
description
|
||
|
"Base identity for a Two Port MAC Relay (TPMR).";
|
||
|
}
|
||
|
identity type-of-component {
|
||
|
description
|
||
|
"Represents the type of Component.";
|
||
|
}
|
||
|
identity c-vlan-component {
|
||
|
base type-of-component;
|
||
|
description
|
||
|
"Base identity for a C-VLAN component.";
|
||
|
}
|
||
|
identity s-vlan-component {
|
||
|
base type-of-component;
|
||
|
description
|
||
|
"Base identity for a S-VLAN component.";
|
||
|
}
|
||
|
identity d-bridge-component {
|
||
|
base type-of-component;
|
||
|
description
|
||
|
"Base identity for a VLAN unaware component.";
|
||
|
}
|
||
|
identity edge-relay-component {
|
||
|
base type-of-component;
|
||
|
description
|
||
|
"Base identity for an EVB station ER component.";
|
||
|
}
|
||
|
identity type-of-port {
|
||
|
description
|
||
|
"Represents the type of Bridge port.";
|
||
|
}
|
||
|
identity c-vlan-bridge-port {
|
||
|
base type-of-port;
|
||
|
description
|
||
|
"Indicates the port can be a C-TAG aware port of an enterprise
|
||
|
VLAN aware Bridge.";
|
||
|
}
|
||
|
identity provider-network-port {
|
||
|
base type-of-port;
|
||
|
description
|
||
|
"Indicates the port can be an S-TAG aware port of a Provider
|
||
|
Bridge or Backbone Edge Bridge used for connections within a PBN
|
||
|
(Provider Bridged Network) or PBBN (Provider Backbone Bridged
|
||
|
Network).";
|
||
|
}
|
||
|
identity customer-network-port {
|
||
|
base type-of-port;
|
||
|
description
|
||
|
"Indicates the port can be an S-TAG aware port of a Provider
|
||
|
Bridge or Backbone Edge Bridge used for connections to the
|
||
|
exterior of a PBN (Provider Bridged Network) or PBBN (Provider
|
||
|
Backbone Bridged Network).";
|
||
|
}
|
||
|
identity customer-edge-port {
|
||
|
base type-of-port;
|
||
|
description
|
||
|
"Indicates the port can be a C-TAG aware port of a Provider
|
||
|
Bridge used for connections to the exterior of a PBN (Provider
|
||
|
Bridged Network) or PBBN (Provider Backbone Bridged Network).";
|
||
|
}
|
||
|
identity d-bridge-port {
|
||
|
base type-of-port;
|
||
|
description
|
||
|
"Indicates the port can be a VLAN-unaware member of an 802.1Q
|
||
|
Bridge.";
|
||
|
}
|
||
|
identity remote-customer-access-port {
|
||
|
base type-of-port;
|
||
|
description
|
||
|
"Indicates the port can be an S-TAG aware port of a Provider
|
||
|
Bridge capable of providing Remote Customer Service Interfaces.";
|
||
|
}
|
||
|
identity bridge-interface {
|
||
|
description
|
||
|
"Generic interface property that represents any interface that
|
||
|
can be associated with an IEEE 802.1Q compliant Bridge
|
||
|
component. Any new Interface types would derive from this
|
||
|
identity to automatically pick up Bridge related configuration
|
||
|
or operational data.";
|
||
|
}
|
||
|
|
||
|
container bridges {
|
||
|
description
|
||
|
"Contains the Bridge(s) configuration information.";
|
||
|
list bridge {
|
||
|
key "name";
|
||
|
unique "address";
|
||
|
description
|
||
|
"Provides configuration data in support of the Bridge
|
||
|
Configuration resources. There is a single bridge data node
|
||
|
per Bridge.";
|
||
|
leaf name {
|
||
|
type dot1qtypes:name-type;
|
||
|
description
|
||
|
"A text string associated with the Bridge, of locally
|
||
|
determined significance.";
|
||
|
reference
|
||
|
"12.4 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf address {
|
||
|
type ieee:mac-address;
|
||
|
mandatory true;
|
||
|
description
|
||
|
"The MAC address for the Bridge from which the Bridge
|
||
|
Identifiers used by the STP, RSTP, and MSTP are derived.";
|
||
|
reference
|
||
|
"12.4 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf bridge-type {
|
||
|
type identityref {
|
||
|
base type-of-bridge;
|
||
|
}
|
||
|
mandatory true;
|
||
|
description
|
||
|
"The type of Bridge.";
|
||
|
}
|
||
|
leaf ports {
|
||
|
type uint16 {
|
||
|
range "1..4095";
|
||
|
}
|
||
|
config false;
|
||
|
description
|
||
|
"The number of Bridge Ports (MAC Entities)";
|
||
|
reference
|
||
|
"12.4 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf up-time {
|
||
|
type yang:zero-based-counter32;
|
||
|
units "seconds";
|
||
|
config false;
|
||
|
description
|
||
|
"The count in seconds of the time elapsed since the Bridge
|
||
|
was last reset or initialized.";
|
||
|
reference
|
||
|
"12.4 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf components {
|
||
|
type uint32;
|
||
|
config false;
|
||
|
description
|
||
|
"The number of components associated with the Bridge.";
|
||
|
}
|
||
|
list component {
|
||
|
key "name";
|
||
|
description
|
||
|
"The set of components associated with a given Bridge. For
|
||
|
example, - A TPMR is associated with a single VLAN
|
||
|
unaware component. - A Customer VLAN Bridge is associated
|
||
|
with a single VLAN aware component. - A Provider Bridge is
|
||
|
associated with a single S-VLAN component and zero or more
|
||
|
C-VLAN components.";
|
||
|
reference
|
||
|
"12.3 of IEEE Std 802.1Q-2018";
|
||
|
leaf name {
|
||
|
type string;
|
||
|
description
|
||
|
"The name of the Component.";
|
||
|
}
|
||
|
leaf id {
|
||
|
type uint32;
|
||
|
description
|
||
|
"Unique identifier for a particular Bridge component
|
||
|
within the system.";
|
||
|
reference
|
||
|
"12.3, item l) of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf type {
|
||
|
type identityref {
|
||
|
base type-of-component;
|
||
|
}
|
||
|
mandatory true;
|
||
|
description
|
||
|
"The type of component used to classify a particular
|
||
|
Bridge component within a Bridge system comprising
|
||
|
multiple components.";
|
||
|
reference
|
||
|
"12.3, item m) of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf address {
|
||
|
type ieee:mac-address;
|
||
|
description
|
||
|
"Unique EUI-48 Universally Administered MAC address
|
||
|
assigned to a Bridge component.";
|
||
|
reference
|
||
|
"13.24 of IEEE Std 802.1Q-2018
|
||
|
8.13.8 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf traffic-class-enabled {
|
||
|
type boolean;
|
||
|
default "true";
|
||
|
description
|
||
|
"Indication of Traffic Classes enablement associated with
|
||
|
the Bridge Component. A value of True indicates that
|
||
|
Traffic Classes are enabled on this Bridge Component. A
|
||
|
value of False indicates that the Bridge Component
|
||
|
operates with a single priority level for all traffic.";
|
||
|
reference
|
||
|
"12.4.1.5.1 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf ports {
|
||
|
type uint16 {
|
||
|
range "1..4095";
|
||
|
}
|
||
|
config false;
|
||
|
description
|
||
|
"The number of Bridge Ports associated with the Bridge
|
||
|
Component.";
|
||
|
reference
|
||
|
"12.4.1.1.3, item c) of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf-list bridge-port {
|
||
|
type if:interface-ref;
|
||
|
config false;
|
||
|
description
|
||
|
"List of bridge-port references.";
|
||
|
}
|
||
|
container capabilities {
|
||
|
config false;
|
||
|
description
|
||
|
"Array of Boolean values of the feature capabilities
|
||
|
associated with a given Bridge Component.";
|
||
|
reference
|
||
|
"12.10.1.1.3, item b) of IEEE Std 802.1Q-2018
|
||
|
12.4.1.5.2 of IEEE Std 802.1Q-2018";
|
||
|
leaf extended-filtering {
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"Can perform filtering on individual multicast addresses
|
||
|
controlled by MMRP.";
|
||
|
reference
|
||
|
"12.4.1.5.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf traffic-classes {
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"Can map priority to multiple traffic classes.";
|
||
|
reference
|
||
|
"12.4.1.5.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf static-entry-individual-port {
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"Static entries per port.";
|
||
|
reference
|
||
|
"12.4.1.5.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf ivl-capable {
|
||
|
type boolean;
|
||
|
default "true";
|
||
|
description
|
||
|
"Independent VLAN Learning (IVL).";
|
||
|
reference
|
||
|
"12.4.1.5.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf svl-capable {
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"Shared VLAN Learning (SVL).";
|
||
|
reference
|
||
|
"12.4.1.5.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf hybrid-capable {
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"Both IVL and SVL simultaneously.";
|
||
|
reference
|
||
|
"12.4.1.5.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf configurable-pvid-tagging {
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"Whether the implementation supports the ability to
|
||
|
override the default PVID setting and its egress status
|
||
|
(VLAN-tagged or Untagged) on each port.";
|
||
|
reference
|
||
|
"12.4.1.5.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf local-vlan-capable {
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"Can support multiple local Bridges, outside the scope
|
||
|
of 802.1Q defined VLANs.";
|
||
|
reference
|
||
|
"12.4.1.5.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
container filtering-database {
|
||
|
when "../../bridge-type != 'dot1q:two-port-mac-relay-bridge'" {
|
||
|
description
|
||
|
"Applies to non TPMRs.";
|
||
|
}
|
||
|
description
|
||
|
"Contains filtering information used by the Forwarding
|
||
|
Process in deciding through which Ports of the Bridge
|
||
|
frames should be forwarded.";
|
||
|
reference
|
||
|
"12.7 of IEEE Std 802.1Q-2018";
|
||
|
leaf aging-time {
|
||
|
type uint32 {
|
||
|
range "10..10000000";
|
||
|
}
|
||
|
units "seconds";
|
||
|
default "300";
|
||
|
description
|
||
|
"The timeout period in seconds for aging out
|
||
|
dynamically-learned forwarding information.";
|
||
|
reference
|
||
|
"12.7 of IEEE Std 802.1Q-2018
|
||
|
8.8.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf size {
|
||
|
type yang:gauge32;
|
||
|
config false;
|
||
|
description
|
||
|
"The maximum number of entries that can be held in the
|
||
|
FDB.";
|
||
|
reference
|
||
|
"12.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf static-entries {
|
||
|
type yang:gauge32;
|
||
|
config false;
|
||
|
description
|
||
|
"The number of Static Filtering entries currently in the
|
||
|
FDB.";
|
||
|
reference
|
||
|
"12.7 of IEEE Std 802.1Q-2018
|
||
|
8.8.1 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf dynamic-entries {
|
||
|
type yang:gauge32;
|
||
|
config false;
|
||
|
description
|
||
|
"The number of Dynamic Filtering entries currently in
|
||
|
the FDB.";
|
||
|
reference
|
||
|
"12.7 of IEEE Std 802.1Q-2018
|
||
|
8.8.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf static-vlan-registration-entries {
|
||
|
type yang:gauge32;
|
||
|
config false;
|
||
|
description
|
||
|
"The number of Static VLAN Registration entries
|
||
|
currently in the FDB.";
|
||
|
reference
|
||
|
"12.7 of IEEE Std 802.1Q-2018
|
||
|
8.8.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf dynamic-vlan-registration-entries {
|
||
|
type yang:gauge32;
|
||
|
config false;
|
||
|
description
|
||
|
"The number of Dynamic VLAN Registration entries
|
||
|
currently in the FDB.";
|
||
|
reference
|
||
|
"12.7 of IEEE Std 802.1Q-2018
|
||
|
8.8.5 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf mac-address-registration-entries {
|
||
|
if-feature "extended-filtering-services";
|
||
|
type yang:gauge32;
|
||
|
config false;
|
||
|
description
|
||
|
"The number of MAC Address Registration entries
|
||
|
currently in the FDB.";
|
||
|
reference
|
||
|
"12.7 of IEEE Std 802.1Q-2018
|
||
|
8.8.4 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
list filtering-entry {
|
||
|
key "database-id vids address";
|
||
|
description
|
||
|
"Information for the entries associated with the
|
||
|
Permanent Database.";
|
||
|
leaf database-id {
|
||
|
type uint32;
|
||
|
description
|
||
|
"The identity of this Filtering Database.";
|
||
|
reference
|
||
|
"12.7.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf address {
|
||
|
type ieee:mac-address;
|
||
|
description
|
||
|
"A MAC address (unicast, multicast, broadcast) for
|
||
|
which the device has forwarding and/or filtering
|
||
|
information.";
|
||
|
reference
|
||
|
"12.7.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf vids {
|
||
|
type dot1qtypes:vid-range-type;
|
||
|
description
|
||
|
"The set of VLAN identifiers to which this entry
|
||
|
applies.";
|
||
|
reference
|
||
|
"12.7.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf entry-type {
|
||
|
type enumeration {
|
||
|
enum static {
|
||
|
description
|
||
|
"Static entry type";
|
||
|
}
|
||
|
enum dynamic {
|
||
|
description
|
||
|
"Dynamic/learnt entry type";
|
||
|
}
|
||
|
}
|
||
|
description
|
||
|
"The type of filtering entry. Whether static or
|
||
|
dynamic. Static entries can be created, deleted, and
|
||
|
retrieved. However, dynamic entries can only be
|
||
|
deleted or retrieved by the management entity.
|
||
|
Consequently, a Bridge is not required to accept a
|
||
|
command that can alter the dynamic entries except
|
||
|
delete a dynamic entry.";
|
||
|
reference
|
||
|
"12.7.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
uses dot1qtypes:port-map-grouping;
|
||
|
leaf status {
|
||
|
type enumeration {
|
||
|
enum other {
|
||
|
description
|
||
|
"None of the following. This may include the case
|
||
|
where some other object is being used to determine
|
||
|
if and how frames addressed to the value of the
|
||
|
corresponding instance of 'address' are being
|
||
|
forwarded.";
|
||
|
}
|
||
|
enum invalid {
|
||
|
description
|
||
|
"This entry is no longer valid (e.g., it was
|
||
|
learned but has since aged out), but has not yet
|
||
|
been flushed from the table.";
|
||
|
}
|
||
|
enum learned {
|
||
|
description
|
||
|
"The value of the corresponding instance of the
|
||
|
port node was learned and is being used.";
|
||
|
}
|
||
|
enum self {
|
||
|
description
|
||
|
"The value of the corresponding instance of the
|
||
|
address node representing one of the devices
|
||
|
address.";
|
||
|
}
|
||
|
enum mgmt {
|
||
|
description
|
||
|
"The value of the corresponding instance of
|
||
|
address node that is also the value of an existing
|
||
|
instance.";
|
||
|
}
|
||
|
}
|
||
|
config false;
|
||
|
description
|
||
|
"The status of this entry.";
|
||
|
}
|
||
|
}
|
||
|
list vlan-registration-entry {
|
||
|
key "database-id vids";
|
||
|
description
|
||
|
"The VLAN Registration Entries models the operations
|
||
|
that can be performed on a single VLAN Registration
|
||
|
Entry in the FDB. The set of VLAN Registration Entries
|
||
|
within the FDB changes under management control and also
|
||
|
as a result of MVRP exchanges";
|
||
|
reference
|
||
|
"12.7.5 of IEEE Std 802.1Q-2018";
|
||
|
leaf database-id {
|
||
|
type uint32;
|
||
|
description
|
||
|
"The identity of this Filtering Database.";
|
||
|
reference
|
||
|
"12.7.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf vids {
|
||
|
type dot1qtypes:vid-range-type;
|
||
|
description
|
||
|
"The set of VLAN identifiers to which this entry
|
||
|
applies.";
|
||
|
reference
|
||
|
"12.7.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf entry-type {
|
||
|
type enumeration {
|
||
|
enum static {
|
||
|
description
|
||
|
"Static entry type";
|
||
|
}
|
||
|
enum dynamic {
|
||
|
description
|
||
|
"Dynamic/learnt entry type";
|
||
|
}
|
||
|
}
|
||
|
description
|
||
|
"The type of filtering entry. Whether static or
|
||
|
dynamic. Static entries can be created, deleted, and
|
||
|
retrieved. However, dynamic entries can only be
|
||
|
deleted or retrieved by the management entity.
|
||
|
Consequently, a Bridge is not required to accept a
|
||
|
command that can alter the dynamic entries except
|
||
|
delete a dynamic entry.";
|
||
|
reference
|
||
|
"12.7.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
uses dot1qtypes:port-map-grouping;
|
||
|
}
|
||
|
}
|
||
|
container permanent-database {
|
||
|
description
|
||
|
"The Permanent Database container models the operations
|
||
|
that can be performed on, or affect, the Permanent
|
||
|
Database. There is a single Permanent Database per FDB.";
|
||
|
leaf size {
|
||
|
type yang:gauge32;
|
||
|
config false;
|
||
|
description
|
||
|
"The maximum number of entries that can be held in the
|
||
|
FDB.";
|
||
|
reference
|
||
|
"12.7.6 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf static-entries {
|
||
|
type yang:gauge32;
|
||
|
config false;
|
||
|
description
|
||
|
"The number of Static Filtering entries currently in the
|
||
|
FDB.";
|
||
|
reference
|
||
|
"12.7.6 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf static-vlan-registration-entries {
|
||
|
type yang:gauge32;
|
||
|
config false;
|
||
|
description
|
||
|
"The number of Static VLAN Registration entries
|
||
|
currently in the FDB.";
|
||
|
reference
|
||
|
"12.7.6 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
list filtering-entry {
|
||
|
key "database-id vids address";
|
||
|
description
|
||
|
"Information for the entries associated with the
|
||
|
Permanent Database.";
|
||
|
leaf database-id {
|
||
|
type uint32;
|
||
|
description
|
||
|
"The identity of this Filtering Database.";
|
||
|
reference
|
||
|
"12.7.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf address {
|
||
|
type ieee:mac-address;
|
||
|
description
|
||
|
"A MAC address (unicast, multicast, broadcast) for
|
||
|
which the device has forwarding and/or filtering
|
||
|
information.";
|
||
|
reference
|
||
|
"12.7.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf vids {
|
||
|
type dot1qtypes:vid-range-type;
|
||
|
description
|
||
|
"The set of VLAN identifiers to which this entry
|
||
|
applies.";
|
||
|
reference
|
||
|
"12.7.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf status {
|
||
|
type enumeration {
|
||
|
enum other {
|
||
|
description
|
||
|
"None of the following. This may include the case
|
||
|
where some other object is being used to determine
|
||
|
if and how frames addressed to the value of the
|
||
|
corresponding instance of 'address' are being
|
||
|
forwarded.";
|
||
|
}
|
||
|
enum invalid {
|
||
|
description
|
||
|
"This entry is no longer valid (e.g., it was
|
||
|
learned but has since aged out), but has not yet
|
||
|
been flushed from the table.";
|
||
|
}
|
||
|
enum learned {
|
||
|
description
|
||
|
"The value of the corresponding instance of the
|
||
|
port node was learned and is being used.";
|
||
|
}
|
||
|
enum self {
|
||
|
description
|
||
|
"The value of the corresponding instance of the
|
||
|
address node representing one of the devices
|
||
|
address.";
|
||
|
}
|
||
|
enum mgmt {
|
||
|
description
|
||
|
"The value of the corresponding instance of
|
||
|
address node that is also the value of an existing
|
||
|
instance.";
|
||
|
}
|
||
|
}
|
||
|
config false;
|
||
|
description
|
||
|
"The status of this entry.";
|
||
|
}
|
||
|
uses dot1qtypes:port-map-grouping;
|
||
|
}
|
||
|
}
|
||
|
container bridge-vlan {
|
||
|
when "../../bridge-type != 'dot1q:two-port-mac-relay-bridge'" {
|
||
|
description
|
||
|
"Applies to non TPMRs.";
|
||
|
}
|
||
|
description
|
||
|
"The Bridge VLAN container models configuration
|
||
|
information that modify, or inquire about, the overall
|
||
|
configuration of the Bridges VLAN resources. There is a
|
||
|
single Bridge VLAN Configuration managed object per
|
||
|
Bridge.";
|
||
|
reference
|
||
|
"12.10 of IEEE Std 802.1Q-2018";
|
||
|
leaf version {
|
||
|
type uint16;
|
||
|
config false;
|
||
|
description
|
||
|
"The version number supported.";
|
||
|
reference
|
||
|
"12.10.1.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf max-vids {
|
||
|
type uint16;
|
||
|
config false;
|
||
|
description
|
||
|
"The maximum number of VIDs supported.";
|
||
|
reference
|
||
|
"12.10.1.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf override-default-pvid {
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
config false;
|
||
|
description
|
||
|
"Indicates if the default PVID can be overridden, and
|
||
|
its egress status (VLAN-tagged or untagged) on each
|
||
|
port.";
|
||
|
reference
|
||
|
"12.10.1.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf protocol-template {
|
||
|
if-feature "port-and-protocol-based-vlan";
|
||
|
type dot1qtypes:protocol-frame-format-type;
|
||
|
config false;
|
||
|
description
|
||
|
"The data-link encapsulation format or the
|
||
|
detagged_frame_type in a Protocol Template";
|
||
|
reference
|
||
|
"12.10.1.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf max-msti {
|
||
|
type uint16;
|
||
|
config false;
|
||
|
description
|
||
|
"The maximum number of MSTIs supported within an MST
|
||
|
region (i.e., the number of spanning tree instances that
|
||
|
can be supported in addition to the CIST), for MST
|
||
|
Bridges. For SST Bridges, this parameter may be either
|
||
|
omitted or reported as 0.";
|
||
|
reference
|
||
|
"12.10.1.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
list vlan {
|
||
|
key "vid";
|
||
|
description
|
||
|
"List of VLAN related configuration nodes associated
|
||
|
with the Bridge.";
|
||
|
reference
|
||
|
"12.10.2 of IEEE Std 802.1Q-2018";
|
||
|
leaf vid {
|
||
|
type dot1qtypes:vlan-index-type;
|
||
|
description
|
||
|
"The VLAN identifier to which this entry applies.";
|
||
|
reference
|
||
|
"12.10.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf name {
|
||
|
type dot1qtypes:name-type;
|
||
|
description
|
||
|
"A text string of up to 32 characters of locally
|
||
|
determined significance.";
|
||
|
reference
|
||
|
"12.10.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf-list untagged-ports {
|
||
|
type if:interface-ref;
|
||
|
config false;
|
||
|
description
|
||
|
"The set of ports in the untagged set for this VID.";
|
||
|
reference
|
||
|
"12.10.2.1.3 of IEEE Std 802.1Q-2018
|
||
|
8.8.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf-list egress-ports {
|
||
|
type if:interface-ref;
|
||
|
config false;
|
||
|
description
|
||
|
"The set of egress ports in the member set for this
|
||
|
VID.";
|
||
|
reference
|
||
|
"12.10.2.1.3 of IEEE Std 802.1Q-2018
|
||
|
8.8.10 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
list protocol-group-database {
|
||
|
if-feature "port-and-protocol-based-vlan";
|
||
|
key "db-index";
|
||
|
description
|
||
|
"List of the protocol group database entries.";
|
||
|
reference
|
||
|
"12.10.1.7 of IEEE Std 802.1Q-2018
|
||
|
6.12.3 of IEEE Std 802.1Q-2018";
|
||
|
leaf db-index {
|
||
|
type uint16;
|
||
|
description
|
||
|
"The protocol group database index.";
|
||
|
}
|
||
|
leaf frame-format-type {
|
||
|
type dot1qtypes:protocol-frame-format-type;
|
||
|
description
|
||
|
"The data-link encapsulation format or the
|
||
|
detagged_frame_type in a Protocol Template";
|
||
|
reference
|
||
|
"12.10.1.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
choice frame-format {
|
||
|
description
|
||
|
"The identification of the protocol above the
|
||
|
data-link layer in a Protocol Template. Depending on
|
||
|
the frame type, the octet string will have one of the
|
||
|
following values: - For ethernet, rfc1042 and
|
||
|
snap8021H, this is the 16-bit (2-octet) IEEE 802
|
||
|
Clause 9.3 EtherType field. - For snapOther, this is
|
||
|
the 40-bit (5-octet) PID. - For llcOther, this is the
|
||
|
2-octet IEEE 802.2 Link Service Access Point (LSAP)
|
||
|
pair: first octet for Destination Service Access Point
|
||
|
(DSAP) and second octet for Source Service Access
|
||
|
Point (SSAP).";
|
||
|
reference
|
||
|
"12.10.1.7 of IEEE Std 802.1Q-2018";
|
||
|
case ethernet-rfc1042-snap8021H {
|
||
|
when
|
||
|
"frame-format-type = 'Ethernet' or "+
|
||
|
"frame-format-type = 'rfc1042' or "+
|
||
|
"frame-format-type = 'snap8021H'" {
|
||
|
description
|
||
|
"Applies to Ethernet, RFC 1042, SNAP 8021H frame
|
||
|
formats.";
|
||
|
}
|
||
|
description
|
||
|
"Identifier used if Ethenet, RFC1042, or SNAP 8021H.";
|
||
|
leaf ethertype {
|
||
|
type dot1qtypes:ethertype-type;
|
||
|
description
|
||
|
"Format containing the 16-bit IEEE 802 EtherType
|
||
|
field.";
|
||
|
reference
|
||
|
"9.3 of IEEE Std 802-2014";
|
||
|
}
|
||
|
}
|
||
|
case snap-other {
|
||
|
when "frame-format-type = 'snapOther'" {
|
||
|
description
|
||
|
"Applies to Snap Other frame formats.";
|
||
|
}
|
||
|
description
|
||
|
"Identifier used if SNAP other.";
|
||
|
leaf protocol-id {
|
||
|
type string {
|
||
|
pattern "[0-9a-fA-F]{2}(-[0-9a-fA-F]{2}){4}";
|
||
|
}
|
||
|
description
|
||
|
"Format containing the 40-bit protocol identifier
|
||
|
(PID). The canonical representation uses uppercase
|
||
|
characters.";
|
||
|
reference
|
||
|
"12.10.1.7.1 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
case llc-other {
|
||
|
when "frame-format-type = 'llcOther'" {
|
||
|
description
|
||
|
"Applies to LLC Other frame formats";
|
||
|
}
|
||
|
description
|
||
|
"Identifier used if LLC other.";
|
||
|
container dsap-ssap-pairs {
|
||
|
description
|
||
|
"A pair of ISO/IEC 8802-2 DSAP and SSAP address
|
||
|
field values, for matching frame formats of
|
||
|
LLC_Other.";
|
||
|
leaf llc-address {
|
||
|
type string {
|
||
|
pattern "[0-9a-fA-F]{2}-[0-9a-fA-F]{2}";
|
||
|
}
|
||
|
description
|
||
|
"A pair of ISO/IEC 8802-2 DSAP and SSAP address
|
||
|
field values, for matching frame formats of
|
||
|
LLC_Other. The canonical representation uses
|
||
|
uppercase characters.";
|
||
|
reference
|
||
|
"12.10.1.7.1 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
leaf group-id {
|
||
|
type uint32;
|
||
|
description
|
||
|
"Designates a group of protocols in the Protocol Group
|
||
|
Database.";
|
||
|
reference
|
||
|
"6.12.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
list vid-to-fid-allocation {
|
||
|
key "vids";
|
||
|
description
|
||
|
"This list allows inquiries about VID to FID
|
||
|
allocations.";
|
||
|
leaf vids {
|
||
|
type dot1qtypes:vid-range-type;
|
||
|
description
|
||
|
"Range of VLAN identifiers.";
|
||
|
reference
|
||
|
"12.10.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf fid {
|
||
|
type uint32;
|
||
|
config false;
|
||
|
description
|
||
|
"The Filtering Database used by a set of VIDs.";
|
||
|
reference
|
||
|
"12.10.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf allocation-type {
|
||
|
type enumeration {
|
||
|
enum undefined {
|
||
|
description
|
||
|
"No allocation defined.";
|
||
|
}
|
||
|
enum fixed {
|
||
|
description
|
||
|
"A fixed allocation to FID is defined.";
|
||
|
}
|
||
|
enum dynamic {
|
||
|
description
|
||
|
"A dynamic allocation to FID is defined.";
|
||
|
}
|
||
|
}
|
||
|
config false;
|
||
|
description
|
||
|
"The type of allocation used";
|
||
|
reference
|
||
|
"12.10.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
list fid-to-vid-allocation {
|
||
|
key "fid";
|
||
|
description
|
||
|
"The FID to VID allocations managed object models
|
||
|
operations that inquire about FID to VID allocations.";
|
||
|
leaf fid {
|
||
|
type uint32;
|
||
|
description
|
||
|
"The Filtering Database used by a set of VIDs.";
|
||
|
reference
|
||
|
"12.10.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf allocation-type {
|
||
|
type enumeration {
|
||
|
enum undefined {
|
||
|
description
|
||
|
"No allocation defined.";
|
||
|
}
|
||
|
enum fixed {
|
||
|
description
|
||
|
"A fixed allocation to FID is defined.";
|
||
|
}
|
||
|
enum dynamic {
|
||
|
description
|
||
|
"A dynamic allocation to FID is defined.";
|
||
|
}
|
||
|
}
|
||
|
config false;
|
||
|
description
|
||
|
"The type of allocation used";
|
||
|
reference
|
||
|
"12.10.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf-list vid {
|
||
|
type dot1qtypes:vlan-index-type;
|
||
|
config false;
|
||
|
description
|
||
|
"The VLAN identifier to which this entry applies.";
|
||
|
reference
|
||
|
"12.7.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
list vid-to-fid {
|
||
|
key "vid";
|
||
|
description
|
||
|
"Fixed allocation of a VID to an FID. The underlying
|
||
|
system will ensure that subsequent commands that make
|
||
|
changes to the VID to FID mapping can override previous
|
||
|
associations.";
|
||
|
reference
|
||
|
"12.10.3.4 of IEEE Std 802.1Q-2018
|
||
|
12.10.3.5 of IEEE Std 802.1Q-2018";
|
||
|
leaf vid {
|
||
|
type dot1qtypes:vlan-index-type;
|
||
|
description
|
||
|
"A list of VLAN identifier associated with a given
|
||
|
database identifier (i.e., FID).";
|
||
|
reference
|
||
|
"12.7.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf fid {
|
||
|
type uint32;
|
||
|
description
|
||
|
"The Filtering Database used by this VLAN";
|
||
|
reference
|
||
|
"12.10.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
container bridge-mst {
|
||
|
when "../../bridge-type != 'dot1q:two-port-mac-relay-bridge'" {
|
||
|
description
|
||
|
"Applies to non TPMRs.";
|
||
|
}
|
||
|
description
|
||
|
"The Bridge MST container models configuration information
|
||
|
that modify, or inquire about, the overall configuration
|
||
|
of the Bridges MST resources.";
|
||
|
reference
|
||
|
"12.12 of IEEE Std 802.1Q-2018";
|
||
|
leaf-list mstid {
|
||
|
type dot1qtypes:mstid-type;
|
||
|
description
|
||
|
"The list of MSTID values that are currently supported
|
||
|
by the Bridge";
|
||
|
}
|
||
|
list fid-to-mstid {
|
||
|
key "fid";
|
||
|
description
|
||
|
"The FID to MSTID allocation table.";
|
||
|
reference
|
||
|
"12.12.2 of IEEE Std 802.1Q-2018";
|
||
|
leaf fid {
|
||
|
type uint32;
|
||
|
description
|
||
|
"The Filtering Database identifier.";
|
||
|
reference
|
||
|
"12.12.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf mstid {
|
||
|
type dot1qtypes:mstid-type;
|
||
|
description
|
||
|
"The MSTID to which the FID is to be allocated.";
|
||
|
reference
|
||
|
"12.12.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
list fid-to-mstid-allocation {
|
||
|
key "fids";
|
||
|
description
|
||
|
"The FID to MSTID allocation table";
|
||
|
leaf fids {
|
||
|
type dot1qtypes:vid-range-type;
|
||
|
description
|
||
|
"Range of FIDs.";
|
||
|
reference
|
||
|
"12.12.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf mstid {
|
||
|
type dot1qtypes:mstid-type;
|
||
|
description
|
||
|
"The MSTID to which the FID is allocated.";
|
||
|
reference
|
||
|
"12.12.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
augment "/if:interfaces/if:interface" {
|
||
|
when
|
||
|
"if:type = 'ianaif:bridge' or if:type ="+
|
||
|
"'ianaif:ethernetCsmacd' or if:type = 'ianaif:ieee8023adLag'"+
|
||
|
"or if:type = 'ianaif:ilan'" {
|
||
|
description
|
||
|
"Applies when a Bridge interface.";
|
||
|
}
|
||
|
description
|
||
|
"Augment the interface model with the Bridge Port";
|
||
|
container bridge-port {
|
||
|
description
|
||
|
"Bridge Port is an extension of the IETF Interfaces model
|
||
|
(RFC7223).";
|
||
|
leaf component-name {
|
||
|
type string;
|
||
|
description
|
||
|
"Used to reference configured Component node.";
|
||
|
}
|
||
|
leaf port-type {
|
||
|
type identityref {
|
||
|
base type-of-port;
|
||
|
}
|
||
|
description
|
||
|
"The port type. Indicates the capabilities of this port.";
|
||
|
reference
|
||
|
"12.4.2.1 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf pvid {
|
||
|
when "../component-name != 'd-bridge-component'" {
|
||
|
description
|
||
|
"Applies to non TPMRs";
|
||
|
}
|
||
|
type dot1qtypes:vlan-index-type;
|
||
|
default "1";
|
||
|
description
|
||
|
"The primary (default) VID assigned to a specific Bridge
|
||
|
Port.";
|
||
|
reference
|
||
|
"12.10.1 of IEEE Std 802.1Q-2018
|
||
|
5.4, item m) of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf default-priority {
|
||
|
type dot1qtypes:priority-type;
|
||
|
default "0";
|
||
|
description
|
||
|
"The default priority assigned to a specific Bridge Port.";
|
||
|
reference
|
||
|
"12.6.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
container priority-regeneration {
|
||
|
description
|
||
|
"The Priority Regeneration Table parameters associated with
|
||
|
a specific Bridge Port. A list of Regenerated User
|
||
|
Priorities for each received priority on each port of a
|
||
|
Bridge. The regenerated priority value may be used to index
|
||
|
the Traffic Class Table for each input port. This only has
|
||
|
effect on media that support native priority. The default
|
||
|
values for Regenerated User Priorities are the same as the
|
||
|
User Priorities";
|
||
|
reference
|
||
|
"12.6.2 of IEEE Std 802.1Q-2018
|
||
|
6.9.4 of IEEE Std 802.1Q-2018";
|
||
|
uses dot1qtypes:priority-regeneration-table-grouping;
|
||
|
}
|
||
|
leaf pcp-selection {
|
||
|
type dot1qtypes:pcp-selection-type;
|
||
|
default "8P0D";
|
||
|
description
|
||
|
"The Priority Code Point selection assigned to a specific
|
||
|
Bridge Port. This object identifies the rows in the PCP
|
||
|
encoding and decoding tables that are used to remark frames
|
||
|
on this port if this remarking is enabled";
|
||
|
reference
|
||
|
"12.6.2 of IEEE Std 802.1Q-2018
|
||
|
6.9.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
container pcp-decoding-table {
|
||
|
description
|
||
|
"The Priority Code Point Decoding Table parameters
|
||
|
associated with a specific Bridge Port.";
|
||
|
uses dot1qtypes:pcp-decoding-table-grouping;
|
||
|
}
|
||
|
container pcp-encoding-table {
|
||
|
description
|
||
|
"The Priority Code Point Encoding Table parameters
|
||
|
associated with a specific Bridge Port.";
|
||
|
uses dot1qtypes:pcp-encoding-table-grouping;
|
||
|
}
|
||
|
leaf use-dei {
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"The Drop Eligible Indicator. If it is set to True, then the
|
||
|
drop_eligible parameter is encoded in the DEI of transmitted
|
||
|
frames, and the drop_eligible parameter shall be true(1) for
|
||
|
a received frame if the DEI is set in the VLAN tag or the
|
||
|
Priority Code Point Decoding Table indicates drop_eligible
|
||
|
True for the received PCP value. If this parameter is False,
|
||
|
the DEI shall be transmitted as zero and ignored on receipt.";
|
||
|
reference
|
||
|
"12.6.2 of IEEE Std 802.1Q-2018
|
||
|
6.9.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf drop-encoding {
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"The Drop Encoding parameter. If a Bridge supports encoding
|
||
|
or decoding of drop_eligible from the PCP field of a VLAN
|
||
|
tag (6.7.3) on any of its Ports, then it shall implement a
|
||
|
Boolean parameter Require Drop Encoding on each of its Ports
|
||
|
with default value False. If Require Drop Encoding is True
|
||
|
and the Bridge Port cannot encode particular priorities with
|
||
|
drop_eligible, then frames queued with those priorities and
|
||
|
drop_eligible True shall be discarded and not transmitted.";
|
||
|
reference
|
||
|
"12.6.2 of IEEE Std 802.1Q-2018
|
||
|
8.6.6 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf service-access-priority-selection {
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"The Service Access Priority selection. Indication of
|
||
|
whether the Service Access Priority Selection function is
|
||
|
supported on the Customer Bridge Port to request priority
|
||
|
handling of the frame from a Port-based service interface.";
|
||
|
reference
|
||
|
"12.6.2 of IEEE Std 802.1Q-2018
|
||
|
6.13 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
container service-access-priority {
|
||
|
description
|
||
|
"The Service Access Priority table parameters. A table that
|
||
|
contains information about the Service Access Priority
|
||
|
Selection function for a Provider Bridge. The use of this
|
||
|
table enables a mechanism for a Customer Bridge attached to
|
||
|
a Provider Bridged Network to request priority handling of
|
||
|
frames.";
|
||
|
reference
|
||
|
"12.6.2 of IEEE Std 802.1Q-2018
|
||
|
6.13.1 of IEEE Std 802.1Q-2018";
|
||
|
uses dot1qtypes:service-access-priority-table-grouping;
|
||
|
}
|
||
|
container traffic-class {
|
||
|
description
|
||
|
"The Traffic Class table parameters. A table mapping
|
||
|
evaluated priority to Traffic Class, for forwarding by the
|
||
|
Bridge";
|
||
|
reference
|
||
|
"12.6.3 of IEEE Std 802.1Q-2018
|
||
|
8.6.6 of IEEE Std 802.1Q-2018";
|
||
|
uses dot1qtypes:traffic-class-table-grouping;
|
||
|
}
|
||
|
leaf acceptable-frame {
|
||
|
when "../component-name != 'd-bridge-component'" {
|
||
|
description
|
||
|
"Applies to non TPMRs";
|
||
|
}
|
||
|
type enumeration {
|
||
|
enum admit-only-VLAN-tagged-frames {
|
||
|
description
|
||
|
"Admit only VLAN-tagged frames.";
|
||
|
}
|
||
|
enum admit-only-untagged-and-priority-tagged {
|
||
|
description
|
||
|
"Admit only untagged and priority-tagged frames.";
|
||
|
}
|
||
|
enum admit-all-frames {
|
||
|
description
|
||
|
"Admit all frames.";
|
||
|
}
|
||
|
}
|
||
|
default "admit-all-frames";
|
||
|
description
|
||
|
"To configure the Acceptable Frame Types parameter
|
||
|
associated with one or more Ports";
|
||
|
reference
|
||
|
"12.10.1.3 of IEEE Std 802.1Q-2018
|
||
|
6.9 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf enable-ingress-filtering {
|
||
|
when "../component-name != 'd-bridge-component'" {
|
||
|
description
|
||
|
"Applies to non TPMRs";
|
||
|
}
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"To enable the Ingress Filtering feature associated with one
|
||
|
or more Ports.";
|
||
|
reference
|
||
|
"12.10.1.4 of IEEE Std 802.1Q-2018
|
||
|
8.6.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf enable-restricted-vlan-registration {
|
||
|
when "../component-name != 'd-bridge-component'" {
|
||
|
description
|
||
|
"Applies to non TPMRs";
|
||
|
}
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"To enable the Restricted VLAN Registration associated with
|
||
|
one or more Ports.";
|
||
|
reference
|
||
|
"11.2.3.2.3 of IEEE Std 802.1Q-2018
|
||
|
12.10.1.6 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf enable-vid-translation-table {
|
||
|
when "../component-name != 'd-bridge-component'" {
|
||
|
description
|
||
|
"Applies to non TPMRs";
|
||
|
}
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"To enable VID Translation table associated with a Bridge
|
||
|
Port. This is not applicable to Bridge Ports that do no
|
||
|
support a VID Translation Table.";
|
||
|
reference
|
||
|
"12.10.1.8 of IEEE Std 802.1Q-2018
|
||
|
6.9 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf enable-egress-vid-translation-table {
|
||
|
when "../component-name != 'd-bridge-component'" {
|
||
|
description
|
||
|
"Applies to non TPMRs";
|
||
|
}
|
||
|
type boolean;
|
||
|
default "false";
|
||
|
description
|
||
|
"To enable Egress VID Translation table associated with a
|
||
|
Bridge Port. This is not applicable to Ports that do not
|
||
|
support an Egress VID Translation table.";
|
||
|
reference
|
||
|
"12.10.1.9 of IEEE Std 802.1Q-2018
|
||
|
6.9 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
list protocol-group-vid-set {
|
||
|
when "../component-name != 'd-bridge-component'" {
|
||
|
description
|
||
|
"Applies to non TPMRs";
|
||
|
}
|
||
|
if-feature "port-and-protocol-based-vlan";
|
||
|
key "group-id";
|
||
|
description
|
||
|
"The list of VID values associated with the Protocol Group
|
||
|
Identifier for this port.";
|
||
|
reference
|
||
|
"12.10.1.1.3 of IEEE Std 802.1Q-2018";
|
||
|
leaf group-id {
|
||
|
type uint32;
|
||
|
description
|
||
|
"The protocol group identifier";
|
||
|
reference
|
||
|
"12.10.1.7 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf-list vid {
|
||
|
type dot1qtypes:vlanid;
|
||
|
description
|
||
|
"The VLAN identifier to which this entry applies.";
|
||
|
reference
|
||
|
"12.10.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
leaf admin-point-to-point {
|
||
|
type enumeration {
|
||
|
enum force-true {
|
||
|
value 1;
|
||
|
description
|
||
|
"Indicates that this port should always be treated as if
|
||
|
it is connected to a point-to-point link.";
|
||
|
}
|
||
|
enum force-false {
|
||
|
value 2;
|
||
|
description
|
||
|
"Indicates that this port should be treated as having a
|
||
|
shared media connection.";
|
||
|
}
|
||
|
enum auto {
|
||
|
value 3;
|
||
|
description
|
||
|
"Indicates that this port is considered to have a
|
||
|
point-to-point link if it is an Aggregator and all of
|
||
|
its members are aggregatable, or if the MAC entity is
|
||
|
configured for full duplex operation, either through
|
||
|
auto-negotiation or by management means.";
|
||
|
}
|
||
|
}
|
||
|
description
|
||
|
"For a port running spanning tree, this object represents
|
||
|
the administrative point-to-point status of the LAN segment
|
||
|
attached to this port, using the enumeration values of IEEE
|
||
|
Std 802.1AC. A value of forceTrue(1) indicates that this
|
||
|
port should always be treated as if it is connected to a
|
||
|
point-to-point link. A value of forceFalse(2) indicates that
|
||
|
this port should be treated as having a shared media
|
||
|
connection. A value of auto(3) indicates that this port is
|
||
|
considered to have a point-to-point link if it is an
|
||
|
Aggregator and all of its members are aggregatable, or if
|
||
|
the MAC entity is configured for full duplex operation,
|
||
|
either through auto-negotiation or by management means.
|
||
|
Manipulating this object changes the underlying
|
||
|
adminPointToPointMAC.";
|
||
|
reference
|
||
|
"12.4.2 of IEEE Std 802.1Q-2018
|
||
|
6.8.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf protocol-based-vlan-classification {
|
||
|
when "../component-name != 'd-bridge-component'" {
|
||
|
description
|
||
|
"Applies to non TPMRs";
|
||
|
}
|
||
|
if-feature "port-and-protocol-based-vlan";
|
||
|
type boolean;
|
||
|
config false;
|
||
|
description
|
||
|
"A boolean indication indicating if Port-and-Protocol-based
|
||
|
VLAN classification is supported on a given Port.";
|
||
|
reference
|
||
|
"5.4.1.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf max-vid-set-entries {
|
||
|
when "../component-name != 'd-bridge-component'" {
|
||
|
description
|
||
|
"Applies to non TPMRs";
|
||
|
}
|
||
|
if-feature "port-and-protocol-based-vlan";
|
||
|
type uint16;
|
||
|
config false;
|
||
|
description
|
||
|
"The maximum number of entries supported in the VID set on a
|
||
|
given Port.";
|
||
|
reference
|
||
|
"12.10.1.1.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf port-number {
|
||
|
type dot1qtypes:port-number-type;
|
||
|
config false;
|
||
|
description
|
||
|
"An integer that uniquely identifies a Bridge Port.";
|
||
|
reference
|
||
|
"12.3, item i) of IEEE Std 802.1Q-2018
|
||
|
17.3.2.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf address {
|
||
|
type ieee:mac-address;
|
||
|
config false;
|
||
|
description
|
||
|
"The specific MAC address of the individual MAC Entity
|
||
|
associated with the Port.";
|
||
|
reference
|
||
|
"12.4.2 of IEEE Std 802.1Q-2018
|
||
|
12.4.2.1.1.3, item a) of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf capabilities {
|
||
|
type bits {
|
||
|
bit tagging {
|
||
|
position "0";
|
||
|
description
|
||
|
"Supports 802.1Q VLAN tagging of frames and MVRP.";
|
||
|
}
|
||
|
bit configurable-acceptable-frame-type {
|
||
|
position "1";
|
||
|
description
|
||
|
"Allows modified values of acceptable frame types";
|
||
|
}
|
||
|
bit ingress-filtering {
|
||
|
position "2";
|
||
|
description
|
||
|
"Supports the discarding of any frame received on a Port
|
||
|
whose VLAN classification does not include that Port in
|
||
|
its member set.";
|
||
|
}
|
||
|
}
|
||
|
config false;
|
||
|
description
|
||
|
"The feature capabilities associated with port. Indicates
|
||
|
the parts of IEEE 802.1Q that are optional on a per-port
|
||
|
basis, that are implemented by this device, and that are
|
||
|
manageable.";
|
||
|
reference
|
||
|
"12.10.1.1.3, item c) of IEEE Std 802.1Q-2018
|
||
|
12.4.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf type-capabilties {
|
||
|
type bits {
|
||
|
bit customer-vlan-port {
|
||
|
position "0";
|
||
|
description
|
||
|
"Indicates the port can be a C-TAG aware port of an
|
||
|
enterprise VLAN aware Bridge";
|
||
|
}
|
||
|
bit provider-network-port {
|
||
|
position "1";
|
||
|
description
|
||
|
"Indicates the port can be an S-TAG aware port of a
|
||
|
Provider Bridge or Backbone Edge Bridge used for
|
||
|
connections within a PBN or PBBN.";
|
||
|
}
|
||
|
bit customer-network-port {
|
||
|
position "2";
|
||
|
description
|
||
|
"Indicates the port can be an S-TAG aware port of a
|
||
|
Provider Bridge or Backbone Edge Bridge used for
|
||
|
connections to the exterior of a PBN or PBBN.";
|
||
|
}
|
||
|
bit customer-edge-port {
|
||
|
position "3";
|
||
|
description
|
||
|
"Indicates the port can be a C-TAG aware port of a
|
||
|
Provider Bridge used for connections to the exterior of
|
||
|
a PBN or PBBN.";
|
||
|
}
|
||
|
bit customer-backbone-port {
|
||
|
position "4";
|
||
|
description
|
||
|
"Indicates the port can be a I-TAG aware port of a
|
||
|
Backbone Edge Bridge's B-component.";
|
||
|
}
|
||
|
bit virtual-instance-port {
|
||
|
position "5";
|
||
|
description
|
||
|
"Indicates the port can be a virtual S-TAG aware port
|
||
|
within a Backbone Edge Bridge's I-component which is
|
||
|
responsible for handling S-tagged traffic for a specific
|
||
|
backbone service instance.";
|
||
|
}
|
||
|
bit d-bridge-port {
|
||
|
position "6";
|
||
|
description
|
||
|
"Indicates the port can be a VLAN-unaware member of an
|
||
|
802.1Q Bridge.";
|
||
|
}
|
||
|
bit remote-customer-access-port {
|
||
|
position "7";
|
||
|
description
|
||
|
"Indicates the port can be an S-TAG aware port of a
|
||
|
Provider Bridge capable of providing Remote Customer
|
||
|
Service Interfaces.";
|
||
|
}
|
||
|
bit station-facing-bridge-port {
|
||
|
position "8";
|
||
|
description
|
||
|
"Indicates the station-facing Bridge Port in a EVB
|
||
|
Bridge.";
|
||
|
}
|
||
|
bit uplink-access-port {
|
||
|
position "9";
|
||
|
description
|
||
|
"Indicates the uplink access port in an EVB Bridge or
|
||
|
EVB station.";
|
||
|
}
|
||
|
bit uplink-relay-port {
|
||
|
position "10";
|
||
|
description
|
||
|
"Indicates the uplink relay port in an EVB station.";
|
||
|
}
|
||
|
}
|
||
|
config false;
|
||
|
description
|
||
|
"The type of feature capabilities supported with port.
|
||
|
Indicates the capabilities of this port.";
|
||
|
reference
|
||
|
"12.4.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf external {
|
||
|
type boolean;
|
||
|
config false;
|
||
|
description
|
||
|
"A boolean indicating whether the port is external. A value
|
||
|
of True means the port is external. A value of False means
|
||
|
the port is internal.";
|
||
|
reference
|
||
|
"12.4.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf oper-point-to-point {
|
||
|
type boolean;
|
||
|
config false;
|
||
|
description
|
||
|
"For a port running spanning tree, this object represents
|
||
|
the operational point-to-point status of the LAN segment
|
||
|
attached to this port. It indicates whether a port is
|
||
|
considered to have a point-to-point connection.
|
||
|
|
||
|
If admin-point-to-point is set to auto(2), then the value of
|
||
|
oper-point-to-point is determined in accordance with the
|
||
|
specific procedures defined for the MAC entity concerned, as
|
||
|
defined in IEEE Std 802.1AC.
|
||
|
|
||
|
The value is determined dynamically; that is, it is
|
||
|
re-evaluated whenever the value of admin-point-to-point
|
||
|
changes, and whenever the specific procedures defined for
|
||
|
the MAC entity evaluate a change in its point-to-point
|
||
|
status.";
|
||
|
reference
|
||
|
"IEEE Std 802.1AC
|
||
|
12.4.2 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf media-dependent-overhead {
|
||
|
type uint8;
|
||
|
units "octets";
|
||
|
config false;
|
||
|
description
|
||
|
"The portMediaDependentOverhead parameter provides the
|
||
|
number of additional octets for media-dependent framing. The
|
||
|
overhead includes all octets prior the first octet of the
|
||
|
Destination Address field and all octets after the last octet
|
||
|
of the frame check sequence.";
|
||
|
reference
|
||
|
"12.4.2 of IEEE Std 802.1Qcr-2020";
|
||
|
}
|
||
|
container statistics {
|
||
|
config false;
|
||
|
description
|
||
|
"Container of operational state node information associated
|
||
|
with the bridge port.";
|
||
|
uses dot1qtypes:bridge-port-statistics-grouping;
|
||
|
leaf discard-on-ingress-filtering {
|
||
|
when "../../component-name != 'd-bridge-component'" {
|
||
|
description
|
||
|
"Applies to non TPMRs";
|
||
|
}
|
||
|
if-feature "ingress-filtering";
|
||
|
type yang:counter64;
|
||
|
description
|
||
|
"The number of frames that were discarded as a result of
|
||
|
Ingress Filtering being enabled.
|
||
|
|
||
|
Discontinuities in the value of this counter can occur at
|
||
|
re-initialization of the management system, and at other
|
||
|
times as indicated by the value of 'discontinuity-time'.";
|
||
|
reference
|
||
|
"12.6.1.1.3 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
list vid-translations {
|
||
|
when "../component-name != 'd-bridge-component'" {
|
||
|
description
|
||
|
"Applies to non TPMRs";
|
||
|
}
|
||
|
key "local-vid";
|
||
|
description
|
||
|
"To configure the VID Translation Table (6.9) associated
|
||
|
with a Port. This object is not applicable to Ports that do
|
||
|
not support a VID Translation Table. The default
|
||
|
configuration of the table has the value of the Relay VID
|
||
|
equal to the value of the Local VID. If no local VID is
|
||
|
configured, then it is assumed that the relay VID is the
|
||
|
same value as the local VID.
|
||
|
|
||
|
If the port supports an Egress VID translation table, the
|
||
|
VID Translation Configuration object configures the Local
|
||
|
VID to Relay VID mapping on ingress only. If an Egress VID
|
||
|
translation is not supported, the VID Translation
|
||
|
Configuration object defines a single bidirectional mapping.
|
||
|
In this case, the Bridge should not allow multiple keys
|
||
|
('local-vid') mapped to the same 'relay-vid' value.";
|
||
|
leaf local-vid {
|
||
|
type dot1qtypes:vlanid;
|
||
|
description
|
||
|
"The Local VID after translation received at the ISS or
|
||
|
EISS.";
|
||
|
reference
|
||
|
"12.10.1.8 of IEEE Std 802.1Q-2018
|
||
|
6.9 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf relay-vid {
|
||
|
type dot1qtypes:vlanid;
|
||
|
description
|
||
|
"The Relay VID received before translation received at ISS
|
||
|
or EISS.";
|
||
|
reference
|
||
|
"12.10.1.8 of IEEE Std 802.1Q-2018
|
||
|
6.9 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
list egress-vid-translations {
|
||
|
when "../component-name != 'd-bridge-component'" {
|
||
|
description
|
||
|
"Applies to non TPMRs";
|
||
|
}
|
||
|
key "relay-vid";
|
||
|
description
|
||
|
"To configure the Egress VID Translation Table (6.9)
|
||
|
associated with a Port. This object is not applicable to
|
||
|
Ports that do not support an Egress VID Translation Table.
|
||
|
The default configuration of the table has the value of the
|
||
|
Local VID equal to the value of the Relay VID. If no Relay
|
||
|
VID is configured, then it is assumed that the local VID is
|
||
|
the same value as the relay VID.";
|
||
|
leaf relay-vid {
|
||
|
type dot1qtypes:vlanid;
|
||
|
description
|
||
|
"The Relay VID received before translation received at ISS
|
||
|
or EISS.";
|
||
|
reference
|
||
|
"12.10.1.9 of IEEE Std 802.1Q-2018
|
||
|
6.9 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
leaf local-vid {
|
||
|
type dot1qtypes:vlanid;
|
||
|
description
|
||
|
"The Local VID after translation received at the ISS or
|
||
|
EISS.";
|
||
|
reference
|
||
|
"12.10.1.9 of IEEE Std 802.1Q-2018
|
||
|
6.9 of IEEE Std 802.1Q-2018";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|