module ieee-dot1Q-bridge { namespace "urn:ieee:params:xlm:ns:yang:ieee-dot1Q-bridge"; prefix "dot1Q"; import ieee-types { prefix "ieee"; } import yang-types { prefix "yang"; } import ietf-interfaces { prefix "if"; } import iana-if-type { prefix "ianaif"; } import ieee-dot1Q-types { prefix "dot1Qtypes"; } organization "Institute of Electrical and Electronics Engineers"; contact "Web URL: http://ieee.org/ E-mail: corporate-communications@ieee.org Postal: U.S.A. Phone: +1 732-563-6820 Fax: +1 732-981-9511"; description "This YANG module describes the bridge configuration model for the following IEEE 802.1Q Bridges: 1) Two Port MAC Relay Bridges 2) Customer VLAN Bridges 3) Provider Bridges."; revision "2015-07-07" { description "Initial Version."; reference "IEEE 802.1Q-2011, Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks."; } feature IngressFiltering { 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 frame’s 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."; } feature ExtendedFilteringServices { 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 Port’s default forwarding or filtering behavior with regard to group MAC addresses for which no specific static or dynamic filtering information has been configured."; } feature PortAndProtocolBasedVLANClassification { 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."; } feature FlowFiltering { 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."; } /* * The 'bridge' data node provides configuration data in support of the Bridge * Configuration resources. There is a single 'bridge' data node per Bridge. */ container bridge { description "Provides configuration data in support of the Bridge Configuration resources. There is a single 'bridge' data node per Bridge."; leaf address { description "The MAC address for the Bridge from which the Bridge Identifiers used by the STP, RSTP, and MSTP are derived."; type ieee:mac-address; } leaf name { description "A text string associated with the Bridge, of locally determined significance."; type dot1Qtypes:nameType; } leaf num-ports { description "The number of Bridge Ports (MAC Entities)"; type dot1Qtypes:portNumberType; } list port-list { description "A list, specifying the port number and port address, supported by the Bridge."; config false; key "port-number"; leaf port-number { description "The number of the Bridge Port."; type dot1Qtypes:portNumberType; } leaf port-address { description "The specific MAC address of the individual MAC Entity associated with the Port."; type ieee:mac-address; } } leaf up-time { description "The count in seconds of the time elapsed since the Bridge was last reset or initialized."; config false; type yang:counter32; units seconds; } leaf bridge-type { description "The type of Bridge."; type enumeration { enum customer-vlan-bridge; enum provider-bridge; enum provider-edge-bridge; enum backbone-edge-bridge; enum backbone-core-bridge; enum two-port-mac-relay-bridge; } } /* * The 'component' data node describes the parameters for each Bridge Component * including the component type and capabilities. */ list component { description "The set of components associated with a given Bridge. For example, * A TPMR Bridge 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."; min-elements 1; max-elements 4094; key "component-id"; leaf component-id { description "Unique identifier for a particular Bridge component within the system"; type uint32; } leaf component-type { description "The type of component used to classify a particular Bridge component within a Bridge system comprising multiple components."; config false; type enumeration { enum iComponent; enum bComponent; enum cVlanComponent; enum sVlanComponent; enum dBridgeComponent; enum edgeRelayComponent; } } leaf address { description "Unique EUI-48 Universally Administered MAC address assigned to a Bridge component."; config false; type ieee:mac-address; } leaf num-ports { description "The number of Bridge Ports associated with the Bridge Component."; config false; type dot1Qtypes:portNumberType; } container capabilities { description "Array of Boolean values of the feature capabilities associated with a given Bridge Component. The capabilities are: * extended-filtering-service --> Can perform filtering on individual multicast addresses controlled by MMRP. * traffic-classes --> Can map priority to multiple traffic classes. * static-entry-indificual-port --> * ivl-capable --> Independent VLAN Learning (IVL). * svl-capabile --> Shared VLAN Learning (SVL). * hybrid-capable --> Both IVL and SVL simultaneously. * configurable-pvid-tagging --> Whether the implementation supports the ability to override the defautl PVID setting and its egress status (VLAN-tagged or Untagged) on each port. * local-vlan-capable --> Can support multiple local Bridges, outside the scope of 802.1Q defined VLANs."; config false; leaf extended-filtering-services { type boolean; } leaf traffic-classes { type boolean; } leaf static-entry-individual-port { type boolean; } leaf ivl-capable { type boolean; } leaf svl-capable { type boolean; } leaf hybrid-capable { type boolean; } leaf configurable-pvid-tagging { type boolean; } leaf local-vlan-capable { type boolean; } } leaf traffic-class-enabled { 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."; type boolean; default "true"; } leaf mmrp-enabled-status { description "The administrative status of MMRP. The value True indicates that MMRP should be enabled on this device, in all VLANs, on all ports for which it has not been specifically disabled. A value of False indicates that MMRP is disabled, in all VLANs and on all ports, and all MMRP packets will be forwarded transpartently. This object affects both Applicant and Registrar state machines. A transition from False to True will cause a reset of all MMRP state machines on all ports."; type boolean; default "true"; } container filtering-database { description "A table that contains configuration and control information for each Filtering Database currently operating on this device."; leaf size { description "The maximum number of entries that can be held in the FDB."; config false; type uint16; } leaf static-entries { description "The number of Static Filtering entries currently in the FDB."; config false; type uint16; } leaf dynamic-entries { description "The number of Dynamic Filtering entries currently in the FDB."; config false; type yang:gauge32; } leaf static-vlan-registration-entries { description "The number of Static VLAN Registration entries currently in the FDB."; config false; type uint16; } leaf dynamic-vlan-registration-entries { description "The number of Dynamic VLAN Registration entries currently in the FDB."; config false; type yang:gauge32; } leaf aging-time { description "The timeout period in seconds for aging out dynamically-learned forwarding information. The value of this object MUST be retained across reinitializations of the managment system."; type uint32 {range "10..10000000";} units seconds; default 300; } leaf mac-address-registration-entries { description "The number of MAC Address Registration entries currently in the FDB."; config false; if-feature ExtendedFilteringServices; type yang:gauge32; } list filtering-entries { description "A table containing filtering information for Unicast/Multicast/Broadcast MAC addresses for each VLAN, configured into the device by (local or network) management specifying the set of Ports to which frame received from specific Ports and containing specific Unicast/Multicast/Broadcast destination MAC addresses are allowed to be forwarded. A value of zero (as the Port number from which frames with a specific destiantion MAC address are received) is used to specify all ports for which there is no specific entry in this table for that particular MAC address. Two modes of operation are supported. When the receive Port index is non-zero, then an 802.1D filtering database is supported. If the received Port is zero, then this table is operating as specified in IEEE 802.1Q."; key "database-id vid address"; leaf database-id { description "The identity of this Filtering Database."; type uint32; } leaf address { description "For 'dynamic' entries, the destination MAC address in a frame to which this entries filtering information applies. For 'static' entries, a MAC address (unicast/multicast/broadcast) for which the device has forwarding and/or filtering information."; type ieee:mac-address; } leaf vid { description "The VLAN identifier to which this entry applies."; type ieee:vlanid; } leaf entry-type { description "The type of filtering entry. Whether static or dynamic."; type enumeration { enum static; enum dynamic; } } leaf status { description "The status of this entry. * other --> None of the following. This may include the case where some other object is being used to determine if and how frames MAC addressed to the value of are being forwarded. * invalid --> 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. * learned --> The value of the corresponding instance of the 'port' node was learned and is being used. * self --> The value of the corresponding instance of the 'address' node representing one of the devices's address. * mgmt --> The value of the corresponding instance of'address' node that is also the value of an existing instance."; config false; type enumeration { enum other; enum invalid; enum learned; enum self; enum mgmt; } } uses dot1Qtypes:portMap; } list vlan-registration-entries { key "database-id vid"; leaf database-id { description "The identity of this Filtering Database."; type uint32; } leaf vid { description "The VLAN identifier to which this entry applies."; type ieee:vlanid; } leaf entry-type { description "The type of filtering entry. Whether static or dynamic."; type enumeration { enum static; enum dynamic; } } uses dot1Qtypes:portMap; } } container permanent-database { leaf size { description "The maximum number of entries that can be held in the FDB."; config false; type yang:gauge32; } leaf static-entries { description "The number of Static Filtering entries currently in the FDB."; config false; type yang:gauge32; } leaf static-vlan-registration-entries { description "The number of Static VLAN Registration entries currently in the FDB."; config false; type yang:gauge32; } list filtering-entries { key "database-id vid address"; leaf database-id { description "The identity of this Filtering Database."; type uint16; } leaf address { description "A MAC address (unicast/multicast/broadcast) for which the device has forwarding and/or filtering information."; type ieee:mac-address; } leaf vid { description "The VLAN identifier to which this entry applies."; type ieee:vlanid; } uses dot1Qtypes:portMap; } } list bridge-port { description "Bridge Port is an extension of the IETF Interfaces model (RFC7223)."; min-elements 2; max-elements 4096; when "/if:interfaces/if:interface/if:type = 'ianaif:iso88023Csmacd' or /if:interfaces/if:interface/if:type = 'ianaif:ieee8023adLag' or /if:interfaces/if:interface/if:type = 'ianaif:ilan'"; key "name"; leaf name { description "The name assigned to the Interface."; type leafref { path "/if:interfaces/if:interface/if:name"; } } leaf pvid { description "The primary (default) VID assigned to a specific Bridge Port."; when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; type ieee:vlanid; default "1"; } leaf default-priority { description "The default priority assigned to a specific Bridge Port."; type dot1Qtypes:priorityType; default "0"; } container priority-regeneration-table { description "The Priority Regeneration Table parameters associted 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"; uses dot1Qtypes:priorityRegenerationTable; } leaf pcp-selection { 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"; type dot1Qtypes:pcpSelectionType; default "8P0D"; } container pcp-decoding-table { description "The Priority Code Point Decoding Table parameters associated with a specific Bridge Port."; leaf selection-type { type dot1Qtypes:pcpSelectionType; default "8P0D"; } container table { uses dot1Qtypes:pcpDecodingTable; } } container pcp-encoding-table { description "The Priority Code Point Encoding Table parameters associated with a specific Bridge Port."; leaf selection-type { type dot1Qtypes:pcpSelectionType; default "8P0D"; } container encoding-table { uses dot1Qtypes:pcpEncodingTable; } } leaf use-dei { 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."; type boolean; default "false"; } leaf drop-encoding { 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."; type boolean; default "false"; } leaf service-access-priority-selection { 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."; type enumeration { enum enabled; enum disabled; } } container service-access-priority-table { 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. All writable objects in this table MUST be persistent over power up restart/reboot"; uses dot1Qtypes:serviceAccessPriorityTable; } container traffic-class-table { description "The Traffic Class table parameters. A table mapping evaluated priority to Traffic Class, for forwarding by the Bridge"; uses dot1Qtypes:trafficClassTable; } leaf acceptable-frame { when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; description "To configure the Acceptable Frame Types parameter associated with one or more Ports"; type enumeration { enum admit-only-VLAN-tagged-frames; enum admit-only-untagged-and-priority-tagged-frames; enum admit-all-frames; } default "admit-all-frames"; } leaf enable-ingress-filtering { when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; description "To configure the Enabled Ingress Filtering parameter(s) associated with one or more Ports"; type boolean; default "false"; } leaf restricted-vlan-registration { when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; description "To configure the Restricted_VLAN_Registration parameter associated with one or more Ports."; type boolean; default "false"; } leaf vid-translation-table { when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; description "The VD Translation table associated with a Bridge Port. This is not applicable to Bridge Ports that do no support a VID Translation Table."; type boolean; default "false"; } leaf egress-vid-translation-table { when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; description "The Egress VID Translation table associated with a Bridge Port. This is not applicable to Ports that do not support an Egress VID Translation table."; type boolean; default "false"; } leaf protocol-group-id { when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; description "Designates a group of protocols in the Protocol Group Database"; if-feature PortAndProtocolBasedVLANClassification; type uint16; } container protocol-group-database-contents { when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; description "A table that contains mappings from Protocol Templates to Protocol Group Identifiers used for Port-and-Protocol-based VLAN Classification. Entries in this table must be persistent over power up restart/reboot."; if-feature PortAndProtocolBasedVLANClassification; leaf template { type dot1Qtypes:protocolTemplateFormatType; } leaf group-id { type uint16; } } leaf admin-point-to-point { 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. The value of this object MUST be retained across reinitializations of the management system"; type uint16; } list vid-translations { 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 for all Local VID values. 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"; when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; key "local-vid"; leaf local-vid { description "The Local VID after translation received at the ISS or EISS."; type ieee:vlanid; } leaf relay-vid { description "The Relay VID received before translation received at ISS or EISS."; type ieee:vlanid; } } list egress-vid-translations { 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 for all Relay VID values."; when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; key "relay-vid"; leaf relay-vid { description "The Relay VID received before translation received at ISS or EISS."; type ieee:vlanid; } leaf local-vid { description "The Local VID after translation received at the ISS or EISS."; type ieee:vlanid; } } } list bridge-port-state { description "Bridge Port nodes are extensions of the IETF Interfaces model (RFC7223)."; min-elements 2; max-elements 4096; when "/if:interfaces/if:interface/if:type = 'ianaif:iso88023Csmacd' or /if:interfaces/if:interface/if:type = 'ianaif:ieee8023adLag' or /if:interfaces/if:interface/if:type = 'ianaif:ilan'"; key "name"; leaf name { description "The name assigned to the Interface."; type leafref { path "/if:interfaces-state/if:interface/if:name"; } } config false; leaf protocol-based-vlan-classification { description "A boolean indication indicating if Port-and-Prorotocl-based VLAN classification is supported on a given Port."; if-feature PortAndProtocolBasedVLANClassification; when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; type boolean; } leaf max-vid-set-entries { description "The maximum number of entires suppored in the VID set on a given Port."; if-feature PortAndProtocolBasedVLANClassification; when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; type uint16; } leaf port-number { description "The number of the Bridge Port."; type dot1Qtypes:portNumberType; } leaf component-id { description "Used to uniquely identify the management objects for a particular VLAN Bridge component (12.2, Clause 8, 5.4) within a system."; type uint32; } leaf port-type { description "The port type. Indicates the capabilities of this port. The possible port types are as follows: * customer-vlan-port(0) - Indicates the port can be a C-TAG aware port of an enterprise VLAN aware Bridge. * provider-network-port(1) - 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. * customer-network-port(2) - 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. * customer-edge-port(3) - 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. * customer-backbone-port(4) - Indicates the port can be a I-TAG aware port of a Backbone Edge Bridge's B-component. * virtual-instance-port(5) - 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. * d-bridge-port(6) - Indicates the port can be a VLAN-unaware member of an 802.1Q Bridge. * remote-customer-access-port(7) - Indicates the port can be an S-TAG aware port of a Provider Bridge capable of providing Remote Customer Service Interfaces. * station-facing-bridge-port(8) - Indicates the station-facing Bridge Port in a EVB Bridge. * uplink-access-port(9) - Indicates the uplink access port in an EVB Bridge or EVB station. * uplink-relay-port (10) - Indicates the uplink relay port in an EVB station."; type enumeration { enum cvlan-bridge-port; enum provider-network-port; enum customer-network-port; enum customer-edge-port; enum customer-backbone-port; enum virtual-instance-port; enum d-bridge-port; enum remote-customer-access-port; enum station-facing-bridge-port; enum uplink-access-port; enum uplink-relay-port; } } leaf address { description "The specific MAC address of the individual MAC Entity associated with the Port."; type ieee:mac-address; } leaf capabilities { type uint16; } leaf type-capabilties { type uint16; } leaf external { 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"; type boolean; } leaf oper-point-to-point { 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 adminPointToPointMAC is set to auto(2), then the value of operPointToPointMAC 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 adminPointToPointMAC changes, and whenever the specific procedures defined for the MAC entity evaluate a change in its point-to-point status."; type boolean; } container bridge-port-statistics { leaf delay-exceeded-discards { description "The number of frames discarded by this port due to excessive transit delay through the Bridge. It is incremented by both transparent and source route Bridges. Discontinuities in the value of the counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime object of the associated interface (if any)."; type yang:counter64; } leaf mtu-exceeded-discards { description "The number of frames discarded by this port due to an excessive size. It is incremented by both transparent and source route Bridges. Discontinuities in the value of the counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime object of the associated interface (if any)."; type yang:counter64; } leaf frame-rx { description "The number of frames that have been received by this port from its segment. Note that a frame received on the interface corresponding to this port is only counted by this object if and only if it is for a protocol being processed by the local bridging function, including Bridge management frames. Discontinuities in the value of the counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime object of the associated interface (if any)."; type yang:counter64; } leaf octets-rx { description "The total number of octets in all valid frames received (including BPDUs, frames addressed to the Bridge as an end station, and frames that were submitted to the Forwarding Process)."; type yang:counter64; } leaf frame-tx { description "The number of frames that have been transmitted by this port to its segment. Note that a frame transmitted on the interface corresponding to this port is only counted by this object if and only if it is for a protocol being processed by the local bridging function, including Bridge management frames. Discontinuities in the value of the counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime object of the associated interface (if any)."; type yang:counter64; } leaf octets-tx { type yang:counter64; } leaf discard-inbound { description "Count of received valid frames that were discarded (i.e., filtered) by the Forwarding Process. Discontinuities in the value of the counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime object of the associated interface (if any)."; type yang:counter64; } leaf forward-outbound { description "The number of frames forwarded to the associated MAC Entity (8.5)."; type yang:counter64; } leaf discard-lack-of-buffers { description "The count of frames that were to be transmitted through the associated Port but were discarded due to lack of buffers"; type yang:counter64; } leaf discard-transit-delay-exceeded { description "The number of frames discarded by this port due to excessive transit delay through the Bridge. It is incremented by both transparent and source route Bridges. Discontinuities in the value of the counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime object of the associated interface (if any)"; type yang:counter64; } leaf discard-on-error { description "The number of frames that were to be forwarded on the associated MAC but could not be transmitted (e.g., frame would be too large, 6.5.8)."; type yang:counter64; } leaf discard-on-ingress-filtering { description "The number of frames that were discarded as a result of Ingress Filtering being enabled."; when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; if-feature IngressFiltering; type yang:counter64; } leaf discard-ttl-expired { description "The number of frames discarded because they were received with the TTL field expired"; when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; if-feature FlowFiltering; type yang:counter64; } } list vlan-statistics { when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; key "vid"; leaf vid { description "The VLAN identifier to which this entry applies."; type ieee:vlanid; } leaf frame-rx { description "The number of frames that have been received by this port from its segment. Note that a frame received on the interface corresponding to this port is only counted by this object if and only if it is for a protocol being processed by the local bridging function, including Bridge management frames. Discontinuities in the value of the counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime object of the associated interface (if any)."; type yang:counter64; } leaf octets-rx { description "The total number of octets in all valid frames received (including BPDUs, frames addressed to the Bridge as an end station, and frames that were submitted to the Forwarding Process)."; type yang:counter64; } leaf discard-inbound { description "Count of received valid frames that were discarded (i.e., filtered) by the Forwarding Process. Discontinuities in the value of the counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime object of the associated interface (if any)."; type yang:counter64; } leaf forward-outbound { description "The number of frames forwarded to the associated MAC Entity (8.5)."; type yang:counter64; } leaf discard-lack-of-buffers { description "The count of frames that were to be transmitted through the associated Port but were discarded due to lack of buffers"; type yang:counter64; } leaf discard-transit-delay-exceeded { description "The number of frames discarded by this port due to excessive transit delay through the Bridge. It is incremented by both transparent and source route Bridges. Discontinuities in the value of the counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime object of the associated interface (if any)"; type yang:counter64; } leaf discard-on-error { description "The number of frames that were to be forwarded on the associated MAC but could not be transmitted (e.g., frame would be too large, 6.5.8)."; type yang:counter64; } leaf discard-on-ingress-filtering { description "The number of frames that were discarded as a result of Ingress Filtering being enabled."; if-feature IngressFiltering; type yang:counter64; } leaf discard-ttl-expired { description "The number of frames discarded because they were received with the TTL field expired"; if-feature FlowFiltering; type yang:counter64; } } } } container bridge-vlan { when "dot1Q:bridge/dot1Q:bridge-type != 'two-port-mac-relay-bridge'"; leaf version { description "The version number of IEEE 802.1Q that this device supports. Reported as 1 by VLAN Bridges that support only SST operation, and reported as 2 by VLAN Bridges that support MST operation"; config false; type uint16; } leaf max { description "The maximum IEEE 802.1Q VLAN-ID that this device supports."; config false; type uint16; } leaf override-default-pvid { description "Indicates if the ability to override the default PVID setting is supported."; config false; type boolean; } leaf protocol-template { description "The data-link encapsulation format or the 'detagged_frame_type' in a Protocol Template."; config false; type dot1Qtypes:protocolTemplateFormatType; } leaf max-msti { 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 SST Bridges, this parameter may be either omitted or reported as '0'."; config false; type uint16; } list vlan-id { key "vid"; leaf vid { description "The VLAN identifier to which this entry applies."; type ieee:vlanid; } leaf name { description "A text string of up to 32 characters of locally determined significance"; type dot1Qtypes:nameType; } list egress-ports { description "The set of ports that are transmitting traffic for this VLAN as either tagged or untagged frames."; config false; key "port-number"; leaf port-number { type dot1Qtypes:portNumberType; } leaf name { when "/if:interfaces/if:interface/if:type = 'ianaif:iso88023Csmacd' or /if:interfaces/if:interface/if:type = 'ianaif:ieee8023adLag'"; type leafref { path "/if:interfaces/if:interface/if:name"; } } } list untagged-ports { description "The set of ports that are transmitting traffic for this VLAN as untagged frames."; config false; key "port-number"; leaf port-number { type dot1Qtypes:portNumberType; } leaf name { when "/if:interfaces/if:interface/if:type = 'ianaif:iso88023Csmacd' or /if:interfaces/if:interface/if:type = 'ianaif:ieee8023adLag'"; type leafref { path "/if:interfaces/if:interface/if:name"; } } } } container protocol-group-database { description "A table that contains mappings from Protocol Templates to Protocol Group Identifiers used for Port-and-Protocol-based VLAN Classification. Entries in this table must be persistent over power up restart/reboot"; if-feature PortAndProtocolBasedVLANClassification; leaf frame-format { description "The data-link encapsulation format or the 'detagged_frame_type' in a Protocol Template"; type dot1Qtypes:protocolTemplateFormatType; } choice type { 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.3 Type 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)."; leaf ether-type { type dot1Qtypes:etherType; } leaf protocol-id { type uint16; } container dsap-ssap-pairs { leaf dsap-address { type uint8; } leaf ssap-address { type uint8; } } } leaf protocol-group-id { description "Designates a group of protocols in the Protocol Group Database."; type uint16; } } container vid-to-fid-allocation { description "The VID to FID allocations managed object models operations that modify, or inquire about VID to FID allocations (8.8.8) that apply to the operation of the Learning Process and the FDB."; leaf vids { type dot1Qtypes:vid-range; } leaf fid { description "The Filtering Database used by this VLAN. This value is allocated automatically by the device whenever the VLAN is created: either dynamically by MVRP, or by management. Allocation of this value follows the learning constraints defined for this VLAN."; type uint16; } leaf type { description "The type of the allocation: Undefined, Fixed or Dynamic"; config false; type enumeration { enum undefined; enum fixed; enum dynamic; } } } } } }