iecieee60802-bridge

Management objects that provide information about IEC/IEEE 60802 IA-Stations as specified in IEC/IEEE 60802. Copyright (C) I...

  • Version: 2025-03-12

    iecieee60802-bridge@2025-03-12


    
      module iecieee60802-bridge {
    
        yang-version 1.1;
    
        namespace
          "urn:ieee:std:60802:yang:iecieee60802-bridge";
    
        prefix ia-bridge;
    
        import ieee802-types {
          prefix ieee802;
        }
        import ieee802-dot1q-bridge {
          prefix bridge;
        }
        import ietf-interfaces {
          prefix if;
        }
        import ieee802-dot1q-types {
          prefix dot1q-types;
        }
        import ieee1588-ptp-tt {
          prefix ptp-tt;
        }
    
        organization
          "IEEE 802.1 Working Group and IEC subcommittee 65C:
         Industrial networks, of IEC technical committee 65:
         Industrial-process measurement, control and automation";
    
        contact
          "WG-URL: http://ieee802.org/1/
         WG-EMail: stds-802-1-l@ieee.org
    
         Contact: IEEE 802.1 Working Group Chair
                  Postal: C/O IEEE 802.1 Working Group
                  IEEE Standards Association
                  445 Hoes Lane
                  Piscataway, NJ 08854
                  USA
    
         E-mail: stds-802-1-chairs@ieee.org";
    
        description
          "Management objects that provide information about
         IEC/IEEE 60802 IA-Stations as specified in IEC/IEEE 60802.
    
         Copyright (C) IEC/IEEE (2025).
         This version of this YANG module is part of IEC/IEEE 60802;
         see the standard itself for full legal notices.";
    
        revision "2025-03-12" {
          description
            "Published as part of IEC/IEEE 60802-2025.
           The following reference statement identifies each referenced
           IEEE Standard as updated by applicable amendments.";
          reference
            "IEC/IEEE 60802 TSN profile for industrial automation:
            IEC/IEEE 60802-2025.
            IEEE Std 802.1Q Bridges and Bridged Networks:
            IEEE Std 802.1Q-2022, IEEE Std 802.1Qcz-2023,
            IEEE Std 802.1Qcw-2023, IEEE Std 802.1Qdj-2024,
            IEEE Std 802.1Qdx-2024, IEEE Std 802.1Qdy-2025.";
    
        }
    
    
        augment /if:interfaces/if:interface/bridge:bridge-port {
          description
            "Augment IEEE Std 802.1 bridge.";
          list max-burst-params {
            key "speed";
            config false;
            description
              "The list of maximum burst parameters per supported line
             speed.";
            leaf speed {
              type uint32;
              description
                "This value is the line speed in Mbps.";
            }
    
            leaf worst-case-packet-gap {
              type uint8;
              config false;
              description
                "The value is the worst case maximum inter-packet gap
               between consecutive frames in a traffic burst expressed
               in bit-times.";
              reference
                "Item a) in 6.4.10.3.3.1 of IEC/IEEE 60802";
    
            }
    
            leaf max-burst-frames {
              type uint8;
              config false;
              description
                "The value is the maximum number of frames that can be sent
               with minimal inter packet gap.";
              reference
                "Item b) in 6.4.10.3.3.1 of IEC/IEEE 60802";
    
            }
    
            leaf max-burst-bytes {
              type uint8;
              config false;
              description
                "The value is the maximum number of octets that can be sent
               with minimal inter packet gap.";
              reference
                "Item c) in 6.4.10.3.3.1 of IEC/IEEE 60802";
    
            }
          }  // list max-burst-params
    
          list committed-data-rates {
            key "traffic-class speed";
            config false;
            description
              "The list of committed data rates per traffic class and
             supported line speed.";
            leaf traffic-class {
              type dot1q-types:traffic-class-type;
              description
                "The traffic class of the entry (0..7).";
              reference
                "8.6.6 of IEEE Std 802.1Q";
    
            }
    
            leaf speed {
              type uint32;
              description
                "This value is the line speed in Mbps.";
            }
    
            leaf committed-information-rate {
              type uint32;
              config false;
              description
                "The value is the bandwidth limit in kbit/s.";
              reference
                "Item a) in 6.4.10.3.3.2 of IEC/IEEE 60802";
    
            }
    
            leaf committed-burst-size {
              type uint32;
              config false;
              description
                "The value is the burst size limit in bytes.";
              reference
                "Item b) in 6.4.10.3.3.2 of IEC/IEEE 60802";
    
            }
          }  // list committed-data-rates
    
          list transmission-selection-algorithm {
            key "traffic-class";
            config false;
            description
              "The list of supported transmission selection algorithms
             according to 8.6.8 of IEEE Std 802.1Q per traffic class.";
            leaf traffic-class {
              type dot1q-types:traffic-class-type;
              config false;
              description
                "Traffic class. (0..7)";
              reference
                "8.6.6 of IEEE Std 802.1Q";
    
            }
    
            list algorithms {
              key "algorithm";
              config false;
              description
                "The list of supported transmission selection algorithms
               according to 8.6.8 of IEEE Std 802.1Q for this traffic
               class.";
              leaf algorithm {
                type identityref {
                  base dot1q-types:transmission-selection-algorithm;
                }
                config false;
                description
                  "Transmission selection algorithm";
                reference
                  "8.6.8 of IEEE Std 802.1Q";
    
              }
            }  // list algorithms
          }  // list transmission-selection-algorithm
    
          list supported-resource-pools {
            key "resource-pool-name";
            config false;
            description
              "The list of supported buffer resource pools.";
            leaf resource-pool-name {
              type string;
              config false;
              description
                "The value is the name of a resource pool.";
              reference
                "Item a) in 6.4.10.3.4.2 of IEC/IEEE 60802";
    
            }
    
            container covered-time-interval {
              config false;
              description
                "The value is the covered buffering time given as rational
               number of seconds for the highest supported link speed.";
              reference
                "Item b) in 6.4.10.3.4.2 of IEC/IEEE 60802";
    
              uses ieee802:rational-grouping;
            }  // container covered-time-interval
    
            list resource-pool-traffic-classes {
              key "traffic-class";
              config false;
              description
                "The list of the traffic classes to be served by the
               resource pool.";
              reference
                "Item c) in 6.4.10.3.4.2 of IEC/IEEE 60802";
    
              leaf traffic-class {
                type dot1q-types:traffic-class-type;
                description
                  "The traffic class of the entry.";
                reference
                  "8.6.6 of IEEE Std 802.1Q";
    
              }
            }  // list resource-pool-traffic-classes
          }  // list supported-resource-pools
    
          list phy-latencies {
            key "mau-type";
            config false;
            description
              "Latency information for each MAU type";
            leaf mau-type {
              type int32;
              config false;
              description "The MAU type";
            }
    
            leaf latency {
              type uint32;
              config false;
              description
                "The PHY latency in ns";
              reference
                "6.4.10.3.6.3 of IEC/IEEE 60802";
    
            }
    
            leaf latency-variation {
              type uint16;
              config false;
              description
                "The PHY latency variation in ns";
              reference
                "6.4.10.3.6.4 of IEC/IEEE 60802";
    
            }
          }  // list phy-latencies
        }
    
        augment /bridge:bridges/bridge:bridge/bridge:component {
          description
            "Augment IEEE Std 802.1 bridge component.";
          leaf frer-supported {
            type boolean;
            config false;
            description
              "The Boolean value indicates if FRER is supported.";
            reference
              "6.4.10.3.5.1 of IEC/IEEE 60802";
    
          }
    
          leaf max-redundant-streams {
            type uint32;
            config false;
            description
              "The value is the maximum number of supported redundant
             streams.";
            reference
              "6.4.10.3.5.2 of IEC/IEEE 60802";
    
          }
    
          leaf max-fids {
            type uint16;
            config false;
            description
              "The value is the maximum number of supported FIDs.";
            reference
              "6.4.10.3.7.1 of IEC/IEEE 60802";
    
          }
    
          list max-fdb-entries {
            key "fid";
            config false;
            description
              "The list of the maximum number of static and dynamic
             FDB entries per FID.";
            reference
              "6.4.10.3.7.2 of IEC/IEEE 60802";
    
            leaf fid {
              type uint16;
              config false;
              description "The FID number";
            }
    
            leaf max-static-fdb-entries {
              type uint16;
              config false;
              description
                "The value is the maximum number of static FDB
               entries.";
              reference
                "6.4.10.3.7.3 of IEC/IEEE 60802";
    
            }
    
            leaf max-dynamic-fdb-entries {
              type uint16;
              config false;
              description
                "The value is the maximum number of dynamic FDB entries.";
              reference
                "6.4.10.3.7.4 of IEC/IEEE 60802";
    
            }
          }  // list max-fdb-entries
    
          choice delay-variance {
            description
              "The value indicates variance in delay depending upon the use
             of a singleValue or multipleValues.";
            reference
              "6.4.10.3.6.1 of IEC/IEEE 60802";
    
            case single-value {
              list independent-delays {
                key "in-port-mau-type out-port-mau-type traffic-class";
                config false;
                description
                  "The list of minimum and maximum frame length
                 independent delay time values of frames as they pass
                 through a bridge component.";
                reference
                  "6.4.10.3.6.2 of IEC/IEEE 60802";
    
                leaf in-port-mau-type {
                  type int32;
                  config false;
                  description
                    "The MAU type of the input port";
                }
    
                leaf out-port-mau-type {
                  type int32;
                  config false;
                  description
                    "The MAU type of the input port";
                }
    
                leaf traffic-class {
                  type dot1q-types:traffic-class-type;
                  config false;
                  description
                    "The traffic class of the entry.";
                  reference
                    "8.6.6 of IEEE Std 802.1Q";
    
                }
    
                leaf independent-delay-min {
                  type uint32;
                  config false;
                  description
                    "The value is the minimum delay portion that is
                   independent of frame length according to 12.32.1.1.
                   of IEEE 802.1Q";
                  reference
                    "Item a) in 6.4.10.3.6.2 of IEC/IEEE 60802";
    
                }
    
                leaf independent-delay-max {
                  type uint32;
                  config false;
                  description
                    "The value is the maximum delay portion that is
                   independent of frame length according to 12.32.1.1.
                   of IEEE 802.1Q";
                  reference
                    "Item b) in 6.4.10.3.6.2 of IEC/IEEE 60802";
    
                }
              }  // list independent-delays
    
              list dependent-delays {
                key "in-port-line-speed";
                config false;
                description
                  "The list of minimum and maximum frame length dependent
                 delay time values of frames as they pass through a
                 bridge component";
                reference
                  "6.4.10.3.6.2 of IEC/IEEE 60802";
    
                leaf in-port-line-speed {
                  type uint32;
                  config false;
                  description
                    "This value is the line speed in Mbps.";
                }
    
                leaf dependent-delay-min {
                  type uint32;
                  config false;
                  description
                    "The value is the minimum delay portion that is
                   dependent on frame length according to 12.32.1.2.
                   of IEEE 802.1Q";
                  reference
                    "Item c) in 6.4.10.3.6.2 of IEC/IEEE 60802";
    
                }
    
                leaf dependent-delay-max {
                  type uint32;
                  config false;
                  description
                    "The value is the maximum delay portion that is
                   dependent on frame length according to 12.32.1.2.
                   of IEEE 802.1Q";
                  reference
                    "Item d) in 6.4.10.3.6.2 of IEC/IEEE 60802";
    
                }
              }  // list dependent-delays
            }  // case single-value
    
            case multiple-values {
              list independent-delays-cascaded {
                key "in-port in-port-mau-type out-port out-port-mau-type traffic-class";
                config false;
                description
                  "The list of minimum and maximum frame length
                 independent delay time values of frames as they pass
                 through a bridge component.";
                reference
                  "6.4.10.3.6.2 of IEC/IEEE 60802";
    
                leaf in-port {
                  type uint8;
                  config false;
                  description
                    "The port number of the input port";
                }
    
                leaf in-port-mau-type {
                  type int32;
                  config false;
                  description
                    "The MAU type of the input port";
                }
    
                leaf out-port {
                  type uint8;
                  config false;
                  description
                    "The port number of the output port";
                }
    
                leaf out-port-mau-type {
                  type int32;
                  config false;
                  description
                    "The MAU type of the input port";
                }
    
                leaf traffic-class {
                  type dot1q-types:traffic-class-type;
                  config false;
                  description
                    "The traffic class of the entry.";
                  reference
                    "8.6.6 of IEEE Std 802.1Q";
    
                }
    
                leaf independent-delay-min {
                  type uint32;
                  config false;
                  description
                    "The value is the minimum delay portion that is
                   independent of frame length according to 12.32.1.1.
                   of IEEE 802.1Q";
                  reference
                    "Item a) in 6.4.10.3.6.2 of IEC/IEEE 60802";
    
                }
    
                leaf independent-delay-max {
                  type uint32;
                  config false;
                  description
                    "The value is the maximum delay portion that is
                   independent of frame length according to 12.32.1.1.
                   of IEEE 802.1Q";
                  reference
                    "Item b) in 6.4.10.3.6.2 of IEC/IEEE 60802";
    
                }
              }  // list independent-delays-cascaded
    
              list dependent-delays-cascaded {
                key "in-port in-port-line-speed out-port";
                config false;
                description
                  "The list of minimum and maximum frame length dependent
                 delay time values of frames as they pass through a
                 bridge component";
                reference
                  "6.4.10.3.6.2 of IEC/IEEE 60802";
    
                leaf in-port {
                  type uint8;
                  config false;
                  description
                    "The port number of the input port";
                }
    
                leaf in-port-line-speed {
                  type uint32;
                  config false;
                  description
                    "This value is the line speed in Mbps.";
                }
    
                leaf out-port {
                  type uint8;
                  config false;
                  description
                    "The port number of the output port";
                }
    
                leaf dependent-delay-min {
                  type uint32;
                  config false;
                  description
                    "The value is the minimum delay portion that is
                   dependent on frame length according to 12.32.1.2.
                   of IEEE 802.1Q";
                  reference
                    "Item c) in 6.4.10.3.6.2 of IEC/IEEE 60802";
    
                }
    
                leaf dependent-delay-max {
                  type uint32;
                  config false;
                  description
                    "The value is the maximum delay portion that is
                   dependent on frame length according to 12.32.1.2.
                   of IEEE 802.1Q";
                  reference
                    "Item d) in 6.4.10.3.6.2 of IEC/IEEE 60802";
    
                }
              }  // list dependent-delays-cascaded
            }  // case multiple-values
          }  // choice delay-variance
    
          leaf max-ptp-instances {
            type uint8;
            config false;
            description
              "The value is the maximum number of supported PTP
             Instances.";
            reference
              "6.4.10.3.7.5 of IEC/IEEE 60802";
    
          }
    
          leaf max-hot-standby-systems {
            type uint8;
            config false;
            description
              "The value is the maximum number of supported
             HotStandbySystem entities";
            reference
              "6.4.10.3.7.6 of IEC/IEEE 60802";
    
          }
    
          list clock {
            key "clock-identity";
            config false;
            description
              "The list of supported application clock entities.";
            reference
              "6.4.10.3.7.7 of IEC/IEEE 60802";
    
            leaf clock-identity {
              type ptp-tt:clock-identity;
              config false;
              description
                "The clock identity of the application clock.";
              reference
                "Item a) in 6.4.10.3.7.7 of IEC/IEEE 60802";
    
            }
    
            leaf clock-target {
              type boolean;
              config false;
              description
                "The Boolean value indicates if the application clock is a
               clock target (TRUE) or clock source (FALSE).";
              reference
                "Item b) in 6.4.10.3.7.7 of IEC/IEEE 60802";
    
            }
    
            leaf attached-ptp-instance-index {
              type leafref {
                path "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance/ptp-tt:instance-index";
              }
              config false;
              description
                "The value is a reference to the index of the PTP or hot
               standby Instance, that is attached to the application
               clock.";
              reference
                "Item f) in 6.4.10.3.7.7 of IEC/IEEE 60802";
    
            }
    
            leaf arb-supported {
              type boolean;
              config false;
              description
                "The Boolean value indicates if the application clock
               supports the ARB timescale.";
              reference
                "Item c) in 6.4.10.3.7.7 of IEC/IEEE 60802";
    
            }
    
            leaf ptp-supported {
              type boolean;
              config false;
              description
                "The Boolean value indicates if the application clock
               supports the PTP timescale.";
              reference
                "Item d) in 6.4.10.3.7.7 of IEC/IEEE 60802";
    
            }
    
            leaf hot-standby-supported {
              type boolean;
              config false;
              description
                "The Boolean value indicates if the application clock
               supports the hot standby.";
              reference
                "Item e) in 6.4.10.3.7.7 of IEC/IEEE 60802";
    
            }
    
            leaf is-synced {
              type boolean;
              config false;
              description
                "The Boolean value indicates if the application clock is
               either synchronized to the attached PTP Instance (TRUE)
               or to an internal/external ClockSource (FALSE).";
              reference
                "Item g) in 6.4.10.3.7.7 of IEC/IEEE 60802";
    
            }
          }  // list clock
        }
      }  // module iecieee60802-bridge
    

© 2024 YumaWorks, Inc. All rights reserved.