iecieee60802-bridge

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

  • Version: 2024-02-19

    iecieee60802-bridge@2024-02-19


    
      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;
        }
    
        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 "2024-02-19" {
          description
            "Published as part of IEC/IEEE Std 60802-2025.
          The following reference statement identifies each referenced
          IEEE Standard as updated by applicable amendments.";
          reference
            "IEC/IEEE Std 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-2024.";
    
        }
    
    
        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 per gating
               cycle.";
              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 of the maximum number of octets per gating
               cycle.";
              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
                "Intem 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
        }
    
        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 if the bridge component is as single
             chip architecture (i.e., without countable internal
             communication delay times) or cascaded chip architecture
             (i.e., with countable internal communication delay times).";
            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 hot standby
             systems.";
            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: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:ptp/ptp:instances/ptp:instance/ptp: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
    

© 2023 YumaWorks, Inc. All rights reserved.