Cisco-IOS-XR-crypto-macsec-pl-oper

This module contains a collection of YANG definitions for Cisco IOS-XR crypto-macsec-pl package operational data. This module c...

  • Version: 2020-11-05

    Cisco-IOS-XR-crypto-macsec-pl-oper@2020-11-05


    
      module Cisco-IOS-XR-crypto-macsec-pl-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-macsec-pl-oper";
    
        prefix crypto-macsec-pl-oper;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        include Cisco-IOS-XR-crypto-macsec-pl-oper-sub1 {
          revision-date "2020-11-05";
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
    Customer Service
    
    Postal: 170 West Tasman Drive
    San Jose, CA 95134
    
    Tel: +1 800 553-NETS
    
    E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
    for Cisco IOS-XR crypto-macsec-pl package operational data.
    
    This module contains definitions
    for the following management objects:
      macsec-platform: MACSec operational data
    
    Copyright (c) 2013-2020 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2020-11-05" {
          description
            "Revison Update doe macsec pl oper";
        }
    
        revision "2019-12-05" {
          description
            "Revison Update doe macsec pl oper";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.2.0";
        semver:module-version "1.1.0";
    
        container macsec-platform {
          config false;
          description "MACSec operational data";
          container nodes {
            description
              "NodeTable for all the nodes";
            list node {
              key "node-name";
              description
                "Node where macsec interfaces exist";
              container interfaces {
                description
                  "Table of Interfaces";
                list interface {
                  key "name";
                  description
                    "Interface Where Macsec is configured";
                  container hw-statistics {
                    description
                      "The Hardware Statistics";
                    container ext {
                      description "ext";
                      container xlfpga-stats {
                        when
                          "../type = 'xlmsfpga'" {
                          description
                            "../type = 'XLMSFPGA'";
                        }
                        description
                          "XLFPGA Stats";
                        container macsec-tx-stats {
                          description
                            "Tx SC and SA Level Stats";
                          leaf sc-encrypted-octets {
                            type uint64;
                            description
                              "Tx Octets Encrypted";
                          }
    
                          leaf sc-toolong-pkts {
                            type uint64;
                            description
                              "Tx Pkts Too Long";
                          }
    
                          leaf sc-encrypted-pkts {
                            type uint64;
                            description
                              "Tx packets Encrypted";
                          }
    
                          leaf sc-untagged-pkts {
                            type uint64;
                            description
                              "Tx Untagged Packets";
                          }
    
                          leaf sc-overrun-pkts {
                            type uint64;
                            description
                              "Tx Overrun Packets";
                          }
    
                          leaf sc-bypass-pkts {
                            type uint64;
                            description
                              "Tx Bypass Packets";
                          }
    
                          leaf sc-eapol-pkts {
                            type uint64;
                            description
                              "Tx Eapol Packets";
                          }
    
                          leaf sc-dropped-pkts {
                            type uint64;
                            description
                              "Tx Dropped Packets";
                          }
    
                          leaf current-an {
                            type uint64;
                            description
                              "Current Tx AN";
                          }
    
                          leaf sa-encrypted-pkts {
                            type uint64;
                            description
                              "Current Tx SA Encrypted Packets";
                          }
                        }  // container macsec-tx-stats
    
                        container macsec-rx-stats {
                          description
                            "Rx SC and SA Level Stats";
                          leaf sc-decrypted-octets {
                            type uint64;
                            description
                              "Rx Octets Decrypted";
                          }
    
                          leaf sc-no-tag-pkts {
                            type uint64;
                            description
                              "Rx No Tag Packets";
                          }
    
                          leaf sc-untagged-pkts {
                            type uint64;
                            description
                              "Rx Untagged Packets";
                          }
    
                          leaf sc-bad-tag-pkts {
                            type uint64;
                            description
                              "Rx Bad Tag Packets";
                          }
    
                          leaf sc-late-pkts {
                            type uint64;
                            description
                              "Rx Late Pkts";
                          }
    
                          leaf sc-delayed-pkts {
                            type uint64;
                            description
                              "Rx Delayed Pkts";
                          }
    
                          leaf sc-unchecked-pkts {
                            type uint64;
                            description
                              "Rx Unchecked Pkts";
                          }
    
                          leaf sc-no-sci-pkts {
                            type uint64;
                            description
                              "Rx No SCI Pkts";
                          }
    
                          leaf sc-unknown-sci-pkts {
                            type uint64;
                            description
                              "Rx Unknown SCI Pkts";
                          }
    
                          leaf sc-ok-pkts {
                            type uint64;
                            description
                              "Rx Pkts Ok";
                          }
    
                          leaf sc-not-using-pkts {
                            type uint64;
                            description
                              "Rx Pkts Not Using SA";
                          }
    
                          leaf sc-unused-pkts {
                            type uint64;
                            description
                              "Rx Pkts Unused SA";
                          }
    
                          leaf sc-not-valid-pkts {
                            type uint64;
                            description
                              "Rx Not Valid Pkts";
                          }
    
                          leaf sc-invalid-pkts {
                            type uint64;
                            description
                              "Rx Pkts Invalid";
                          }
    
                          leaf sc-overrun-pkts {
                            type uint64;
                            description
                              "Rx Overrun Pkts";
                          }
    
                          leaf sc-bypass-pkts {
                            type uint64;
                            description
                              "Rx Bypass Packets";
                          }
    
                          leaf sc-eapol-pkts {
                            type uint64;
                            description
                              "Rx Eapol Packets";
                          }
    
                          leaf sc-dropped-pkts {
                            type uint64;
                            description
                              "Rx Dropped Packets";
                          }
    
                          list rx-sa-stat {
                            description
                              "Rx SA Level Stats";
                            leaf an {
                              type uint64;
                              description
                                "Current Rx AN";
                            }
    
                            leaf sa-ok-pkts {
                              type uint64;
                              description
                                "Rx Ok Pkts for Current AN";
                            }
    
                            leaf sa-not-using-pkts {
                              type uint64;
                              description
                                "Rx Pkts not using SA for Current AN";
                            }
    
                            leaf sa-unused-pkts {
                              type uint64;
                              description
                                "Rx Pkts Unused Pkts for Current AN";
                            }
    
                            leaf sa-not-valid-pkts {
                              type uint64;
                              description
                                "Rx Not Valid Pkts for Current AN";
                            }
    
                            leaf sa-invalid-pkts {
                              type uint64;
                              description
                                "Rx Invalid Pkts for current AN";
                            }
                          }  // list rx-sa-stat
                        }  // container macsec-rx-stats
                      }  // container xlfpga-stats
    
                      container es200-stats {
                        when
                          "../type = 'apm-es200'" {
                          description
                            "../type = 'APM_ES200'";
                        }
                        description
                          "ES200 Stats";
                        container tx-sa-stats {
                          description
                            "Tx SA Stats";
                          leaf out-pkts-too-long {
                            type uint64;
                            description
                              "packets exceeding egress MTU";
                          }
    
                          leaf out-pkts-encrypted-protected {
                            type uint64;
                            description
                              "packets encrypted/protected";
                          }
    
                          leaf out-octets-encrypted-protected1 {
                            type uint64;
                            description
                              "octets1 encrypted/protected ?";
                          }
                        }  // container tx-sa-stats
    
                        container rx-sa-stats {
                          description
                            "Rx SA Stats";
                          leaf in-pkts-unchecked {
                            type uint64;
                            description
                              "frame not valid & validateFrames disabled";
                          }
    
                          leaf in-pkts-delayed {
                            type uint64;
                            description
                              "PN of packet outside replay window &
    validateFrames !strict";
                          }
    
                          leaf in-pkts-late {
                            type uint64;
                            description
                              "PN of packet outside replay window &
    validateFrames strict";
                          }
    
                          leaf in-pkts-ok {
                            type uint64;
                            description
                              "packets with no error";
                          }
    
                          leaf in-pkts-invalid {
                            type uint64;
                            description
                              "packet not valid & validateFrames !strict";
                          }
    
                          leaf in-pkts-not-valid {
                            type uint64;
                            description
                              "packet not valid & validateFrames strict";
                          }
    
                          leaf in-pkts-not-using-sa {
                            type uint64;
                            description
                              "packet assigned to SA not in use &
    validateFrames strict";
                          }
    
                          leaf in-pkts-unused-sa {
                            type uint64;
                            description
                              "packet assigned to SA not in use &
    validateFrames !strict";
                          }
    
                          leaf in-octets-decrypted-validated1 {
                            type uint64;
                            description
                              "octets1 decrypted/validated";
                          }
    
                          leaf in-octets-validated {
                            type uint64;
                            description
                              "octets validated";
                          }
                        }  // container rx-sa-stats
    
                        container tx-sc-macsec-stats {
                          description
                            "Tx SC Macsec Stats";
                          leaf out-pkts-sa-not-in-use {
                            type uint64;
                            description
                              "Packets received with SA not in use";
                          }
                        }  // container tx-sc-macsec-stats
    
                        container rx-sc-macsec-stats {
                          description
                            "Rx SC Macsec Stats";
                          leaf in-pkts-sa-not-in-use {
                            type uint64;
                            description
                              "Packets received with SA not in use";
                          }
                        }  // container rx-sc-macsec-stats
    
                        container tx-interface-macsec-stats {
                          description
                            "Tx interface Macsec Stats";
                          leaf transform-error-pkts {
                            type uint64;
                            description
                              "counter to count internal errors in the MACSec
    core";
                          }
    
                          leaf out-pkt-ctrl {
                            type uint64;
                            description
                              "egress packet that is classified as control
    packet";
                          }
    
                          leaf out-pkts-untagged {
                            type uint64;
                            description
                              "egress packet to go out untagged when
    protectFrames not set";
                          }
    
                          leaf out-octets-unctrl {
                            type uint64;
                            description
                              "Octets tx on uncontrolled port";
                          }
    
                          leaf out-octets-ctrl {
                            type uint64;
                            description
                              "Octets tx on controlled port";
                          }
    
                          leaf out-octets-common {
                            type uint64;
                            description
                              "Octets tx on common port";
                          }
    
                          leaf out-ucast-pkts-unctrl {
                            type uint64;
                            description
                              "Unicast pkts tx on uncontrolled port";
                          }
    
                          leaf out-ucast-pkts-ctrl {
                            type uint64;
                            description
                              "Unicast pkts tx on controlled port";
                          }
    
                          leaf out-mcast-pkts-unctrl {
                            type uint64;
                            description
                              "Multicast pkts tx on uncontrolled port";
                          }
    
                          leaf out-mcast-pkts-ctrl {
                            type uint64;
                            description
                              "Multicast pkts tx on controlled port";
                          }
    
                          leaf out-bcast-pkts-unctrl {
                            type uint64;
                            description
                              "Broadcast pkts tx on uncontrolled port";
                          }
    
                          leaf out-bcast-pkts-ctrl {
                            type uint64;
                            description
                              "Broadcast pkts tx on controlled port";
                          }
    
                          leaf out-rx-drop-pkts-unctrl {
                            type uint64;
                            description
                              "Control pkts dropped due to overrun";
                          }
    
                          leaf out-rx-drop-pkts-ctrl {
                            type uint64;
                            description
                              "Data pkts dropped due to overrun";
                          }
    
                          leaf out-rx-err-pkts-unctrl {
                            type uint64;
                            description
                              "Control pkts error-terminated due to overrun";
                          }
    
                          leaf out-rx-err-pkts-ctrl {
                            type uint64;
                            description
                              "Data pkts error-terminated due to overrun";
                          }
    
                          leaf out-drop-pkts-class {
                            type uint64;
                            description
                              "Packets dropped due to overflow in
    classification pipeline";
                          }
    
                          leaf out-drop-pkts-data {
                            type uint64;
                            description
                              "Packets dropped due to overflow in  processing
    pipeline";
                          }
                        }  // container tx-interface-macsec-stats
    
                        container rx-interface-macsec-stats {
                          description
                            "Rx interface Macsec Stats";
                          leaf transform-error-pkts {
                            type uint64;
                            description
                              "counter to count internal errors in the MACSec
    core";
                          }
    
                          leaf in-pkt-ctrl {
                            type uint64;
                            description
                              "ingress packet that is classified as control
    packet";
                          }
    
                          leaf in-pkt-no-tag {
                            type uint64;
                            description
                              "ingress packet untagged & validateFrames is
    strict";
                          }
    
                          leaf in-pkts-untagged {
                            type uint64;
                            description
                              "ingress packet untagged & validateFrames is
    !strict";
                          }
    
                          leaf in-pkt-bad-tag {
                            type uint64;
                            description
                              "ingress frames received with an invalid MACSec
    tag or ICV
    added with next one gives InPktsSCIMiss";
                          }
    
                          leaf in-pkt-no-sci {
                            type uint64;
                            description
                              "correctly tagged ingress frames for which no
    valid SC found &
    validateFrames is strict";
                          }
    
                          leaf in-pkts-unknown-sci {
                            type uint64;
                            description
                              "correctly tagged ingress frames for which no
    valid SC found &
    validateFrames is !strict";
                          }
    
                          leaf in-pkts-tagged-ctrl {
                            type uint64;
                            description
                              "ingress packets that are control or KaY packets";
                          }
    
                          leaf in-octets-unctrl {
                            type uint64;
                            description
                              "Octets rx on uncontrolled port";
                          }
    
                          leaf in-octets-ctrl {
                            type uint64;
                            description
                              "Octets rx on controlled port";
                          }
    
                          leaf in-ucast-pkts-unctrl {
                            type uint64;
                            description
                              "Unicast pkts rx on uncontrolled port";
                          }
    
                          leaf in-ucast-pkts-ctrl {
                            type uint64;
                            description
                              "Unicast pkts rx on controlled port";
                          }
    
                          leaf in-mcast-pkts-unctrl {
                            type uint64;
                            description
                              "Multicast pkts rx on uncontrolled port";
                          }
    
                          leaf in-mcast-pkts-ctrl {
                            type uint64;
                            description
                              "Multicast pkts rx on controlled port";
                          }
    
                          leaf in-bcast-pkts-unctrl {
                            type uint64;
                            description
                              "Broadcast pkts rx on uncontrolled port";
                          }
    
                          leaf in-bcast-pkts-ctrl {
                            type uint64;
                            description
                              "Broadcast pkts rx on controlled port";
                          }
    
                          leaf in-rx-drop-pkts-unctrl {
                            type uint64;
                            description
                              "Control pkts dropped due to overrun";
                          }
    
                          leaf in-rx-drop-pkts-ctrl {
                            type uint64;
                            description
                              "Data pkts dropped due to overrun";
                          }
    
                          leaf in-rx-error-pkts-unctrl {
                            type uint64;
                            description
                              "Control pkts error-terminated due to overrun";
                          }
    
                          leaf in-rx-error-pkts-ctrl {
                            type uint64;
                            description
                              "Data pkts error-terminated due to overrun";
                          }
    
                          leaf in-drop-pkts-class {
                            type uint64;
                            description
                              "Packets dropped due to overflow in
    classification pipeline";
                          }
    
                          leaf in-drop-pkts-data {
                            type uint64;
                            description
                              "Packets dropped due to overflow in processing
    pipeline";
                          }
                        }  // container rx-interface-macsec-stats
    
                        container tx-port-stats {
                          description
                            "Port level TX Stats";
                          leaf multi-flow-match {
                            type uint64;
                            description
                              "Pkts matching multiple flow entries";
                          }
    
                          leaf parser-dropped {
                            type uint64;
                            description
                              "Pkts dropped by header parser as invalid";
                          }
    
                          leaf flow-miss {
                            type uint64;
                            description
                              "Pkts matching none of flow entries";
                          }
    
                          leaf pkts-ctrl {
                            type uint64;
                            description
                              "Control pkts forwarded";
                          }
    
                          leaf pkts-data {
                            type uint64;
                            description
                              "Data pkts forwarded";
                          }
    
                          leaf pkts-dropped {
                            type uint64;
                            description
                              "Pkts dropped by classifier";
                          }
    
                          leaf pkts-err-in {
                            type uint64;
                            description
                              "Pkts received with an error indication";
                          }
                        }  // container tx-port-stats
    
                        container rx-port-stats {
                          description
                            "Port level RX Stats";
                          leaf multi-flow-match {
                            type uint64;
                            description
                              "Pkts matching multiple flow entries";
                          }
    
                          leaf parser-dropped {
                            type uint64;
                            description
                              "Pkts dropped by header parser as invalid";
                          }
    
                          leaf flow-miss {
                            type uint64;
                            description
                              "Pkts matching none of flow entries";
                          }
    
                          leaf pkts-ctrl {
                            type uint64;
                            description
                              "Control pkts forwarded";
                          }
    
                          leaf pkts-data {
                            type uint64;
                            description
                              "Data pkts forwarded";
                          }
    
                          leaf pkts-dropped {
                            type uint64;
                            description
                              "Pkts dropped by classifier";
                          }
    
                          leaf pkts-err-in {
                            type uint64;
                            description
                              "Pkts received with an error indication";
                          }
                        }  // container rx-port-stats
                      }  // container es200-stats
    
                      container mv88ec808-stats {
                        when
                          "../type = 'mv88ec808'" {
                          description
                            "../type = 'MV88EC808'";
                        }
                        description
                          "MV88EC808 Stats";
                        container eg-stat {
                          description
                            "Egress SA Stats of active SA";
                          leaf an-no {
                            type uint8;
                            description
                              "AN Number";
                          }
    
                          leaf sa-no {
                            type uint32;
                            description
                              "Sa Number";
                          }
    
                          leaf port-no {
                            type uint32;
                            description
                              "Port Number";
                          }
    
                          leaf out-pkts-too-long {
                            type uint64;
                            description
                              "exceeding egress MTU";
                          }
    
                          leaf out-pkts-encrypted-protected {
                            type uint64;
                            description
                              "encrypted/protected";
                          }
    
                          leaf out-octets-encrypted-protected1 {
                            type uint64;
                            description
                              "octets1 encrypted/protected";
                          }
    
                          leaf out-octets-encrypted-protected2 {
                            type uint64;
                            description
                              "octets2 encrypted/protected";
                          }
                        }  // container eg-stat
    
                        container glb-stat-i {
                          description
                            "Igress Global Stats";
                          leaf transform-error-pkts {
                            type uint64;
                            description
                              "internal errors in the MACSec core ";
                          }
    
                          leaf in-pkt-ctrl {
                            type uint64;
                            description
                              "ingress control packet";
                          }
    
                          leaf in-pkt-no-tag {
                            type uint64;
                            description
                              "untagged & validateFrames is strict";
                          }
    
                          leaf in-pkts-untagged {
                            type uint64;
                            description
                              "untagged & validateFrames is !strict";
                          }
    
                          leaf in-pkts-tagged {
                            type uint64;
                            description
                              "valid MACSec tag - non Std";
                          }
    
                          leaf in-pkt-bad-tag {
                            type uint64;
                            description
                              "invalid MACSec tag or ICV";
                          }
    
                          leaf in-pkts-untagged-miss {
                            type uint64;
                            description
                              "untagged did not match any SA";
                          }
    
                          leaf in-pkt-no-sci {
                            type uint64;
                            description
                              "no valid SC & validateFrames is strict";
                          }
    
                          leaf in-pkts-unknown-sci {
                            type uint64;
                            description
                              "no valid SC found & validateFrames is !strict";
                          }
    
                          leaf in-consist-check-controlled-not-pass {
                            type uint64;
                            description
                              "ccfailed destined to controlled port";
                          }
    
                          leaf in-consist-check-uncontrolled-not-pass {
                            type uint64;
                            description
                              "ccfailed destined to uncontrolled port";
                          }
    
                          leaf in-consist-check-controlled-pass {
                            type uint64;
                            description
                              "ccpassed destined to controlled port";
                          }
    
                          leaf in-consist-check-uncontrolled-pass {
                            type uint64;
                            description
                              "ccpassed destined to uncontrolled port";
                          }
    
                          leaf in-over-sized-pkts {
                            type uint64;
                            description
                              " greater than configured MTU";
                          }
                        }  // container glb-stat-i
    
                        container glb-stat-e {
                          description
                            "Egress Global Stats";
                          leaf transform-error-pkts {
                            type uint64;
                            description
                              "internal errors in the MACSec core";
                          }
    
                          leaf out-pkt-ctrl {
                            type uint64;
                            description
                              "control packet";
                          }
    
                          leaf out-pkts-unknown-sa {
                            type uint64;
                            description
                              "not matching any SA";
                          }
    
                          leaf out-pkts-untagged {
                            type uint64;
                            description
                              "untagged when protectFrames not set";
                          }
    
                          leaf out-over-sized-pkts {
                            type uint64;
                            description
                              "packet greater than the configured MTU";
                          }
                        }  // container glb-stat-e
    
                        list ig-stat {
                          description
                            "Igress SA Stats of active SA";
                          leaf an-no {
                            type uint8;
                            description
                              "AN Number";
                          }
    
                          leaf sa-no {
                            type uint32;
                            description
                              "Sa Number";
                          }
    
                          leaf port-no {
                            type uint32;
                            description
                              "Port Number";
                          }
    
                          leaf in-pkts-unchecked {
                            type uint64;
                            description
                              "frame not valid & validateFrames disabled";
                          }
    
                          leaf in-pkts-delayed {
                            type uint64;
                            description
                              "PN of packet outside replay window &
    validateFrames !strict";
                          }
    
                          leaf in-pkts-late {
                            type uint64;
                            description
                              "PN of packet outside replay window &
    validateFrames strict";
                          }
    
                          leaf in-pkts-ok {
                            type uint64;
                            description
                              "packets with no error";
                          }
    
                          leaf in-pkts-invalid {
                            type uint64;
                            description
                              "packet not valid & validateFrames !strict";
                          }
    
                          leaf in-pkts-not-valid {
                            type uint64;
                            description
                              "packet not valid & validateFrames strict ";
                          }
    
                          leaf in-pkts-not-using-sa {
                            type uint64;
                            description
                              "packet assigned to SA not in use &
    validateFrames strict";
                          }
    
                          leaf in-pkts-unused-sa {
                            type uint64;
                            description
                              "packet assigned to SA not in use &
    validateFrames !strict";
                          }
    
                          leaf in-pkts-untagged-hit {
                            type uint64;
                            description
                              "packet assigned to SA but not tagged
    (non-standard)";
                          }
    
                          leaf in-octets-decrypted-validated1 {
                            type uint64;
                            description
                              "octets1 decrypted/validated";
                          }
    
                          leaf in-octets-decrypted-validated2 {
                            type uint64;
                            description
                              "octets2 decrypted/validated";
                          }
                        }  // list ig-stat
                      }  // container mv88ec808-stats
    
                      container x120-stats {
                        when
                          "../type = 'apm-x120'" {
                          description
                            "../type = 'APM_X120'";
                        }
                        description "X120 Stats";
                        container tx-sa-stats {
                          description
                            "Tx SA Stats";
                          leaf out-pkts-too-long {
                            type uint64;
                            description
                              "packets exceeding egress MTU";
                          }
    
                          leaf out-pkts-encrypted-protected {
                            type uint64;
                            description
                              "packets encrypted/protected";
                          }
    
                          leaf out-octets-encrypted-protected1 {
                            type uint64;
                            description
                              "octets1 encrypted/protected ?";
                          }
                        }  // container tx-sa-stats
    
                        container rx-sa-stats {
                          description
                            "Rx SA Stats";
                          leaf in-pkts-unchecked {
                            type uint64;
                            description
                              "frame not valid & validateFrames disabled";
                          }
    
                          leaf in-pkts-delayed {
                            type uint64;
                            description
                              "PN of packet outside replay window &
    validateFrames !strict";
                          }
    
                          leaf in-pkts-late {
                            type uint64;
                            description
                              "PN of packet outside replay window &
    validateFrames strict";
                          }
    
                          leaf in-pkts-ok {
                            type uint64;
                            description
                              "packets with no error";
                          }
    
                          leaf in-pkts-invalid {
                            type uint64;
                            description
                              "packet not valid & validateFrames !strict";
                          }
    
                          leaf in-pkts-not-valid {
                            type uint64;
                            description
                              "packet not valid & validateFrames strict";
                          }
    
                          leaf in-pkts-not-using-sa {
                            type uint64;
                            description
                              "packet assigned to SA not in use &
    validateFrames strict";
                          }
    
                          leaf in-pkts-unused-sa {
                            type uint64;
                            description
                              "packet assigned to SA not in use &
    validateFrames !strict";
                          }
    
                          leaf in-octets-decrypted-validated1 {
                            type uint64;
                            description
                              "octets1 decrypted/validated";
                          }
    
                          leaf in-octets-validated {
                            type uint64;
                            description
                              "octets validated";
                          }
    
                          leaf in-pkts-untagged-hit {
                            type uint64;
                            description
                              "packet assigned to SA but not tagged
    (non-standard)";
                          }
                        }  // container rx-sa-stats
    
                        container tx-interface-macsec-stats {
                          description
                            "Tx interface Macsec Stats";
                          leaf transform-error-pkts {
                            type uint64;
                            description
                              "counter to count internal errors in the MACSec
    core";
                          }
    
                          leaf out-pkt-ctrl {
                            type uint64;
                            description
                              "egress packet that is classified as control
    packet";
                          }
    
                          leaf out-pkts-untagged {
                            type uint64;
                            description
                              "egress packet to go out untagged when
    protectFrames not set";
                          }
    
                          leaf out-pkts-unknown-sa {
                            type uint64;
                            description
                              "egress packet not matching any  SA";
                          }
    
                          leaf out-over-sized-pkts {
                            type uint64;
                            description
                              "egress packet with size greater than the
    configured MTU";
                          }
                        }  // container tx-interface-macsec-stats
    
                        container rx-interface-macsec-stats {
                          description
                            "Rx interface Macsec Stats";
                          leaf transform-error-pkts {
                            type uint64;
                            description
                              "counter to count internal errors in the MACSec
    core";
                          }
    
                          leaf in-pkt-ctrl {
                            type uint64;
                            description
                              "ingress packet that is classified as control
    packet";
                          }
    
                          leaf in-pkt-no-tag {
                            type uint64;
                            description
                              "ingress packet untagged & validateFrames is
    strict";
                          }
    
                          leaf in-pkts-untagged {
                            type uint64;
                            description
                              "ingress packet untagged & validateFrames is
    !strict";
                          }
    
                          leaf in-pkt-bad-tag {
                            type uint64;
                            description
                              "ingress frames received with an invalid MACSec
    tag or ICV
    added with next one gives InPktsSCIMiss";
                          }
    
                          leaf in-pkt-no-sci {
                            type uint64;
                            description
                              "correctly tagged ingress frames for which no
    valid SC found &
    validateFrames is strict";
                          }
    
                          leaf in-pkts-unknown-sci {
                            type uint64;
                            description
                              "correctly tagged ingress frames for which no
    valid SC found &
    validateFrames is !strict";
                          }
    
                          leaf in-pkts-tagged {
                            type uint64;
                            description
                              "ingress frames received with a valid MACSec tag
    - non Std";
                          }
    
                          leaf in-pkts-untagged-miss {
                            type uint64;
                            description
                              "untagged ingress frame that did not match any SA";
                          }
    
                          leaf in-over-sized-pkts {
                            type uint64;
                            description
                              "ingress packet with size greater than configured
    MTU";
                          }
                        }  // container rx-interface-macsec-stats
                      }  // container x120-stats
    
                      container metadx-stats {
                        when
                          "../type = 'meta-dx1'" {
                          description
                            "../type = 'META_DX1'";
                        }
                        description
                          "META_DX1 Stats";
                        container eg-sa-stat {
                          description
                            "Egress current SA Stats";
                          leaf an-no {
                            type uint8;
                            description
                              "AN Number";
                          }
    
                          leaf sa-no {
                            type uint32;
                            description
                              "Sa Number";
                          }
    
                          leaf port-no {
                            type uint32;
                            description
                              "Port Number";
                          }
    
                          leaf pkts-encrypted-protected {
                            type uint64;
                            description
                              "No of packets encrypted by the SA";
                          }
    
                          leaf pkts-too-long {
                            type uint64;
                            description
                              "No of packets with packet length larger than max
    length configured";
                          }
    
                          leaf pkts-sa-not-in-use {
                            type uint64;
                            description
                              "No of packets that reached an unused SA";
                          }
    
                          leaf octets-encrypted-protected {
                            type uint64;
                            description
                              "No of octets of User Data encrypted";
                          }
                        }  // container eg-sa-stat
    
                        container eg-sc-stat {
                          description
                            "Egress SC Stats ";
                          leaf port-no {
                            type uint32;
                            description
                              "Port Number";
                          }
    
                          leaf pkts-encrypted-protected {
                            type uint64;
                            description
                              "No of packets encrypted by the SA";
                          }
    
                          leaf pkts-too-long {
                            type uint64;
                            description
                              "No of packets with packet length larger than max
    length configured";
                          }
    
                          leaf pkts-sa-not-in-use {
                            type uint64;
                            description
                              "No of packets that reached an unused SA";
                          }
    
                          leaf octets-encrypted-protected {
                            type uint64;
                            description
                              "No of octets of User Data encrypted";
                          }
                        }  // container eg-sc-stat
    
                        container ig-sc-stat {
                          description
                            "Igress SC Stats ";
                          leaf port-no {
                            type uint32;
                            description
                              "Port Number";
                          }
    
                          leaf pkts-unchecked {
                            type uint64;
                            description
                              "No of pkts with invalid frame indication";
                          }
    
                          leaf pkts-delayed {
                            type uint64;
                            description
                              "No of pkts with PN below lowest PN";
                          }
    
                          leaf pkts-late {
                            type uint64;
                            description
                              "No of pkts with PN below lowest PN and
    replayProtect enabled";
                          }
    
                          leaf pkts-ok {
                            type uint64;
                            description
                              "No of valid pkts processed";
                          }
    
                          leaf pkts-invalid {
                            type uint64;
                            description
                              "No of pkts that were invalid frames for
    controlled port";
                          }
    
                          leaf pkts-not-valid {
                            type uint64;
                            description
                              "No of controlled port pkts received at
    uncontrolled port";
                          }
    
                          leaf pkts-not-using-sa {
                            type uint64;
                            description
                              "No of uncontrolled port pkts that reached not in
    use SA";
                          }
    
                          leaf pkts-unused-sa {
                            type uint64;
                            description
                              "No of controlled port pkts that reached upto SA";
                          }
    
                          leaf octets-decrypted {
                            type uint64;
                            description
                              "No of octets of User Data recovered from rx
    frames that were only encrypted or both
    integrity protected and encrypted";
                          }
    
                          leaf octets-validated {
                            type uint64;
                            description
                              "No of octets of User Data recovered from rx
    frames that were integrity protected but not
    encrypted";
                          }
                        }  // container ig-sc-stat
    
                        container eg-int-stat {
                          description
                            "Egress Vport, channel and rule stats of SC";
                          leaf port-no {
                            type uint32;
                            description
                              "front pannel PORT Number";
                          }
    
                          leaf vport-no {
                            type uint32;
                            description
                              "VPORT ID or Number";
                          }
    
                          leaf rule-no {
                            type uint32;
                            description
                              "Rule ID or Number";
                          }
    
                          leaf pkts-xform-err {
                            type uint64;
                            description
                              "No of pkts that encountered transform engine
    errors";
                          }
    
                          leaf ctrl-pkts {
                            type uint64;
                            description
                              "No of pkts processed as control pkts";
                          }
    
                          leaf untagged-pkts {
                            type uint64;
                            description
                              "No of pkts processed as untagged";
                          }
    
                          leaf multiple-rule-match {
                            type uint64;
                            description
                              "No of pkts received with multiple matching
    classification rules";
                          }
    
                          leaf header-parser-drop {
                            type uint64;
                            description
                              "No of pkts dropped by the header parser as
    invalid";
                          }
    
                          leaf rule-mis-match {
                            type uint64;
                            description
                              "No of pkts that did not match any classification
    rules";
                          }
    
                          leaf ctrl-pkt-match {
                            type uint64;
                            description
                              "No of pkts forwarded as control pkts";
                          }
    
                          leaf data-pkt-match {
                            type uint64;
                            description
                              "No of pkts forwarded as data pkts";
                          }
    
                          leaf dropped-pkts {
                            type uint64;
                            description
                              "No of pkts dropped due to classification";
                          }
    
                          leaf in-error-pkts {
                            type uint64;
                            description
                              "No of pkts marked with error packet indication
    before classification";
                          }
    
                          leaf rule-match {
                            type uint64;
                            description
                              "Count of hits matching TCAM";
                          }
                        }  // container eg-int-stat
    
                        container ig-int-stat {
                          description
                            "Ingress Vport, channel and rule stats of SC";
                          leaf port-no {
                            type uint32;
                            description
                              "front pannel PORT Number";
                          }
    
                          leaf vport-no {
                            type uint32;
                            description
                              "VPORT Number";
                          }
    
                          leaf rule-no {
                            type uint32;
                            description
                              " Rule Number";
                          }
    
                          leaf pkts-xform-err {
                            type uint64;
                            description
                              "No of pkts that encountered transform engine
    errors";
                          }
    
                          leaf ctrl-pkts {
                            type uint64;
                            description
                              "No of pkts processed as control pkts";
                          }
    
                          leaf untagged-pkts {
                            type uint64;
                            description
                              "No of pkts processed as untagged";
                          }
    
                          leaf no-tag-pkts {
                            type uint64;
                            description
                              "No of pkts processed as no tag";
                          }
    
                          leaf bad-tag-pkts {
                            type uint64;
                            description
                              "No of pkts processed as bad tagged pkts";
                          }
    
                          leaf no-sci-match-pkts {
                            type uint64;
                            description
                              "No of uncontrolled port pkts dropped as No
    Matching SCI";
                          }
    
                          leaf unknwn-sci-match-pkts {
                            type uint64;
                            description
                              "No of controlled port pkts processed as Unknown
    Matching SCI";
                          }
    
                          leaf tagged-ctrl-pkts {
                            type uint64;
                            description
                              "No of pkts processed as control packet and
    tagged (KaY pkts)";
                          }
    
                          leaf multiple-rule-match {
                            type uint64;
                            description
                              "No of pkts received with multiple matching
    classification rules";
                          }
    
                          leaf header-parser-drop {
                            type uint64;
                            description
                              "No of pkts dropped by the header parser as
    invalid";
                          }
    
                          leaf rule-mis-match {
                            type uint64;
                            description
                              "No of pkts that did not match any classification
    rules";
                          }
    
                          leaf ctrl-pkt-match {
                            type uint64;
                            description
                              "No of pkts forwarded as control pkts";
                          }
    
                          leaf data-pkt-match {
                            type uint64;
                            description
                              "No of pkts forwarded as data pkts";
                          }
    
                          leaf dropped-pkts {
                            type uint64;
                            description
                              "No of pkts dropped due to classification";
                          }
    
                          leaf in-error-pkts {
                            type uint64;
                            description
                              "No of pkts marked with error packet indication
    before classification";
                          }
    
                          leaf rule-match {
                            type uint64;
                            description
                              "Count of hits matching TCAM";
                          }
                        }  // container ig-int-stat
    
                        container eg-glb-stat {
                          description
                            "Egress Global common Stats";
                          leaf vport-no {
                            type uint32;
                            description
                              "VPORT Number";
                          }
    
                          leaf uc-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of Unicast pkts over uncontrolled port";
                          }
    
                          leaf mc-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of Multicast pkts over uncontrolled port";
                          }
    
                          leaf bc-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of Broadcast pkts over uncontrolled port";
                          }
    
                          leaf rx-drop-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of rx_drop pkts over uncontrolled port";
                          }
    
                          leaf rx-err-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of rx_err pkts over uncontrolled port";
                          }
    
                          leaf uc-pkts-controlled {
                            type uint64;
                            description
                              "No of Unicast pkts over controlled port";
                          }
    
                          leaf mc-pkts-controlled {
                            type uint64;
                            description
                              "No of Multicast pkts over controlled port";
                          }
    
                          leaf bc-pkts-controlled {
                            type uint64;
                            description
                              "No of Broadcast pkts over controlled port";
                          }
    
                          leaf rx-drop-pkts-controlled {
                            type uint64;
                            description
                              "No of rx_drop pkts over controlled port";
                          }
    
                          leaf rx-err-pkts-controlled {
                            type uint64;
                            description
                              "No of rx_err pkts over controlled port";
                          }
    
                          leaf total-bytes-uncontrolled {
                            type uint64;
                            description
                              "Sum of all the octets of MSDUs delivered to
    uncontrolled port";
                          }
    
                          leaf total-bytes-controlled {
                            type uint64;
                            description
                              "Sum of all the octets of MSDUs delivered to
    controlled port";
                          }
                        }  // container eg-glb-stat
    
                        container ig-glb-stat {
                          description
                            "Ingress Global common Stats";
                          leaf vport-no {
                            type uint32;
                            description
                              "VPORT Number";
                          }
    
                          leaf uc-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of Unicast pkts over uncontrolled port";
                          }
    
                          leaf mc-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of Multicast pkts over uncontrolled port";
                          }
    
                          leaf bc-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of Broadcast pkts over uncontrolled port";
                          }
    
                          leaf rx-drop-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of rx_drop pkts over uncontrolled port";
                          }
    
                          leaf rx-err-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of rx_err pkts over uncontrolled port";
                          }
    
                          leaf uc-pkts-controlled {
                            type uint64;
                            description
                              "No of Unicast pkts over controlled port";
                          }
    
                          leaf mc-pkts-controlled {
                            type uint64;
                            description
                              "No of Multicast pkts over controlled port";
                          }
    
                          leaf bc-pkts-controlled {
                            type uint64;
                            description
                              "No of Broadcast pkts over controlled port";
                          }
    
                          leaf rx-drop-pkts-controlled {
                            type uint64;
                            description
                              "No of rx_drop pkts over controlled port";
                          }
    
                          leaf rx-err-pkts-controlled {
                            type uint64;
                            description
                              "No of rx_err pkts over controlled port";
                          }
    
                          leaf total-bytes-uncontrolled {
                            type uint64;
                            description
                              "Sum of all the octets of MSDUs delivered to
    uncontrolled port";
                          }
    
                          leaf total-bytes-controlled {
                            type uint64;
                            description
                              "Sum of all the octets of MSDUs delivered to
    controlled port";
                          }
                        }  // container ig-glb-stat
    
                        list ig-sa-stat {
                          description
                            "Ingress current SA Stats";
                          leaf an-no {
                            type uint8;
                            description
                              "AN Number";
                          }
    
                          leaf sa-no {
                            type uint32;
                            description
                              "Sa Number";
                          }
    
                          leaf port-no {
                            type uint32;
                            description
                              "Port Number";
                          }
    
                          leaf pkts-unchecked {
                            type uint64;
                            description
                              "No of pkts with invalid frame indication";
                          }
    
                          leaf pkts-delayed {
                            type uint64;
                            description
                              "No of pkts with PN below lowest PN";
                          }
    
                          leaf pkts-late {
                            type uint64;
                            description
                              "No of pkts with PN below lowest PN and
    replayProtect enabled";
                          }
    
                          leaf pkts-ok {
                            type uint64;
                            description
                              "No of valid pkts processed";
                          }
    
                          leaf pkts-invalid {
                            type uint64;
                            description
                              "No of pkts that were invalid frames for
    controlled port";
                          }
    
                          leaf pkts-not-valid {
                            type uint64;
                            description
                              "No of controlled port pkts received at
    uncontrolled port";
                          }
    
                          leaf pkts-not-using-sa {
                            type uint64;
                            description
                              "No of uncontrolled port pkts that reached not in
    use SA";
                          }
    
                          leaf pkts-unused-sa {
                            type uint64;
                            description
                              "No of controlled port pkts that reached upto SA";
                          }
    
                          leaf octets-decrypted {
                            type uint64;
                            description
                              "No of octets of User Data recovered from rx
    frames that were only encrypted or both
    integrity protected and encrypted";
                          }
    
                          leaf octets-validated {
                            type uint64;
                            description
                              "No of octets of User Data recovered from rx
    frames that were integrity protected but not
    encrypted";
                          }
                        }  // list ig-sa-stat
                      }  // container metadx-stats
    
                      leaf type {
                        type Macsec-phy-vendor;
                        description "type";
                      }
                    }  // container ext
                  }  // container hw-statistics
    
                  container hw-sas {
                    description
                      "Table of Hardware SAs";
                    list hw-sa {
                      key "sa-id";
                      description
                        "Hardware Security Association";
                      leaf sa-id {
                        type uint32;
                        description "SA ID";
                      }
    
                      container ext {
                        description "ext";
                        container xlfpga-sa {
                          when
                            "../type = 'xlmsfpga'" {
                            description
                              "../type = 'XLMSFPGA'";
                          }
                          description
                            "XLFPGA SA Information";
                          container tx-sa {
                            description
                              "Tx SA Details";
                            leaf protection-enable {
                              type boolean;
                              description
                                "Protection Enabled";
                            }
    
                            leaf secure-mode {
                              type uint8;
                              description
                                "Secure Mode - Must/Should";
                            }
    
                            leaf secure-channel-id {
                              type string {
                                length "0..24";
                              }
                              description
                                "Secure Channel ID";
                            }
    
                            leaf sectag-length {
                              type uint32;
                              units "byte";
                              description
                                "Sec Tag Length(bytes) ";
                            }
    
                            leaf cipher-suite {
                              type uint32;
                              description
                                "Cipher Suite Used";
                            }
    
                            leaf confidentiality-offset {
                              type uint8;
                              description
                                "Confidentiality Offset";
                            }
    
                            leaf fcs-err-cfg {
                              type uint8;
                              description
                                "FCS Error Config";
                            }
    
                            leaf max-packet-num {
                              type uint64;
                              description
                                "Max Packet Number";
                            }
    
                            leaf an {
                              type uint8;
                              description
                                "Association Number";
                            }
    
                            leaf initial-packet-number {
                              type uint64;
                              description
                                "Initial Packet Number";
                            }
    
                            leaf ssci {
                              type uint32;
                              description
                                "Short Secure Channel ID";
                            }
    
                            leaf current-packet-num {
                              type uint64;
                              description
                                "Current Packet Number";
                            }
    
                            leaf crc-value {
                              type uint32;
                              description
                                "CRC Value";
                            }
                          }  // container tx-sa
    
                          container rx-sa {
                            description
                              "Rx SA Details";
                            leaf protection-enable {
                              type boolean;
                              description
                                "Protection Enabled";
                            }
    
                            leaf secure-mode {
                              type uint32;
                              description
                                "Secure Mode - Must/Should";
                            }
    
                            leaf replay-protect-mode {
                              type boolean;
                              description
                                "Replay Protect Mode";
                            }
    
                            leaf validation-mode {
                              type uint32;
                              description
                                "Validation Mode";
                            }
    
                            leaf replay-window {
                              type uint32;
                              description
                                "Replay Window ";
                            }
    
                            leaf secure-channel-id {
                              type string {
                                length "0..24";
                              }
                              description
                                "Secure Channel ID";
                            }
    
                            leaf cipher-suite {
                              type uint32;
                              description
                                "Cipher Suite Used";
                            }
    
                            leaf confidentiality-offset {
                              type uint8;
                              description
                                "Confidentiality Offset";
                            }
    
                            leaf fcs-err-cfg {
                              type uint32;
                              description
                                "FCS Error Config";
                            }
    
                            leaf auth-err-cfg {
                              type uint32;
                              description
                                "Auth  Error Config";
                            }
    
                            leaf max-packet-num {
                              type uint64;
                              description
                                "Max Packet Number";
                            }
    
                            leaf num-an-in-use {
                              type uint32;
                              description
                                "Num of AN's in Use";
                            }
    
                            leaf an {
                              type yang:hex-string;
                              description
                                "Association Number";
                            }
    
                            leaf recent-an {
                              type uint8;
                              description
                                "Recent Association Num";
                            }
    
                            leaf pkt-untagged-detected {
                              type boolean;
                              description
                                "Untagged Pkts Detected";
                            }
    
                            leaf pkt-tagged-detected {
                              type boolean;
                              description
                                "Tagged Pkts Detected";
                            }
    
                            leaf pkt-tagged-validated {
                              type boolean;
                              description
                                "Tagged Pkts Validated";
                            }
    
                            leaf current-packet-num {
                              type uint64;
                              description
                                "Current Packet Number";
                            }
    
                            leaf-list ssci {
                              type uint32;
                              max-elements 4;
                              description
                                "Short Secure Channel ID";
                            }
    
                            leaf-list lowest-acceptable-packet-num {
                              type uint64;
                              max-elements 4;
                              description
                                "Lowest Acceptable Packet Number";
                            }
    
                            leaf-list next-expected-packet-num {
                              type uint64;
                              max-elements 4;
                              description
                                "Next expected Packet Number";
                            }
    
                            leaf-list crc-value {
                              type uint32;
                              max-elements 4;
                              description
                                "CRC Value";
                            }
                          }  // container rx-sa
                        }  // container xlfpga-sa
    
                        container es200-sa {
                          when
                            "../type = 'apm-es200'" {
                            description
                              "../type = 'APM_ES200'";
                          }
                          description
                            "ES200 SA Information";
                          container tx-sa {
                            description
                              "Tx SA Details";
                            container xform-params {
                              description
                                " Xform Params";
                              leaf replay-win-size {
                                type uint32;
                                description
                                  "range of pkt nos considered valid";
                              }
    
                              leaf crypt-algo {
                                type string;
                                description
                                  "Cryptographic algo used";
                              }
    
                              leaf is-egress-tr {
                                type boolean;
                                description
                                  "APM_TRUE if this is Egress Transform record,
    APM_FALSE otherwise";
                              }
    
                              leaf aes-key-len {
                                type string;
                                description
                                  "AES Key length";
                              }
    
                              leaf assoc-num {
                                type uint8;
                                description
                                  "Association Number for egress";
                              }
    
                              leaf is-seq-num64-bit {
                                type boolean;
                                description
                                  "TRUE if Seq Num is 64-bit, FALSE if it is 32-bit";
                              }
    
                              leaf bgen-auth-key {
                                type boolean;
                                description
                                  "TRUE to generate the authKey, so authKey in this
    struct not used
    APM_FALSE to use provided authKey";
                              }
                            }  // container xform-params
    
                            leaf is-valid {
                              type boolean;
                              description
                                "Is structure valid";
                            }
    
                            leaf sa-id {
                              type uint8;
                              description
                                "SA Index";
                            }
    
                            leaf sc-no {
                              type uint32;
                              description
                                "SC Number";
                            }
    
                            leaf out-pkts-too-long {
                              type uint8;
                              description
                                "packets exceeding egress MTU";
                            }
    
                            leaf out-pkts-encrypted-protected {
                              type uint8;
                              description
                                "packets encrypted/protected";
                            }
    
                            leaf out-octets-encrypted-protected1 {
                              type uint8;
                              description
                                "octets1 encrypted/protected";
                            }
    
                            leaf initial-pkt-number {
                              type uint8;
                              description
                                "Initial Packet Number";
                            }
    
                            leaf current-pkt-number {
                              type uint64;
                              description
                                "Current packet Number";
                            }
    
                            leaf max-pkt-number {
                              type uint64;
                              description
                                "Maximum packet Number";
                            }
    
                            leaf conf-offset {
                              type uint16;
                              description
                                "Confidentiality Offset";
                            }
                          }  // container tx-sa
    
                          list rx-sa {
                            description
                              "Rx SA Details";
                            container xform-params {
                              description
                                " Xform Params";
                              leaf replay-win-size {
                                type uint32;
                                description
                                  "range of pkt nos considered valid";
                              }
    
                              leaf crypt-algo {
                                type string;
                                description
                                  "Cryptographic algo used";
                              }
    
                              leaf is-egress-tr {
                                type boolean;
                                description
                                  "APM_TRUE if this is Egress Transform record,
    APM_FALSE otherwise";
                              }
    
                              leaf aes-key-len {
                                type string;
                                description
                                  "AES Key length";
                              }
    
                              leaf assoc-num {
                                type uint8;
                                description
                                  "Association Number for egress";
                              }
    
                              leaf is-seq-num64-bit {
                                type boolean;
                                description
                                  "TRUE if Seq Num is 64-bit, FALSE if it is 32-bit";
                              }
    
                              leaf bgen-auth-key {
                                type boolean;
                                description
                                  "TRUE to generate the authKey, so authKey in this
    struct not used
    APM_FALSE to use provided authKey";
                              }
                            }  // container xform-params
    
                            leaf is-valid {
                              type boolean;
                              description
                                "Is structure valid";
                            }
    
                            leaf sa-id {
                              type uint8;
                              description
                                "SA Index";
                            }
    
                            leaf sc-no {
                              type uint32;
                              description
                                "SC Number";
                            }
    
                            leaf in-pkts-unchecked {
                              type uint8;
                              description
                                "frame not valid & validateFrames disabled";
                            }
    
                            leaf in-pkts-delayed {
                              type uint8;
                              description
                                "PN of packet outside replay window &
    validateFrames !strict";
                            }
    
                            leaf in-pkts-late {
                              type uint8;
                              description
                                "PN of packet outside replay window &
    validateFrames strict";
                            }
    
                            leaf in-pkts-ok {
                              type uint8;
                              description
                                "packets with no error";
                            }
    
                            leaf in-pkts-invalid {
                              type uint8;
                              description
                                "packet not valid & validateFrames !strict";
                            }
    
                            leaf in-pkts-not-valid {
                              type uint8;
                              description
                                "packet not valid & validateFrames strict";
                            }
    
                            leaf in-pkts-not-using-sa {
                              type uint8;
                              description
                                "packet assigned to SA not in use &
    validateFrames strict";
                            }
    
                            leaf in-pkts-unused-sa {
                              type uint8;
                              description
                                "packet assigned to SA not in use& validateFrames
    !strict";
                            }
    
                            leaf in-octets-decrypted-validated1 {
                              type uint8;
                              description
                                "octets1 decrypted/validated";
                            }
    
                            leaf in-octets-validated {
                              type uint8;
                              description
                                "octets validated";
                            }
    
                            leaf conf-offset {
                              type uint16;
                              description
                                "Confidentiality Offset";
                            }
                          }  // list rx-sa
                        }  // container es200-sa
    
                        container x120-sa {
                          when
                            "../type = 'apm-x120'" {
                            description
                              "../type = 'APM_X120'";
                          }
                          description
                            "X120 SA Information";
                          container tx-sa {
                            description
                              "Tx SA Details";
                            container xform-params {
                              description
                                " Xform Params";
                              leaf replay-win-size {
                                type uint32;
                                description
                                  "range of pkt nos considered valid";
                              }
    
                              leaf crypt-algo {
                                type string;
                                description
                                  "Cryptographic algo used";
                              }
    
                              leaf is-egress-tr {
                                type boolean;
                                description
                                  "APM_TRUE if this is Egress Transform record,
    APM_FALSE otherwise";
                              }
    
                              leaf aes-key-len {
                                type string;
                                description
                                  "AES Key length";
                              }
    
                              leaf assoc-num {
                                type uint8;
                                description
                                  "Association Number for egress";
                              }
    
                              leaf is-seq-num64-bit {
                                type boolean;
                                description
                                  "TRUE if Seq Num is 64-bit, FALSE if it is 32-bit";
                              }
                            }  // container xform-params
    
                            leaf is-valid {
                              type boolean;
                              description
                                "Is structure valid";
                            }
    
                            leaf sa-id {
                              type uint8;
                              description
                                "SA Index";
                            }
    
                            leaf out-pkts-too-long {
                              type uint8;
                              description
                                "packets exceeding egress MTU";
                            }
    
                            leaf out-pkts-encrypted-protected {
                              type uint8;
                              description
                                "packets encrypted/protected";
                            }
    
                            leaf out-octets-encrypted-protected1 {
                              type uint8;
                              description
                                "octets1 encrypted/protected";
                            }
    
                            leaf initial-pkt-number {
                              type uint8;
                              description
                                "Initial Packet Number";
                            }
    
                            leaf current-pkt-number {
                              type uint64;
                              description
                                "Current packet Number";
                            }
    
                            leaf max-pkt-number {
                              type uint64;
                              description
                                "Maximum packet Number";
                            }
    
                            leaf confidentiality-offset {
                              type uint8;
                              units "byte";
                              description
                                "bytes that are authenticated but not encrypted
    following
    the SecTAG in the encrypted packet.";
                            }
    
                            leaf is-egress {
                              type boolean;
                              description
                                "true if SA is in egress direction";
                            }
    
                            leaf macsec-sa-action {
                              type string;
                              description
                                "SA action type";
                            }
    
                            leaf drop-type {
                              type string;
                              description
                                "SA packet drop type";
                            }
    
                            leaf dest-port-type {
                              type string;
                              description
                                "destination port type";
                            }
    
                            leaf is-protect-frame {
                              type boolean;
                              description
                                "is frame protection enabled";
                            }
    
                            leaf is-include-sci {
                              type boolean;
                              description
                                "true to insert explicit SCI in pkt false to use
    implicit SCI";
                            }
    
                            leaf is-use-es {
                              type boolean;
                              description
                                "set ES bit in generated SecTAG";
                            }
    
                            leaf is-use-scb {
                              type boolean;
                              description
                                "set SCB bit in generated SecTAG";
                            }
    
                            leaf is-f-conf-protect {
                              type boolean;
                              description
                                "enable confidentiality protection";
                            }
                          }  // container tx-sa
    
                          list rx-sa {
                            description
                              "Rx SA Details";
                            container xform-params {
                              description
                                " Xform Params";
                              leaf replay-win-size {
                                type uint32;
                                description
                                  "range of pkt nos considered valid";
                              }
    
                              leaf crypt-algo {
                                type string;
                                description
                                  "Cryptographic algo used";
                              }
    
                              leaf is-egress-tr {
                                type boolean;
                                description
                                  "APM_TRUE if this is Egress Transform record,
    APM_FALSE otherwise";
                              }
    
                              leaf aes-key-len {
                                type string;
                                description
                                  "AES Key length";
                              }
    
                              leaf assoc-num {
                                type uint8;
                                description
                                  "Association Number for egress";
                              }
    
                              leaf is-seq-num64-bit {
                                type boolean;
                                description
                                  "TRUE if Seq Num is 64-bit, FALSE if it is 32-bit";
                              }
                            }  // container xform-params
    
                            leaf is-valid {
                              type boolean;
                              description
                                "Is structure valid";
                            }
    
                            leaf sa-id {
                              type uint8;
                              description
                                "SA Index";
                            }
    
                            leaf confidentiality-offset {
                              type uint8;
                              units "byte";
                              description
                                "bytes that are authenticated but not encrypted
    following
    the SecTAG in the encrypted packet.";
                            }
    
                            leaf is-egress {
                              type boolean;
                              description
                                "true if SA is in egress direction";
                            }
    
                            leaf fdrop-non-reserved {
                              type uint8;
                              description
                                "Perform drop action if
    packet is not from the reserved port";
                            }
    
                            leaf macsec-sa-action {
                              type string;
                              description
                                "SA action type";
                            }
    
                            leaf drop-type {
                              type string;
                              description
                                "SA packet drop type";
                            }
    
                            leaf dest-port-type {
                              type string;
                              description
                                "destination port type";
                            }
    
                            leaf replay-protect {
                              type boolean;
                              description
                                "replay protection enabled";
                            }
    
                            leaf frame-validation-type {
                              type string;
                              description
                                "frame validation type";
                            }
    
                            leaf in-pkts-unchecked {
                              type uint8;
                              description
                                "frame not valid & validateFrames disabled";
                            }
    
                            leaf in-pkts-delayed {
                              type uint8;
                              description
                                "PN of packet outside replay window &
    validateFrames !strict";
                            }
    
                            leaf in-pkts-late {
                              type uint8;
                              description
                                "PN of packet outside replay window &
    validateFrames strict";
                            }
    
                            leaf in-pkts-ok {
                              type uint8;
                              description
                                "packets with no error";
                            }
    
                            leaf in-pkts-invalid {
                              type uint8;
                              description
                                "packet not valid & validateFrames !strict";
                            }
    
                            leaf in-pkts-not-valid {
                              type uint8;
                              description
                                "packet not valid & validateFrames strict";
                            }
    
                            leaf in-pkts-not-using-sa {
                              type uint8;
                              description
                                "packet assigned to SA not in use &
    validateFrames strict";
                            }
    
                            leaf in-pkts-unused-sa {
                              type uint8;
                              description
                                "packet assigned to SA not in use& validateFrames
    !strict";
                            }
    
                            leaf in-pkts-untagged-hit {
                              type uint8;
                              description
                                "packet assigned to SA but not tagged
    (non-standard)";
                            }
    
                            leaf in-octets-decrypted-validated1 {
                              type uint8;
                              description
                                "octets1 decrypted/validated";
                            }
    
                            leaf in-octets-decrypted-validated2 {
                              type uint8;
                              description
                                "octets2 decrypted/validated";
                            }
                          }  // list rx-sa
                        }  // container x120-sa
    
                        container mv88ec808-sa {
                          when
                            "../type = 'mv88ec808'" {
                            description
                              "../type = 'MV88EC808'";
                          }
                          description
                            "MV88EC808 SA Information";
                          container tx-sa {
                            description
                              "Egress SA PARAMS";
                            container xform-params {
                              description
                                "Xform Params";
                              leaf sci {
                                type string {
                                  length "0..24";
                                }
                                description
                                  "SCI";
                              }
    
                              leaf crypto-algo {
                                type string;
                                description
                                  "Crypto Algo";
                              }
    
                              leaf seq-num {
                                type uint64;
                                description
                                  "Seq Num";
                              }
    
                              leaf rwin {
                                type uint32;
                                description
                                  "Replay window";
                              }
    
                              leaf is-egress {
                                type boolean;
                                description
                                  "Egress Flag";
                              }
    
                              leaf key-len {
                                type string;
                                description
                                  "Key Len";
                              }
    
                              leaf an {
                                type uint8;
                                description "AN";
                              }
    
                              leaf xpn-flag {
                                type boolean;
                                description
                                  "XPN flag";
                              }
                            }  // container xform-params
    
                            leaf xform-in-use {
                              type boolean;
                              description
                                "In use flag";
                            }
    
                            leaf protect-frame {
                              type boolean;
                              description
                                "Ingtegrity";
                            }
    
                            leaf include-sci {
                              type boolean;
                              description
                                "Include SCI";
                            }
    
                            leaf use-es {
                              type boolean;
                              description
                                "Use ES";
                            }
    
                            leaf use-scb {
                              type boolean;
                              description
                                "Use SCB";
                            }
    
                            leaf conf-protect {
                              type boolean;
                              description
                                "Encryption";
                            }
    
                            leaf action-type {
                              type string;
                              description
                                "Action for SA";
                            }
    
                            leaf drop-type {
                              type uint8;
                              description
                                "Droptype ";
                            }
    
                            leaf is-egress {
                              type boolean;
                              description
                                "Direction";
                            }
    
                            leaf conf-offset {
                              type uint32;
                              description
                                "ConfOffset";
                            }
    
                            leaf sa-in-use {
                              type boolean;
                              description
                                "SA In Use";
                            }
                          }  // container tx-sa
    
                          list rx-sa {
                            description
                              "Ingress SA Params";
                            container xform-params {
                              description
                                "Xform Params";
                              leaf sci {
                                type string {
                                  length "0..24";
                                }
                                description
                                  "SCI";
                              }
    
                              leaf crypto-algo {
                                type string;
                                description
                                  "Crypto Algo";
                              }
    
                              leaf seq-num {
                                type uint64;
                                description
                                  "Seq Num";
                              }
    
                              leaf rwin {
                                type uint32;
                                description
                                  "Replay window";
                              }
    
                              leaf is-egress {
                                type boolean;
                                description
                                  "Egress Flag";
                              }
    
                              leaf key-len {
                                type string;
                                description
                                  "Key Len";
                              }
    
                              leaf an {
                                type uint8;
                                description "AN";
                              }
    
                              leaf xpn-flag {
                                type boolean;
                                description
                                  "XPN flag";
                              }
                            }  // container xform-params
    
                            leaf xform-in-use {
                              type boolean;
                              description
                                "In use flag";
                            }
    
                            leaf replay-protect {
                              type boolean;
                              description
                                "Replay Protect";
                            }
    
                            leaf action-type {
                              type string;
                              description
                                "Action for SA";
                            }
    
                            leaf drop-type {
                              type uint8;
                              description
                                "Droptype ";
                            }
    
                            leaf is-egress {
                              type boolean;
                              description
                                "Direction";
                            }
    
                            leaf conf-offset {
                              type uint32;
                              description
                                "ConfOffset";
                            }
    
                            leaf sa-in-use {
                              type boolean;
                              description
                                "SA In Use";
                            }
    
                            leaf validate-frame {
                              type string;
                              description
                                "Frame validation type";
                            }
    
                            leaf low-pn {
                              type uint64;
                              description
                                "lowPN";
                            }
    
                            leaf nxt-pn {
                              type uint64;
                              description
                                "nxtPN";
                            }
                          }  // list rx-sa
                        }  // container mv88ec808-sa
    
                        container metadx-sa {
                          when
                            "../type = 'meta-dx1'" {
                            description
                              "../type = 'META_DX1'";
                          }
                          description
                            "META_DX1 SA Information";
                          container tx-sa {
                            description
                              "Egress SA PARAMS";
                            container xform-params {
                              description
                                "Xform Params";
                              leaf xpn-flag {
                                type boolean;
                                description
                                  "XPN flag";
                              }
    
                              leaf sci {
                                type string {
                                  length "0..24";
                                }
                                description
                                  "SCI";
                              }
    
                              leaf crypto-algo {
                                type string;
                                description
                                  "Crypto Algo";
                              }
    
                              leaf key-len {
                                type string;
                                description
                                  "Key Len";
                              }
    
                              leaf an {
                                type uint8;
                                description "AN";
                              }
    
                              leaf auth-start {
                                type uint8;
                                description
                                  "Auth Start";
                              }
    
                              leaf auth-length {
                                type uint8;
                                description
                                  "Auth Length";
                              }
    
                              leaf conf-offset {
                                type uint32;
                                description
                                  "ConfOffset";
                              }
    
                              leaf sa-id {
                                type uint32;
                                description
                                  "sa id";
                              }
    
                              leaf seq-num {
                                type uint64;
                                description
                                  "Seq Num";
                              }
                            }  // container xform-params
    
                            leaf xform-in-use {
                              type boolean;
                              description
                                "In use flag";
                            }
    
                            leaf protect-frame {
                              type boolean;
                              description
                                "Ingtegrity";
                            }
    
                            leaf include-sci {
                              type boolean;
                              description
                                "Include SCI";
                            }
    
                            leaf use-es {
                              type boolean;
                              description
                                "Use ES";
                            }
    
                            leaf use-scb {
                              type boolean;
                              description
                                "Use SCB";
                            }
    
                            leaf conf-protect {
                              type boolean;
                              description
                                "Encryption";
                            }
    
                            leaf is-egress {
                              type boolean;
                              description
                                "Direction";
                            }
    
                            leaf sa-in-use {
                              type boolean;
                              description
                                "SA In Use";
                            }
                          }  // container tx-sa
    
                          leaf port-no {
                            type uint32;
                            description
                              "Port No";
                          }
    
                          list rx-sa {
                            description
                              "Ingress SA Params";
                            container xform-params {
                              description
                                "Xform Params";
                              leaf xpn-flag {
                                type boolean;
                                description
                                  "XPN flag";
                              }
    
                              leaf sci {
                                type string {
                                  length "0..24";
                                }
                                description
                                  "SCI";
                              }
    
                              leaf crypto-algo {
                                type string;
                                description
                                  "Crypto Algo";
                              }
    
                              leaf key-len {
                                type string;
                                description
                                  "Key Len";
                              }
    
                              leaf an {
                                type uint8;
                                description "AN";
                              }
    
                              leaf auth-start {
                                type uint8;
                                description
                                  "Auth Start";
                              }
    
                              leaf auth-length {
                                type uint8;
                                description
                                  "Auth Length";
                              }
    
                              leaf conf-offset {
                                type uint32;
                                description
                                  "ConfOffset";
                              }
    
                              leaf sa-id {
                                type uint32;
                                description
                                  "sa id";
                              }
    
                              leaf seq-num {
                                type uint64;
                                description
                                  "Seq Num";
                              }
                            }  // container xform-params
    
                            leaf must-secure {
                              type boolean;
                              description
                                "MustSecure";
                            }
    
                            leaf xform-in-use {
                              type boolean;
                              description
                                "In use flag";
                            }
    
                            leaf replay-protect {
                              type boolean;
                              description
                                "Replay Protect";
                            }
    
                            leaf sa-in-use {
                              type boolean;
                              description
                                "SA In Use";
                            }
    
                            leaf is-egress {
                              type boolean;
                              description
                                "Direction";
                            }
    
                            leaf active-an {
                              type uint8;
                              description
                                "Active an";
                            }
    
                            leaf window-size {
                              type uint32;
                              description
                                "replay windowsize";
                            }
                          }  // list rx-sa
                        }  // container metadx-sa
    
                        leaf type {
                          type Macsec-phy-vendor;
                          description "type";
                        }
                      }  // container ext
                    }  // list hw-sa
                  }  // container hw-sas
    
                  container hw-flow-s {
                    description
                      "Table of Hardware Flows";
                    list hw-flow {
                      key "flow-id";
                      description
                        "Hardware Flow";
                      leaf flow-id {
                        type uint32;
                        description "FLOW ID";
                      }
    
                      container ext {
                        description "ext";
                        container es200-flow {
                          when
                            "../type = 'apm-es200'" {
                            description
                              "../type = 'APM_ES200'";
                          }
                          description
                            "ES200 Flow Information";
                          container tx-flow {
                            description
                              "Tx Flow Details";
                            leaf flow-no {
                              type uint32;
                              description
                                "Flow Number";
                            }
    
                            leaf is-flow-enabled {
                              type boolean;
                              description
                                "Is Flow Enabled";
                            }
    
                            leaf ethertype {
                              type uint16;
                              description
                                "Parsed EtherType to match could be 0 if
    Ethertype should'nt
    be matched can be 0x88E5 for MACSec tag";
                            }
    
                            leaf outer-vlan-id {
                              type uint16;
                              description
                                " VLAN ID for outer tag use this when
    only one tag should be matched";
                            }
    
                            leaf outer-vlan-user-pri {
                              type uint8;
                              description
                                "VLAN User Priority for outer tag  use
    this when only one tag should be matched";
                            }
    
                            leaf inner-vlan-id {
                              type uint16;
                              description
                                "VLAN ID for inner tag used when two
    VLAN Tags should be matched";
                            }
    
                            leaf inner-vlan-user-pri {
                              type uint8;
                              description
                                " VLAN User priority for inner tag use
    when matching two VLAN tags";
                            }
    
                            leaf psci {
                              type uint64;
                              description
                                " SCI to be matched value required for
    ingress only, pass NULL for egress";
                            }
    
                            leaf match-priority {
                              type uint8;
                              description
                                "priority for match 0-15(highest) ";
                            }
    
                            leaf tci-v {
                              type uint8;
                              description
                                "value of 'v' in TCI to match (1bit) ";
                            }
    
                            leaf tci-e-xr {
                              type uint8;
                              description
                                "value of 'es' in TCI to match (1bit) ";
                            }
    
                            leaf tci-sc {
                              type uint8;
                              description
                                "value of 'sc' in TCI to match (1bit) ";
                            }
    
                            leaf tci-scb {
                              type uint8;
                              description
                                "value of 'scb' in TCI to match (1bit) ";
                            }
    
                            leaf tci {
                              type uint8;
                              description
                                "value of 'e' in TCI to match (1bit )";
                            }
    
                            leaf tci-c {
                              type uint8;
                              description
                                "value of 'c' in TCI to match (1bit) ";
                            }
    
                            leaf tci-chk {
                              type boolean;
                              description
                                "TCI bits will be checked only when this
    bit is enabled. All the values of TCI bits
    are mandatory when TCI check is used";
                            }
    
                            leaf pkt-type {
                              type string;
                              description
                                "Type of packet. See ethMscCfyEPktType_e";
                            }
    
                            leaf tag-num {
                              type string;
                              description
                                "No. of MPLS or VLAN tags See ethMscCfyETagNum_e ";
                            }
    
                            leaf inner-vlan-dei {
                              type boolean;
                              description
                                "Dei to match for innner Vlan tag";
                            }
    
                            leaf outer-vlan-dei {
                              type boolean;
                              description
                                "Dei to match for outer Vlan tag";
                            }
    
                            leaf pbb-sid {
                              type uint32;
                              description
                                " Service Instance id ";
                            }
    
                            leaf pbb-bvid {
                              type uint32;
                              description
                                " Backbone Vlan id ";
                            }
    
                            leaf pbb-pcp {
                              type uint8;
                              description
                                " pcp ";
                            }
    
                            leaf pbb-dei {
                              type uint8;
                              description
                                " dei ";
                            }
    
                            leaf mpls1-label {
                              type uint32;
                              description
                                " label ";
                            }
    
                            leaf mpls1-exp {
                              type uint8;
                              description
                                " exp ";
                            }
    
                            leaf mpls1-bos {
                              type uint8;
                              description
                                " botton of stack ";
                            }
    
                            leaf mpls2-label {
                              type uint32;
                              description
                                " label ";
                            }
    
                            leaf mpls2-exp {
                              type uint8;
                              description
                                " exp ";
                            }
    
                            leaf mpls2-bos {
                              type uint8;
                              description
                                " botton of stack ";
                            }
    
                            leaf plain-bits {
                              type uint64;
                              units "bit";
                              description
                                "Plain bits to compare. Max values:
    untagged pkt - 40 bits after EthType
    1 VLAN tag - 24 bits after parsed EthType
    2 VLAN tags- 8 bits after parsed EthType
    1 MPLS tag - 32 bits after 1st tag
    2 MPLS tags- 8 bits following after 2nd
    or atmost 5th MPLS tag
    PBB - 16 bits after C-SA
    PBB with VLAN tag - 16 bits of VLAN tag ";
                            }
    
                            leaf plain-bits-size {
                              type uint8;
                              description
                                "No. of bits used in plainBits";
                            }
    
                            leaf force-ctrl {
                              type boolean;
                              description
                                "Force the pkt as control pkt irrepective
    of the results of control packet detector";
                            }
    
                            leaf drop {
                              type boolean;
                              description
                                "Drop the packet";
                            }
    
                            leaf mask-da {
                              type uint64;
                              description
                                "DA mask";
                            }
    
                            leaf mask-ethertype {
                              type uint32;
                              description
                                "Parsed EtherType mask";
                            }
    
                            leaf mask-plain-bits {
                              type uint64;
                              description
                                "Plain Bits mask";
                            }
    
                            leaf flow-hits {
                              type uint64;
                              description
                                "Pkts matching the Flow";
                            }
    
                            leaf-list macda {
                              type uint8;
                              description
                                "MAC DA";
                            }
                          }  // container tx-flow
    
                          container rx-flow {
                            description
                              "Rx Flow Details";
                            leaf flow-no {
                              type uint32;
                              description
                                "Flow Number";
                            }
    
                            leaf is-flow-enabled {
                              type boolean;
                              description
                                "Is Flow Enabled";
                            }
    
                            leaf ethertype {
                              type uint16;
                              description
                                "Parsed EtherType to match could be 0 if
    Ethertype should'nt
    be matched can be 0x88E5 for MACSec tag";
                            }
    
                            leaf outer-vlan-id {
                              type uint16;
                              description
                                " VLAN ID for outer tag use this when
    only one tag should be matched";
                            }
    
                            leaf outer-vlan-user-pri {
                              type uint8;
                              description
                                "VLAN User Priority for outer tag  use
    this when only one tag should be matched";
                            }
    
                            leaf inner-vlan-id {
                              type uint16;
                              description
                                "VLAN ID for inner tag used when two
    VLAN Tags should be matched";
                            }
    
                            leaf inner-vlan-user-pri {
                              type uint8;
                              description
                                " VLAN User priority for inner tag use
    when matching two VLAN tags";
                            }
    
                            leaf psci {
                              type uint64;
                              description
                                " SCI to be matched value required for
    ingress only, pass NULL for egress";
                            }
    
                            leaf match-priority {
                              type uint8;
                              description
                                "priority for match 0-15(highest) ";
                            }
    
                            leaf tci-v {
                              type uint8;
                              description
                                "value of 'v' in TCI to match (1bit) ";
                            }
    
                            leaf tci-e-xr {
                              type uint8;
                              description
                                "value of 'es' in TCI to match (1bit) ";
                            }
    
                            leaf tci-sc {
                              type uint8;
                              description
                                "value of 'sc' in TCI to match (1bit) ";
                            }
    
                            leaf tci-scb {
                              type uint8;
                              description
                                "value of 'scb' in TCI to match (1bit) ";
                            }
    
                            leaf tci {
                              type uint8;
                              description
                                "value of 'e' in TCI to match (1bit )";
                            }
    
                            leaf tci-c {
                              type uint8;
                              description
                                "value of 'c' in TCI to match (1bit) ";
                            }
    
                            leaf tci-chk {
                              type boolean;
                              description
                                "TCI bits will be checked only when this
    bit is enabled. All the values of TCI bits
    are mandatory when TCI check is used";
                            }
    
                            leaf pkt-type {
                              type string;
                              description
                                "Type of packet. See ethMscCfyEPktType_e";
                            }
    
                            leaf tag-num {
                              type string;
                              description
                                "No. of MPLS or VLAN tags See ethMscCfyETagNum_e ";
                            }
    
                            leaf inner-vlan-dei {
                              type boolean;
                              description
                                "Dei to match for innner Vlan tag";
                            }
    
                            leaf outer-vlan-dei {
                              type boolean;
                              description
                                "Dei to match for outer Vlan tag";
                            }
    
                            leaf pbb-sid {
                              type uint32;
                              description
                                " Service Instance id ";
                            }
    
                            leaf pbb-bvid {
                              type uint32;
                              description
                                " Backbone Vlan id ";
                            }
    
                            leaf pbb-pcp {
                              type uint8;
                              description
                                " pcp ";
                            }
    
                            leaf pbb-dei {
                              type uint8;
                              description
                                " dei ";
                            }
    
                            leaf mpls1-label {
                              type uint32;
                              description
                                " label ";
                            }
    
                            leaf mpls1-exp {
                              type uint8;
                              description
                                " exp ";
                            }
    
                            leaf mpls1-bos {
                              type uint8;
                              description
                                " botton of stack ";
                            }
    
                            leaf mpls2-label {
                              type uint32;
                              description
                                " label ";
                            }
    
                            leaf mpls2-exp {
                              type uint8;
                              description
                                " exp ";
                            }
    
                            leaf mpls2-bos {
                              type uint8;
                              description
                                " botton of stack ";
                            }
    
                            leaf plain-bits {
                              type uint64;
                              units "bit";
                              description
                                "Plain bits to compare. Max values:
    untagged pkt - 40 bits after EthType
    1 VLAN tag - 24 bits after parsed EthType
    2 VLAN tags- 8 bits after parsed EthType
    1 MPLS tag - 32 bits after 1st tag
    2 MPLS tags- 8 bits following after 2nd
    or atmost 5th MPLS tag
    PBB - 16 bits after C-SA
    PBB with VLAN tag - 16 bits of VLAN tag ";
                            }
    
                            leaf plain-bits-size {
                              type uint8;
                              description
                                "No. of bits used in plainBits";
                            }
    
                            leaf force-ctrl {
                              type boolean;
                              description
                                "Force the pkt as control pkt irrepective
    of the results of control packet detector";
                            }
    
                            leaf drop {
                              type boolean;
                              description
                                "Drop the packet";
                            }
    
                            leaf mask-da {
                              type uint64;
                              description
                                "DA mask";
                            }
    
                            leaf mask-ethertype {
                              type uint32;
                              description
                                "Parsed EtherType mask";
                            }
    
                            leaf mask-plain-bits {
                              type uint64;
                              description
                                "Plain Bits mask";
                            }
    
                            leaf flow-hits {
                              type uint64;
                              description
                                "Pkts matching the Flow";
                            }
    
                            leaf-list macda {
                              type uint8;
                              description
                                "MAC DA";
                            }
                          }  // container rx-flow
                        }  // container es200-flow
    
                        container mv88ec808-flow {
                          when
                            "../type = 'mv88ec808'" {
                            description
                              "../type = 'MV88EC808'";
                          }
                          description
                            "MV88EC808 Flow Information";
                          container tx-flow {
                            description
                              "Tx Flow Details";
                            leaf an-no {
                              type uint8;
                              description
                                "AN Number";
                            }
    
                            leaf sa-no {
                              type uint32;
                              description
                                "Sa Number";
                            }
    
                            leaf flow-no {
                              type uint32;
                              description
                                "Flow Number";
                            }
    
                            leaf port-no {
                              type uint32;
                              description
                                "Port Number";
                            }
    
                            leaf is-flow-valid {
                              type boolean;
                              description
                                "Valid Flow";
                            }
    
                            leaf fmacsa-in-use {
                              type boolean;
                              description
                                "If MAC SA in Use";
                            }
    
                            leaf fmacda-in-use {
                              type boolean;
                              description
                                "If MAC DA in Use";
                            }
    
                            leaf ether-type {
                              type uint16;
                              description
                                "Ether Type";
                            }
    
                            leaf source-port {
                              type uint32;
                              description
                                "Source Port";
                            }
    
                            leaf source-port-chk {
                              type boolean;
                              description
                                "Source Port ChkEn";
                            }
    
                            leaf fsci-in-use {
                              type boolean;
                              description
                                "If SCI in use";
                            }
    
                            leaf sci {
                              type uint64;
                              description "SCI";
                            }
    
                            leaf match-pri {
                              type uint8;
                              description
                                "Match Priority";
                            }
    
                            leaf is-cntl-pkt {
                              type boolean;
                              description
                                "Is Control Pkt";
                            }
    
                            leaf ctrl-pkt-chk {
                              type boolean;
                              description
                                "Ctrl Pkt ChkEn";
                            }
    
                            leaf match-untagged {
                              type boolean;
                              description
                                "MatchUntagged";
                            }
    
                            leaf match-tagged {
                              type boolean;
                              description
                                "MatchTagged";
                            }
    
                            leaf match-bad-tag {
                              type boolean;
                              description
                                "Match Bad Tag";
                            }
    
                            leaf match-ka-y-tag {
                              type boolean;
                              description
                                "MatchKaYTag";
                            }
    
                            leaf tci-v {
                              type uint8;
                              description
                                "TCI V";
                            }
    
                            leaf tci-e-xr {
                              type uint8;
                              description
                                "TCI ES";
                            }
    
                            leaf tci-sc {
                              type uint8;
                              description
                                "TCI SC";
                            }
    
                            leaf tci-scb {
                              type uint8;
                              description
                                "TCI SCB";
                            }
    
                            leaf tci {
                              type uint8;
                              description
                                "TCI E";
                            }
    
                            leaf tci-c {
                              type uint8;
                              description
                                "TCI C";
                            }
    
                            leaf tci-an {
                              type uint8;
                              description
                                "TCI AN";
                            }
    
                            leaf tci-an-chk {
                              type boolean;
                              description
                                "TciAnChkEn";
                            }
    
                            leaf tci-chk {
                              type boolean;
                              description
                                "TciChkEn";
                            }
    
                            leaf-list macsa {
                              type uint8;
                              description
                                "MAC SA";
                            }
    
                            leaf-list macda {
                              type uint8;
                              description
                                "MAC DA";
                            }
                          }  // container tx-flow
    
                          container rx-flow {
                            description
                              "Rx Flow Details";
                            leaf an-no {
                              type uint8;
                              description
                                "AN Number";
                            }
    
                            leaf sa-no {
                              type uint32;
                              description
                                "Sa Number";
                            }
    
                            leaf flow-no {
                              type uint32;
                              description
                                "Flow Number";
                            }
    
                            leaf port-no {
                              type uint32;
                              description
                                "Port Number";
                            }
    
                            leaf is-flow-valid {
                              type boolean;
                              description
                                "Valid Flow";
                            }
    
                            leaf fmacsa-in-use {
                              type boolean;
                              description
                                "If MAC SA in Use";
                            }
    
                            leaf fmacda-in-use {
                              type boolean;
                              description
                                "If MAC DA in Use";
                            }
    
                            leaf ether-type {
                              type uint16;
                              description
                                "Ether Type";
                            }
    
                            leaf source-port {
                              type uint32;
                              description
                                "Source Port";
                            }
    
                            leaf source-port-chk {
                              type boolean;
                              description
                                "Source Port ChkEn";
                            }
    
                            leaf fsci-in-use {
                              type boolean;
                              description
                                "If SCI in use";
                            }
    
                            leaf sci {
                              type uint64;
                              description "SCI";
                            }
    
                            leaf match-pri {
                              type uint8;
                              description
                                "Match Priority";
                            }
    
                            leaf is-cntl-pkt {
                              type boolean;
                              description
                                "Is Control Pkt";
                            }
    
                            leaf ctrl-pkt-chk {
                              type boolean;
                              description
                                "Ctrl Pkt ChkEn";
                            }
    
                            leaf match-untagged {
                              type boolean;
                              description
                                "MatchUntagged";
                            }
    
                            leaf match-tagged {
                              type boolean;
                              description
                                "MatchTagged";
                            }
    
                            leaf match-bad-tag {
                              type boolean;
                              description
                                "Match Bad Tag";
                            }
    
                            leaf match-ka-y-tag {
                              type boolean;
                              description
                                "MatchKaYTag";
                            }
    
                            leaf tci-v {
                              type uint8;
                              description
                                "TCI V";
                            }
    
                            leaf tci-e-xr {
                              type uint8;
                              description
                                "TCI ES";
                            }
    
                            leaf tci-sc {
                              type uint8;
                              description
                                "TCI SC";
                            }
    
                            leaf tci-scb {
                              type uint8;
                              description
                                "TCI SCB";
                            }
    
                            leaf tci {
                              type uint8;
                              description
                                "TCI E";
                            }
    
                            leaf tci-c {
                              type uint8;
                              description
                                "TCI C";
                            }
    
                            leaf tci-an {
                              type uint8;
                              description
                                "TCI AN";
                            }
    
                            leaf tci-an-chk {
                              type boolean;
                              description
                                "TciAnChkEn";
                            }
    
                            leaf tci-chk {
                              type boolean;
                              description
                                "TciChkEn";
                            }
    
                            leaf-list macsa {
                              type uint8;
                              description
                                "MAC SA";
                            }
    
                            leaf-list macda {
                              type uint8;
                              description
                                "MAC DA";
                            }
                          }  // container rx-flow
                        }  // container mv88ec808-flow
    
                        container x120-flow {
                          when
                            "../type = 'apm-x120'" {
                            description
                              "../type = 'APM_X120'";
                          }
                          description
                            "X120 Flow Information";
                          container tx-flow {
                            description
                              "Tx Flow Details";
                            leaf flow-no {
                              type uint32;
                              description
                                "Flow Number";
                            }
    
                            leaf is-flow-enabled {
                              type boolean;
                              description
                                "Is Flow Enabled";
                            }
    
                            leaf ethertype {
                              type uint16;
                              description
                                "Parsed EtherType to match could be 0 if
    Ethertype should'nt
    be matched can be 0x88E5 for MACSec tag";
                            }
    
                            leaf outer-vlan-id {
                              type uint16;
                              description
                                " VLAN ID for outer tag use this when
    only one tag should be matched";
                            }
    
                            leaf outer-vlan-user-pri {
                              type uint8;
                              description
                                "VLAN User Priority for outer tag  use
    this when only one tag should be matched";
                            }
    
                            leaf inner-vlan-id {
                              type uint16;
                              description
                                "VLAN ID for inner tag used when two
    VLAN Tags should be matched";
                            }
    
                            leaf inner-vlan-user-pri {
                              type uint8;
                              description
                                " VLAN User priority for inner tag use
    when matching two VLAN tags";
                            }
    
                            leaf psci {
                              type uint64;
                              description
                                " SCI to be matched value required for
    ingress only, pass NULL for egress";
                            }
    
                            leaf match-priority {
                              type uint8;
                              description
                                "priority for match 0-15(highest) ";
                            }
    
                            leaf tci-v {
                              type uint8;
                              description
                                "value of 'v' in TCI to match (1bit) ";
                            }
    
                            leaf tci-e-xr {
                              type uint8;
                              description
                                "value of 'es' in TCI to match (1bit) ";
                            }
    
                            leaf tci-sc {
                              type uint8;
                              description
                                "value of 'sc' in TCI to match (1bit) ";
                            }
    
                            leaf tci-scb {
                              type uint8;
                              description
                                "value of 'scb' in TCI to match (1bit) ";
                            }
    
                            leaf tci {
                              type uint8;
                              description
                                "value of 'e' in TCI to match (1bit )";
                            }
    
                            leaf tci-c {
                              type uint8;
                              description
                                "value of 'c' in TCI to match (1bit) ";
                            }
    
                            leaf tci-chk {
                              type boolean;
                              description
                                "TCI bits will be checked only when this
    bit is enabled. All the values of TCI bits
    are mandatory when TCI check is used";
                            }
    
                            leaf pkt-type {
                              type string;
                              description
                                "Type of packet. See ethMscCfyEPktType_e";
                            }
    
                            leaf tag-num {
                              type string;
                              description
                                "No. of MPLS or VLAN tags See ethMscCfyETagNum_e ";
                            }
    
                            leaf inner-vlan-dei {
                              type boolean;
                              description
                                "Dei to match for innner Vlan tag";
                            }
    
                            leaf outer-vlan-dei {
                              type boolean;
                              description
                                "Dei to match for outer Vlan tag";
                            }
    
                            leaf pbb-sid {
                              type uint32;
                              description
                                " Service Instance id ";
                            }
    
                            leaf pbb-bvid {
                              type uint32;
                              description
                                " Backbone Vlan id ";
                            }
    
                            leaf pbb-pcp {
                              type uint8;
                              description
                                " pcp ";
                            }
    
                            leaf pbb-dei {
                              type uint8;
                              description
                                " dei ";
                            }
    
                            leaf mpls1-label {
                              type uint32;
                              description
                                " label ";
                            }
    
                            leaf mpls1-exp {
                              type uint8;
                              description
                                " exp ";
                            }
    
                            leaf mpls1-bos {
                              type uint8;
                              description
                                " botton of stack ";
                            }
    
                            leaf mpls2-label {
                              type uint32;
                              description
                                " label ";
                            }
    
                            leaf mpls2-exp {
                              type uint8;
                              description
                                " exp ";
                            }
    
                            leaf mpls2-bos {
                              type uint8;
                              description
                                " botton of stack ";
                            }
    
                            leaf plain-bits {
                              type uint64;
                              units "bit";
                              description
                                "Plain bits to compare. Max values:
    untagged pkt - 40 bits after EthType
    1 VLAN tag - 24 bits after parsed EthType
    2 VLAN tags- 8 bits after parsed EthType
    1 MPLS tag - 32 bits after 1st tag
    2 MPLS tags- 8 bits following after 2nd
    or atmost 5th MPLS tag
    PBB - 16 bits after C-SA
    PBB with VLAN tag - 16 bits of VLAN tag ";
                            }
    
                            leaf plain-bits-size {
                              type uint8;
                              description
                                "No. of bits used in plainBits";
                            }
    
                            leaf force-ctrl {
                              type boolean;
                              description
                                "Force the pkt as control pkt irrepective
    of the results of control packet detector";
                            }
    
                            leaf drop {
                              type boolean;
                              description
                                "Drop the packet";
                            }
    
                            leaf mask-da {
                              type uint64;
                              description
                                "DA mask";
                            }
    
                            leaf mask-ethertype {
                              type uint32;
                              description
                                "Parsed EtherType mask";
                            }
    
                            leaf mask-plain-bits {
                              type uint64;
                              description
                                "Plain Bits mask";
                            }
    
                            leaf flow-hits {
                              type uint64;
                              description
                                "Pkts matching the Flow";
                            }
    
                            leaf-list macda {
                              type uint8;
                              description
                                "MAC DA";
                            }
                          }  // container tx-flow
    
                          container rx-flow {
                            description
                              "Rx Flow Details";
                            leaf flow-no {
                              type uint32;
                              description
                                "Flow Number";
                            }
    
                            leaf is-flow-enabled {
                              type boolean;
                              description
                                "Is Flow Enabled";
                            }
    
                            leaf ethertype {
                              type uint16;
                              description
                                "Parsed EtherType to match could be 0 if
    Ethertype should'nt
    be matched can be 0x88E5 for MACSec tag";
                            }
    
                            leaf outer-vlan-id {
                              type uint16;
                              description
                                " VLAN ID for outer tag use this when
    only one tag should be matched";
                            }
    
                            leaf outer-vlan-user-pri {
                              type uint8;
                              description
                                "VLAN User Priority for outer tag  use
    this when only one tag should be matched";
                            }
    
                            leaf inner-vlan-id {
                              type uint16;
                              description
                                "VLAN ID for inner tag used when two
    VLAN Tags should be matched";
                            }
    
                            leaf inner-vlan-user-pri {
                              type uint8;
                              description
                                " VLAN User priority for inner tag use
    when matching two VLAN tags";
                            }
    
                            leaf psci {
                              type uint64;
                              description
                                " SCI to be matched value required for
    ingress only, pass NULL for egress";
                            }
    
                            leaf match-priority {
                              type uint8;
                              description
                                "priority for match 0-15(highest) ";
                            }
    
                            leaf tci-v {
                              type uint8;
                              description
                                "value of 'v' in TCI to match (1bit) ";
                            }
    
                            leaf tci-e-xr {
                              type uint8;
                              description
                                "value of 'es' in TCI to match (1bit) ";
                            }
    
                            leaf tci-sc {
                              type uint8;
                              description
                                "value of 'sc' in TCI to match (1bit) ";
                            }
    
                            leaf tci-scb {
                              type uint8;
                              description
                                "value of 'scb' in TCI to match (1bit) ";
                            }
    
                            leaf tci {
                              type uint8;
                              description
                                "value of 'e' in TCI to match (1bit )";
                            }
    
                            leaf tci-c {
                              type uint8;
                              description
                                "value of 'c' in TCI to match (1bit) ";
                            }
    
                            leaf tci-chk {
                              type boolean;
                              description
                                "TCI bits will be checked only when this
    bit is enabled. All the values of TCI bits
    are mandatory when TCI check is used";
                            }
    
                            leaf pkt-type {
                              type string;
                              description
                                "Type of packet. See ethMscCfyEPktType_e";
                            }
    
                            leaf tag-num {
                              type string;
                              description
                                "No. of MPLS or VLAN tags See ethMscCfyETagNum_e ";
                            }
    
                            leaf inner-vlan-dei {
                              type boolean;
                              description
                                "Dei to match for innner Vlan tag";
                            }
    
                            leaf outer-vlan-dei {
                              type boolean;
                              description
                                "Dei to match for outer Vlan tag";
                            }
    
                            leaf pbb-sid {
                              type uint32;
                              description
                                " Service Instance id ";
                            }
    
                            leaf pbb-bvid {
                              type uint32;
                              description
                                " Backbone Vlan id ";
                            }
    
                            leaf pbb-pcp {
                              type uint8;
                              description
                                " pcp ";
                            }
    
                            leaf pbb-dei {
                              type uint8;
                              description
                                " dei ";
                            }
    
                            leaf mpls1-label {
                              type uint32;
                              description
                                " label ";
                            }
    
                            leaf mpls1-exp {
                              type uint8;
                              description
                                " exp ";
                            }
    
                            leaf mpls1-bos {
                              type uint8;
                              description
                                " botton of stack ";
                            }
    
                            leaf mpls2-label {
                              type uint32;
                              description
                                " label ";
                            }
    
                            leaf mpls2-exp {
                              type uint8;
                              description
                                " exp ";
                            }
    
                            leaf mpls2-bos {
                              type uint8;
                              description
                                " botton of stack ";
                            }
    
                            leaf plain-bits {
                              type uint64;
                              units "bit";
                              description
                                "Plain bits to compare. Max values:
    untagged pkt - 40 bits after EthType
    1 VLAN tag - 24 bits after parsed EthType
    2 VLAN tags- 8 bits after parsed EthType
    1 MPLS tag - 32 bits after 1st tag
    2 MPLS tags- 8 bits following after 2nd
    or atmost 5th MPLS tag
    PBB - 16 bits after C-SA
    PBB with VLAN tag - 16 bits of VLAN tag ";
                            }
    
                            leaf plain-bits-size {
                              type uint8;
                              description
                                "No. of bits used in plainBits";
                            }
    
                            leaf force-ctrl {
                              type boolean;
                              description
                                "Force the pkt as control pkt irrepective
    of the results of control packet detector";
                            }
    
                            leaf drop {
                              type boolean;
                              description
                                "Drop the packet";
                            }
    
                            leaf mask-da {
                              type uint64;
                              description
                                "DA mask";
                            }
    
                            leaf mask-ethertype {
                              type uint32;
                              description
                                "Parsed EtherType mask";
                            }
    
                            leaf mask-plain-bits {
                              type uint64;
                              description
                                "Plain Bits mask";
                            }
    
                            leaf flow-hits {
                              type uint64;
                              description
                                "Pkts matching the Flow";
                            }
    
                            leaf-list macda {
                              type uint8;
                              description
                                "MAC DA";
                            }
                          }  // container rx-flow
                        }  // container x120-flow
    
                        container metadx-flow {
                          when
                            "../type = 'meta-dx1'" {
                            description
                              "../type = 'META_DX1'";
                          }
                          description
                            "META_DX1 Flow Information";
                          container tx-flow {
                            description
                              "Tx Flow Details";
                            leaf isflow-valid {
                              type boolean;
                              description
                                "is a valid flow";
                            }
    
                            leaf is-pkt-type-any {
                              type boolean;
                              description
                                "any packet flow ";
                            }
    
                            leaf is-pkt-type-other {
                              type boolean;
                              description
                                "other packet flow ";
                            }
    
                            leaf is-pkt-type-mpls {
                              type boolean;
                              description
                                "mpls packet flow ";
                            }
    
                            leaf is-pkt-type-pbb {
                              type boolean;
                              description
                                "pbb packet flow";
                            }
    
                            leaf is-drop-flow {
                              type boolean;
                              description
                                "is drop flow";
                            }
    
                            leaf is-control-packet {
                              type boolean;
                              description
                                "is control pkt flow";
                            }
    
                            leaf an-no {
                              type uint8;
                              description
                                "AN Number";
                            }
    
                            leaf no-of-tags-or-label {
                              type uint8;
                              description
                                "no of vlan tags";
                            }
    
                            leaf sa-no {
                              type uint32;
                              description
                                "Sa Number";
                            }
    
                            leaf flow-no {
                              type uint32;
                              description
                                "Flow Number";
                            }
    
                            leaf port-no {
                              type uint32;
                              description
                                "Port Number";
                            }
    
                            leaf other-ether-type {
                              type uint32;
                              description
                                "ether type";
                            }
    
                            leaf other-ether-type-mask {
                              type uint32;
                              description
                                "ether type mask";
                            }
    
                            leaf other-vlan-tag-1 {
                              type uint32;
                              description
                                "first vlan tag";
                            }
    
                            leaf other-vlan-tag-mask-1 {
                              type uint32;
                              description
                                "first vlan mask";
                            }
    
                            leaf other-vlan-tag-2 {
                              type uint32;
                              description
                                "second vlan tag";
                            }
    
                            leaf other-vlan-tag-mask-2 {
                              type uint32;
                              description
                                "second vlan mask";
                            }
    
                            leaf pbb-vlan-tag-val {
                              type uint32;
                              description
                                "first vlan tag";
                            }
    
                            leaf pbb-vlan-tag-mask {
                              type uint32;
                              description
                                "first vlan mask";
                            }
    
                            leaf pbb-service-instance-id-val {
                              type uint32;
                              description
                                "service instances id val";
                            }
    
                            leaf pbb-service-instance-id-mask {
                              type uint32;
                              description
                                "service instances id mask";
                            }
    
                            leaf mpls-label-1 {
                              type uint32;
                              description
                                "first mpls lablel";
                            }
    
                            leaf mpls-label-2 {
                              type uint32;
                              description
                                "second mpls label";
                            }
    
                            leaf mpls-mask-1 {
                              type uint32;
                              description
                                "first mpls mask";
                            }
    
                            leaf mpls-mask-2 {
                              type uint32;
                              description
                                "second mpls mask";
                            }
    
                            leaf sci {
                              type uint64;
                              description "SCI";
                            }
    
                            leaf-list mac {
                              type uint8;
                              description
                                "MAC SA";
                            }
    
                            leaf-list mac-mask {
                              type uint8;
                              description
                                "MAC MASK";
                            }
                          }  // container tx-flow
    
                          container rx-flow {
                            description
                              "Rx Flow Details";
                            leaf isflow-valid {
                              type boolean;
                              description
                                "is a valid flow";
                            }
    
                            leaf is-pkt-type-any {
                              type boolean;
                              description
                                "any packet flow ";
                            }
    
                            leaf is-pkt-type-other {
                              type boolean;
                              description
                                "other packet flow ";
                            }
    
                            leaf is-pkt-type-mpls {
                              type boolean;
                              description
                                "mpls packet flow ";
                            }
    
                            leaf is-pkt-type-pbb {
                              type boolean;
                              description
                                "pbb packet flow";
                            }
    
                            leaf is-drop-flow {
                              type boolean;
                              description
                                "is drop flow";
                            }
    
                            leaf is-control-packet {
                              type boolean;
                              description
                                "is control pkt flow";
                            }
    
                            leaf an-no {
                              type uint8;
                              description
                                "AN Number";
                            }
    
                            leaf no-of-tags-or-label {
                              type uint8;
                              description
                                "no of vlan tags";
                            }
    
                            leaf sa-no {
                              type uint32;
                              description
                                "Sa Number";
                            }
    
                            leaf flow-no {
                              type uint32;
                              description
                                "Flow Number";
                            }
    
                            leaf port-no {
                              type uint32;
                              description
                                "Port Number";
                            }
    
                            leaf other-ether-type {
                              type uint32;
                              description
                                "ether type";
                            }
    
                            leaf other-ether-type-mask {
                              type uint32;
                              description
                                "ether type mask";
                            }
    
                            leaf other-vlan-tag-1 {
                              type uint32;
                              description
                                "first vlan tag";
                            }
    
                            leaf other-vlan-tag-mask-1 {
                              type uint32;
                              description
                                "first vlan mask";
                            }
    
                            leaf other-vlan-tag-2 {
                              type uint32;
                              description
                                "second vlan tag";
                            }
    
                            leaf other-vlan-tag-mask-2 {
                              type uint32;
                              description
                                "second vlan mask";
                            }
    
                            leaf pbb-vlan-tag-val {
                              type uint32;
                              description
                                "first vlan tag";
                            }
    
                            leaf pbb-vlan-tag-mask {
                              type uint32;
                              description
                                "first vlan mask";
                            }
    
                            leaf pbb-service-instance-id-val {
                              type uint32;
                              description
                                "service instances id val";
                            }
    
                            leaf pbb-service-instance-id-mask {
                              type uint32;
                              description
                                "service instances id mask";
                            }
    
                            leaf mpls-label-1 {
                              type uint32;
                              description
                                "first mpls lablel";
                            }
    
                            leaf mpls-label-2 {
                              type uint32;
                              description
                                "second mpls label";
                            }
    
                            leaf mpls-mask-1 {
                              type uint32;
                              description
                                "first mpls mask";
                            }
    
                            leaf mpls-mask-2 {
                              type uint32;
                              description
                                "second mpls mask";
                            }
    
                            leaf sci {
                              type uint64;
                              description "SCI";
                            }
    
                            leaf-list mac {
                              type uint8;
                              description
                                "MAC SA";
                            }
    
                            leaf-list mac-mask {
                              type uint8;
                              description
                                "MAC MASK";
                            }
                          }  // container rx-flow
                        }  // container metadx-flow
    
                        leaf type {
                          type Macsec-phy-vendor;
                          description "type";
                        }
                      }  // container ext
                    }  // list hw-flow
                  }  // container hw-flow-s
    
                  container sw-statistics {
                    description
                      "The Software Statistics";
                    container ext {
                      description "ext";
                      container xlfpga-stats {
                        when
                          "../type = 'xlmsfpga'" {
                          description
                            "../type = 'XLMSFPGA'";
                        }
                        description
                          "XLFPGA Stats";
                        container macsec-tx-stats {
                          description
                            "Tx SC and SA Level Stats";
                          leaf sc-encrypted-octets {
                            type uint64;
                            description
                              "Tx Octets Encrypted";
                          }
    
                          leaf sc-toolong-pkts {
                            type uint64;
                            description
                              "Tx Pkts Too Long";
                          }
    
                          leaf sc-encrypted-pkts {
                            type uint64;
                            description
                              "Tx packets Encrypted";
                          }
    
                          leaf sc-untagged-pkts {
                            type uint64;
                            description
                              "Tx Untagged Packets";
                          }
    
                          leaf sc-overrun-pkts {
                            type uint64;
                            description
                              "Tx Overrun Packets";
                          }
    
                          leaf sc-bypass-pkts {
                            type uint64;
                            description
                              "Tx Bypass Packets";
                          }
    
                          leaf sc-eapol-pkts {
                            type uint64;
                            description
                              "Tx Eapol Packets";
                          }
    
                          leaf sc-dropped-pkts {
                            type uint64;
                            description
                              "Tx Dropped Packets";
                          }
    
                          leaf current-an {
                            type uint64;
                            description
                              "Current Tx AN";
                          }
    
                          leaf sa-encrypted-pkts {
                            type uint64;
                            description
                              "Current Tx SA Encrypted Packets";
                          }
                        }  // container macsec-tx-stats
    
                        container macsec-rx-stats {
                          description
                            "Rx SC and SA Level Stats";
                          leaf sc-decrypted-octets {
                            type uint64;
                            description
                              "Rx Octets Decrypted";
                          }
    
                          leaf sc-no-tag-pkts {
                            type uint64;
                            description
                              "Rx No Tag Packets";
                          }
    
                          leaf sc-untagged-pkts {
                            type uint64;
                            description
                              "Rx Untagged Packets";
                          }
    
                          leaf sc-bad-tag-pkts {
                            type uint64;
                            description
                              "Rx Bad Tag Packets";
                          }
    
                          leaf sc-late-pkts {
                            type uint64;
                            description
                              "Rx Late Pkts";
                          }
    
                          leaf sc-delayed-pkts {
                            type uint64;
                            description
                              "Rx Delayed Pkts";
                          }
    
                          leaf sc-unchecked-pkts {
                            type uint64;
                            description
                              "Rx Unchecked Pkts";
                          }
    
                          leaf sc-no-sci-pkts {
                            type uint64;
                            description
                              "Rx No SCI Pkts";
                          }
    
                          leaf sc-unknown-sci-pkts {
                            type uint64;
                            description
                              "Rx Unknown SCI Pkts";
                          }
    
                          leaf sc-ok-pkts {
                            type uint64;
                            description
                              "Rx Pkts Ok";
                          }
    
                          leaf sc-not-using-pkts {
                            type uint64;
                            description
                              "Rx Pkts Not Using SA";
                          }
    
                          leaf sc-unused-pkts {
                            type uint64;
                            description
                              "Rx Pkts Unused SA";
                          }
    
                          leaf sc-not-valid-pkts {
                            type uint64;
                            description
                              "Rx Not Valid Pkts";
                          }
    
                          leaf sc-invalid-pkts {
                            type uint64;
                            description
                              "Rx Pkts Invalid";
                          }
    
                          leaf sc-overrun-pkts {
                            type uint64;
                            description
                              "Rx Overrun Pkts";
                          }
    
                          leaf sc-bypass-pkts {
                            type uint64;
                            description
                              "Rx Bypass Packets";
                          }
    
                          leaf sc-eapol-pkts {
                            type uint64;
                            description
                              "Rx Eapol Packets";
                          }
    
                          leaf sc-dropped-pkts {
                            type uint64;
                            description
                              "Rx Dropped Packets";
                          }
    
                          list rx-sa-stat {
                            description
                              "Rx SA Level Stats";
                            leaf an {
                              type uint64;
                              description
                                "Current Rx AN";
                            }
    
                            leaf sa-ok-pkts {
                              type uint64;
                              description
                                "Rx Ok Pkts for Current AN";
                            }
    
                            leaf sa-not-using-pkts {
                              type uint64;
                              description
                                "Rx Pkts not using SA for Current AN";
                            }
    
                            leaf sa-unused-pkts {
                              type uint64;
                              description
                                "Rx Pkts Unused Pkts for Current AN";
                            }
    
                            leaf sa-not-valid-pkts {
                              type uint64;
                              description
                                "Rx Not Valid Pkts for Current AN";
                            }
    
                            leaf sa-invalid-pkts {
                              type uint64;
                              description
                                "Rx Invalid Pkts for current AN";
                            }
                          }  // list rx-sa-stat
                        }  // container macsec-rx-stats
                      }  // container xlfpga-stats
    
                      container es200-stats {
                        when
                          "../type = 'apm-es200'" {
                          description
                            "../type = 'APM_ES200'";
                        }
                        description
                          "ES200 Stats";
                        container tx-sa-stats {
                          description
                            "Tx SA Stats";
                          leaf out-pkts-too-long {
                            type uint64;
                            description
                              "packets exceeding egress MTU";
                          }
    
                          leaf out-pkts-encrypted-protected {
                            type uint64;
                            description
                              "packets encrypted/protected";
                          }
    
                          leaf out-octets-encrypted-protected1 {
                            type uint64;
                            description
                              "octets1 encrypted/protected ?";
                          }
                        }  // container tx-sa-stats
    
                        container rx-sa-stats {
                          description
                            "Rx SA Stats";
                          leaf in-pkts-unchecked {
                            type uint64;
                            description
                              "frame not valid & validateFrames disabled";
                          }
    
                          leaf in-pkts-delayed {
                            type uint64;
                            description
                              "PN of packet outside replay window &
    validateFrames !strict";
                          }
    
                          leaf in-pkts-late {
                            type uint64;
                            description
                              "PN of packet outside replay window &
    validateFrames strict";
                          }
    
                          leaf in-pkts-ok {
                            type uint64;
                            description
                              "packets with no error";
                          }
    
                          leaf in-pkts-invalid {
                            type uint64;
                            description
                              "packet not valid & validateFrames !strict";
                          }
    
                          leaf in-pkts-not-valid {
                            type uint64;
                            description
                              "packet not valid & validateFrames strict";
                          }
    
                          leaf in-pkts-not-using-sa {
                            type uint64;
                            description
                              "packet assigned to SA not in use &
    validateFrames strict";
                          }
    
                          leaf in-pkts-unused-sa {
                            type uint64;
                            description
                              "packet assigned to SA not in use &
    validateFrames !strict";
                          }
    
                          leaf in-octets-decrypted-validated1 {
                            type uint64;
                            description
                              "octets1 decrypted/validated";
                          }
    
                          leaf in-octets-validated {
                            type uint64;
                            description
                              "octets validated";
                          }
                        }  // container rx-sa-stats
    
                        container tx-sc-macsec-stats {
                          description
                            "Tx SC Macsec Stats";
                          leaf out-pkts-sa-not-in-use {
                            type uint64;
                            description
                              "Packets received with SA not in use";
                          }
                        }  // container tx-sc-macsec-stats
    
                        container rx-sc-macsec-stats {
                          description
                            "Rx SC Macsec Stats";
                          leaf in-pkts-sa-not-in-use {
                            type uint64;
                            description
                              "Packets received with SA not in use";
                          }
                        }  // container rx-sc-macsec-stats
    
                        container tx-interface-macsec-stats {
                          description
                            "Tx interface Macsec Stats";
                          leaf transform-error-pkts {
                            type uint64;
                            description
                              "counter to count internal errors in the MACSec
    core";
                          }
    
                          leaf out-pkt-ctrl {
                            type uint64;
                            description
                              "egress packet that is classified as control
    packet";
                          }
    
                          leaf out-pkts-untagged {
                            type uint64;
                            description
                              "egress packet to go out untagged when
    protectFrames not set";
                          }
    
                          leaf out-octets-unctrl {
                            type uint64;
                            description
                              "Octets tx on uncontrolled port";
                          }
    
                          leaf out-octets-ctrl {
                            type uint64;
                            description
                              "Octets tx on controlled port";
                          }
    
                          leaf out-octets-common {
                            type uint64;
                            description
                              "Octets tx on common port";
                          }
    
                          leaf out-ucast-pkts-unctrl {
                            type uint64;
                            description
                              "Unicast pkts tx on uncontrolled port";
                          }
    
                          leaf out-ucast-pkts-ctrl {
                            type uint64;
                            description
                              "Unicast pkts tx on controlled port";
                          }
    
                          leaf out-mcast-pkts-unctrl {
                            type uint64;
                            description
                              "Multicast pkts tx on uncontrolled port";
                          }
    
                          leaf out-mcast-pkts-ctrl {
                            type uint64;
                            description
                              "Multicast pkts tx on controlled port";
                          }
    
                          leaf out-bcast-pkts-unctrl {
                            type uint64;
                            description
                              "Broadcast pkts tx on uncontrolled port";
                          }
    
                          leaf out-bcast-pkts-ctrl {
                            type uint64;
                            description
                              "Broadcast pkts tx on controlled port";
                          }
    
                          leaf out-rx-drop-pkts-unctrl {
                            type uint64;
                            description
                              "Control pkts dropped due to overrun";
                          }
    
                          leaf out-rx-drop-pkts-ctrl {
                            type uint64;
                            description
                              "Data pkts dropped due to overrun";
                          }
    
                          leaf out-rx-err-pkts-unctrl {
                            type uint64;
                            description
                              "Control pkts error-terminated due to overrun";
                          }
    
                          leaf out-rx-err-pkts-ctrl {
                            type uint64;
                            description
                              "Data pkts error-terminated due to overrun";
                          }
    
                          leaf out-drop-pkts-class {
                            type uint64;
                            description
                              "Packets dropped due to overflow in
    classification pipeline";
                          }
    
                          leaf out-drop-pkts-data {
                            type uint64;
                            description
                              "Packets dropped due to overflow in  processing
    pipeline";
                          }
                        }  // container tx-interface-macsec-stats
    
                        container rx-interface-macsec-stats {
                          description
                            "Rx interface Macsec Stats";
                          leaf transform-error-pkts {
                            type uint64;
                            description
                              "counter to count internal errors in the MACSec
    core";
                          }
    
                          leaf in-pkt-ctrl {
                            type uint64;
                            description
                              "ingress packet that is classified as control
    packet";
                          }
    
                          leaf in-pkt-no-tag {
                            type uint64;
                            description
                              "ingress packet untagged & validateFrames is
    strict";
                          }
    
                          leaf in-pkts-untagged {
                            type uint64;
                            description
                              "ingress packet untagged & validateFrames is
    !strict";
                          }
    
                          leaf in-pkt-bad-tag {
                            type uint64;
                            description
                              "ingress frames received with an invalid MACSec
    tag or ICV
    added with next one gives InPktsSCIMiss";
                          }
    
                          leaf in-pkt-no-sci {
                            type uint64;
                            description
                              "correctly tagged ingress frames for which no
    valid SC found &
    validateFrames is strict";
                          }
    
                          leaf in-pkts-unknown-sci {
                            type uint64;
                            description
                              "correctly tagged ingress frames for which no
    valid SC found &
    validateFrames is !strict";
                          }
    
                          leaf in-pkts-tagged-ctrl {
                            type uint64;
                            description
                              "ingress packets that are control or KaY packets";
                          }
    
                          leaf in-octets-unctrl {
                            type uint64;
                            description
                              "Octets rx on uncontrolled port";
                          }
    
                          leaf in-octets-ctrl {
                            type uint64;
                            description
                              "Octets rx on controlled port";
                          }
    
                          leaf in-ucast-pkts-unctrl {
                            type uint64;
                            description
                              "Unicast pkts rx on uncontrolled port";
                          }
    
                          leaf in-ucast-pkts-ctrl {
                            type uint64;
                            description
                              "Unicast pkts rx on controlled port";
                          }
    
                          leaf in-mcast-pkts-unctrl {
                            type uint64;
                            description
                              "Multicast pkts rx on uncontrolled port";
                          }
    
                          leaf in-mcast-pkts-ctrl {
                            type uint64;
                            description
                              "Multicast pkts rx on controlled port";
                          }
    
                          leaf in-bcast-pkts-unctrl {
                            type uint64;
                            description
                              "Broadcast pkts rx on uncontrolled port";
                          }
    
                          leaf in-bcast-pkts-ctrl {
                            type uint64;
                            description
                              "Broadcast pkts rx on controlled port";
                          }
    
                          leaf in-rx-drop-pkts-unctrl {
                            type uint64;
                            description
                              "Control pkts dropped due to overrun";
                          }
    
                          leaf in-rx-drop-pkts-ctrl {
                            type uint64;
                            description
                              "Data pkts dropped due to overrun";
                          }
    
                          leaf in-rx-error-pkts-unctrl {
                            type uint64;
                            description
                              "Control pkts error-terminated due to overrun";
                          }
    
                          leaf in-rx-error-pkts-ctrl {
                            type uint64;
                            description
                              "Data pkts error-terminated due to overrun";
                          }
    
                          leaf in-drop-pkts-class {
                            type uint64;
                            description
                              "Packets dropped due to overflow in
    classification pipeline";
                          }
    
                          leaf in-drop-pkts-data {
                            type uint64;
                            description
                              "Packets dropped due to overflow in processing
    pipeline";
                          }
                        }  // container rx-interface-macsec-stats
    
                        container tx-port-stats {
                          description
                            "Port level TX Stats";
                          leaf multi-flow-match {
                            type uint64;
                            description
                              "Pkts matching multiple flow entries";
                          }
    
                          leaf parser-dropped {
                            type uint64;
                            description
                              "Pkts dropped by header parser as invalid";
                          }
    
                          leaf flow-miss {
                            type uint64;
                            description
                              "Pkts matching none of flow entries";
                          }
    
                          leaf pkts-ctrl {
                            type uint64;
                            description
                              "Control pkts forwarded";
                          }
    
                          leaf pkts-data {
                            type uint64;
                            description
                              "Data pkts forwarded";
                          }
    
                          leaf pkts-dropped {
                            type uint64;
                            description
                              "Pkts dropped by classifier";
                          }
    
                          leaf pkts-err-in {
                            type uint64;
                            description
                              "Pkts received with an error indication";
                          }
                        }  // container tx-port-stats
    
                        container rx-port-stats {
                          description
                            "Port level RX Stats";
                          leaf multi-flow-match {
                            type uint64;
                            description
                              "Pkts matching multiple flow entries";
                          }
    
                          leaf parser-dropped {
                            type uint64;
                            description
                              "Pkts dropped by header parser as invalid";
                          }
    
                          leaf flow-miss {
                            type uint64;
                            description
                              "Pkts matching none of flow entries";
                          }
    
                          leaf pkts-ctrl {
                            type uint64;
                            description
                              "Control pkts forwarded";
                          }
    
                          leaf pkts-data {
                            type uint64;
                            description
                              "Data pkts forwarded";
                          }
    
                          leaf pkts-dropped {
                            type uint64;
                            description
                              "Pkts dropped by classifier";
                          }
    
                          leaf pkts-err-in {
                            type uint64;
                            description
                              "Pkts received with an error indication";
                          }
                        }  // container rx-port-stats
                      }  // container es200-stats
    
                      container mv88ec808-stats {
                        when
                          "../type = 'mv88ec808'" {
                          description
                            "../type = 'MV88EC808'";
                        }
                        description
                          "MV88EC808 Stats";
                        container eg-stat {
                          description
                            "Egress SA Stats of active SA";
                          leaf an-no {
                            type uint8;
                            description
                              "AN Number";
                          }
    
                          leaf sa-no {
                            type uint32;
                            description
                              "Sa Number";
                          }
    
                          leaf port-no {
                            type uint32;
                            description
                              "Port Number";
                          }
    
                          leaf out-pkts-too-long {
                            type uint64;
                            description
                              "exceeding egress MTU";
                          }
    
                          leaf out-pkts-encrypted-protected {
                            type uint64;
                            description
                              "encrypted/protected";
                          }
    
                          leaf out-octets-encrypted-protected1 {
                            type uint64;
                            description
                              "octets1 encrypted/protected";
                          }
    
                          leaf out-octets-encrypted-protected2 {
                            type uint64;
                            description
                              "octets2 encrypted/protected";
                          }
                        }  // container eg-stat
    
                        container glb-stat-i {
                          description
                            "Igress Global Stats";
                          leaf transform-error-pkts {
                            type uint64;
                            description
                              "internal errors in the MACSec core ";
                          }
    
                          leaf in-pkt-ctrl {
                            type uint64;
                            description
                              "ingress control packet";
                          }
    
                          leaf in-pkt-no-tag {
                            type uint64;
                            description
                              "untagged & validateFrames is strict";
                          }
    
                          leaf in-pkts-untagged {
                            type uint64;
                            description
                              "untagged & validateFrames is !strict";
                          }
    
                          leaf in-pkts-tagged {
                            type uint64;
                            description
                              "valid MACSec tag - non Std";
                          }
    
                          leaf in-pkt-bad-tag {
                            type uint64;
                            description
                              "invalid MACSec tag or ICV";
                          }
    
                          leaf in-pkts-untagged-miss {
                            type uint64;
                            description
                              "untagged did not match any SA";
                          }
    
                          leaf in-pkt-no-sci {
                            type uint64;
                            description
                              "no valid SC & validateFrames is strict";
                          }
    
                          leaf in-pkts-unknown-sci {
                            type uint64;
                            description
                              "no valid SC found & validateFrames is !strict";
                          }
    
                          leaf in-consist-check-controlled-not-pass {
                            type uint64;
                            description
                              "ccfailed destined to controlled port";
                          }
    
                          leaf in-consist-check-uncontrolled-not-pass {
                            type uint64;
                            description
                              "ccfailed destined to uncontrolled port";
                          }
    
                          leaf in-consist-check-controlled-pass {
                            type uint64;
                            description
                              "ccpassed destined to controlled port";
                          }
    
                          leaf in-consist-check-uncontrolled-pass {
                            type uint64;
                            description
                              "ccpassed destined to uncontrolled port";
                          }
    
                          leaf in-over-sized-pkts {
                            type uint64;
                            description
                              " greater than configured MTU";
                          }
                        }  // container glb-stat-i
    
                        container glb-stat-e {
                          description
                            "Egress Global Stats";
                          leaf transform-error-pkts {
                            type uint64;
                            description
                              "internal errors in the MACSec core";
                          }
    
                          leaf out-pkt-ctrl {
                            type uint64;
                            description
                              "control packet";
                          }
    
                          leaf out-pkts-unknown-sa {
                            type uint64;
                            description
                              "not matching any SA";
                          }
    
                          leaf out-pkts-untagged {
                            type uint64;
                            description
                              "untagged when protectFrames not set";
                          }
    
                          leaf out-over-sized-pkts {
                            type uint64;
                            description
                              "packet greater than the configured MTU";
                          }
                        }  // container glb-stat-e
    
                        list ig-stat {
                          description
                            "Igress SA Stats of active SA";
                          leaf an-no {
                            type uint8;
                            description
                              "AN Number";
                          }
    
                          leaf sa-no {
                            type uint32;
                            description
                              "Sa Number";
                          }
    
                          leaf port-no {
                            type uint32;
                            description
                              "Port Number";
                          }
    
                          leaf in-pkts-unchecked {
                            type uint64;
                            description
                              "frame not valid & validateFrames disabled";
                          }
    
                          leaf in-pkts-delayed {
                            type uint64;
                            description
                              "PN of packet outside replay window &
    validateFrames !strict";
                          }
    
                          leaf in-pkts-late {
                            type uint64;
                            description
                              "PN of packet outside replay window &
    validateFrames strict";
                          }
    
                          leaf in-pkts-ok {
                            type uint64;
                            description
                              "packets with no error";
                          }
    
                          leaf in-pkts-invalid {
                            type uint64;
                            description
                              "packet not valid & validateFrames !strict";
                          }
    
                          leaf in-pkts-not-valid {
                            type uint64;
                            description
                              "packet not valid & validateFrames strict ";
                          }
    
                          leaf in-pkts-not-using-sa {
                            type uint64;
                            description
                              "packet assigned to SA not in use &
    validateFrames strict";
                          }
    
                          leaf in-pkts-unused-sa {
                            type uint64;
                            description
                              "packet assigned to SA not in use &
    validateFrames !strict";
                          }
    
                          leaf in-pkts-untagged-hit {
                            type uint64;
                            description
                              "packet assigned to SA but not tagged
    (non-standard)";
                          }
    
                          leaf in-octets-decrypted-validated1 {
                            type uint64;
                            description
                              "octets1 decrypted/validated";
                          }
    
                          leaf in-octets-decrypted-validated2 {
                            type uint64;
                            description
                              "octets2 decrypted/validated";
                          }
                        }  // list ig-stat
                      }  // container mv88ec808-stats
    
                      container x120-stats {
                        when
                          "../type = 'apm-x120'" {
                          description
                            "../type = 'APM_X120'";
                        }
                        description "X120 Stats";
                        container tx-sa-stats {
                          description
                            "Tx SA Stats";
                          leaf out-pkts-too-long {
                            type uint64;
                            description
                              "packets exceeding egress MTU";
                          }
    
                          leaf out-pkts-encrypted-protected {
                            type uint64;
                            description
                              "packets encrypted/protected";
                          }
    
                          leaf out-octets-encrypted-protected1 {
                            type uint64;
                            description
                              "octets1 encrypted/protected ?";
                          }
                        }  // container tx-sa-stats
    
                        container rx-sa-stats {
                          description
                            "Rx SA Stats";
                          leaf in-pkts-unchecked {
                            type uint64;
                            description
                              "frame not valid & validateFrames disabled";
                          }
    
                          leaf in-pkts-delayed {
                            type uint64;
                            description
                              "PN of packet outside replay window &
    validateFrames !strict";
                          }
    
                          leaf in-pkts-late {
                            type uint64;
                            description
                              "PN of packet outside replay window &
    validateFrames strict";
                          }
    
                          leaf in-pkts-ok {
                            type uint64;
                            description
                              "packets with no error";
                          }
    
                          leaf in-pkts-invalid {
                            type uint64;
                            description
                              "packet not valid & validateFrames !strict";
                          }
    
                          leaf in-pkts-not-valid {
                            type uint64;
                            description
                              "packet not valid & validateFrames strict";
                          }
    
                          leaf in-pkts-not-using-sa {
                            type uint64;
                            description
                              "packet assigned to SA not in use &
    validateFrames strict";
                          }
    
                          leaf in-pkts-unused-sa {
                            type uint64;
                            description
                              "packet assigned to SA not in use &
    validateFrames !strict";
                          }
    
                          leaf in-octets-decrypted-validated1 {
                            type uint64;
                            description
                              "octets1 decrypted/validated";
                          }
    
                          leaf in-octets-validated {
                            type uint64;
                            description
                              "octets validated";
                          }
    
                          leaf in-pkts-untagged-hit {
                            type uint64;
                            description
                              "packet assigned to SA but not tagged
    (non-standard)";
                          }
                        }  // container rx-sa-stats
    
                        container tx-interface-macsec-stats {
                          description
                            "Tx interface Macsec Stats";
                          leaf transform-error-pkts {
                            type uint64;
                            description
                              "counter to count internal errors in the MACSec
    core";
                          }
    
                          leaf out-pkt-ctrl {
                            type uint64;
                            description
                              "egress packet that is classified as control
    packet";
                          }
    
                          leaf out-pkts-untagged {
                            type uint64;
                            description
                              "egress packet to go out untagged when
    protectFrames not set";
                          }
    
                          leaf out-pkts-unknown-sa {
                            type uint64;
                            description
                              "egress packet not matching any  SA";
                          }
    
                          leaf out-over-sized-pkts {
                            type uint64;
                            description
                              "egress packet with size greater than the
    configured MTU";
                          }
                        }  // container tx-interface-macsec-stats
    
                        container rx-interface-macsec-stats {
                          description
                            "Rx interface Macsec Stats";
                          leaf transform-error-pkts {
                            type uint64;
                            description
                              "counter to count internal errors in the MACSec
    core";
                          }
    
                          leaf in-pkt-ctrl {
                            type uint64;
                            description
                              "ingress packet that is classified as control
    packet";
                          }
    
                          leaf in-pkt-no-tag {
                            type uint64;
                            description
                              "ingress packet untagged & validateFrames is
    strict";
                          }
    
                          leaf in-pkts-untagged {
                            type uint64;
                            description
                              "ingress packet untagged & validateFrames is
    !strict";
                          }
    
                          leaf in-pkt-bad-tag {
                            type uint64;
                            description
                              "ingress frames received with an invalid MACSec
    tag or ICV
    added with next one gives InPktsSCIMiss";
                          }
    
                          leaf in-pkt-no-sci {
                            type uint64;
                            description
                              "correctly tagged ingress frames for which no
    valid SC found &
    validateFrames is strict";
                          }
    
                          leaf in-pkts-unknown-sci {
                            type uint64;
                            description
                              "correctly tagged ingress frames for which no
    valid SC found &
    validateFrames is !strict";
                          }
    
                          leaf in-pkts-tagged {
                            type uint64;
                            description
                              "ingress frames received with a valid MACSec tag
    - non Std";
                          }
    
                          leaf in-pkts-untagged-miss {
                            type uint64;
                            description
                              "untagged ingress frame that did not match any SA";
                          }
    
                          leaf in-over-sized-pkts {
                            type uint64;
                            description
                              "ingress packet with size greater than configured
    MTU";
                          }
                        }  // container rx-interface-macsec-stats
                      }  // container x120-stats
    
                      container metadx-stats {
                        when
                          "../type = 'meta-dx1'" {
                          description
                            "../type = 'META_DX1'";
                        }
                        description
                          "META_DX1 Stats";
                        container eg-sa-stat {
                          description
                            "Egress current SA Stats";
                          leaf an-no {
                            type uint8;
                            description
                              "AN Number";
                          }
    
                          leaf sa-no {
                            type uint32;
                            description
                              "Sa Number";
                          }
    
                          leaf port-no {
                            type uint32;
                            description
                              "Port Number";
                          }
    
                          leaf pkts-encrypted-protected {
                            type uint64;
                            description
                              "No of packets encrypted by the SA";
                          }
    
                          leaf pkts-too-long {
                            type uint64;
                            description
                              "No of packets with packet length larger than max
    length configured";
                          }
    
                          leaf pkts-sa-not-in-use {
                            type uint64;
                            description
                              "No of packets that reached an unused SA";
                          }
    
                          leaf octets-encrypted-protected {
                            type uint64;
                            description
                              "No of octets of User Data encrypted";
                          }
                        }  // container eg-sa-stat
    
                        container eg-sc-stat {
                          description
                            "Egress SC Stats ";
                          leaf port-no {
                            type uint32;
                            description
                              "Port Number";
                          }
    
                          leaf pkts-encrypted-protected {
                            type uint64;
                            description
                              "No of packets encrypted by the SA";
                          }
    
                          leaf pkts-too-long {
                            type uint64;
                            description
                              "No of packets with packet length larger than max
    length configured";
                          }
    
                          leaf pkts-sa-not-in-use {
                            type uint64;
                            description
                              "No of packets that reached an unused SA";
                          }
    
                          leaf octets-encrypted-protected {
                            type uint64;
                            description
                              "No of octets of User Data encrypted";
                          }
                        }  // container eg-sc-stat
    
                        container ig-sc-stat {
                          description
                            "Igress SC Stats ";
                          leaf port-no {
                            type uint32;
                            description
                              "Port Number";
                          }
    
                          leaf pkts-unchecked {
                            type uint64;
                            description
                              "No of pkts with invalid frame indication";
                          }
    
                          leaf pkts-delayed {
                            type uint64;
                            description
                              "No of pkts with PN below lowest PN";
                          }
    
                          leaf pkts-late {
                            type uint64;
                            description
                              "No of pkts with PN below lowest PN and
    replayProtect enabled";
                          }
    
                          leaf pkts-ok {
                            type uint64;
                            description
                              "No of valid pkts processed";
                          }
    
                          leaf pkts-invalid {
                            type uint64;
                            description
                              "No of pkts that were invalid frames for
    controlled port";
                          }
    
                          leaf pkts-not-valid {
                            type uint64;
                            description
                              "No of controlled port pkts received at
    uncontrolled port";
                          }
    
                          leaf pkts-not-using-sa {
                            type uint64;
                            description
                              "No of uncontrolled port pkts that reached not in
    use SA";
                          }
    
                          leaf pkts-unused-sa {
                            type uint64;
                            description
                              "No of controlled port pkts that reached upto SA";
                          }
    
                          leaf octets-decrypted {
                            type uint64;
                            description
                              "No of octets of User Data recovered from rx
    frames that were only encrypted or both
    integrity protected and encrypted";
                          }
    
                          leaf octets-validated {
                            type uint64;
                            description
                              "No of octets of User Data recovered from rx
    frames that were integrity protected but not
    encrypted";
                          }
                        }  // container ig-sc-stat
    
                        container eg-int-stat {
                          description
                            "Egress Vport, channel and rule stats of SC";
                          leaf port-no {
                            type uint32;
                            description
                              "front pannel PORT Number";
                          }
    
                          leaf vport-no {
                            type uint32;
                            description
                              "VPORT ID or Number";
                          }
    
                          leaf rule-no {
                            type uint32;
                            description
                              "Rule ID or Number";
                          }
    
                          leaf pkts-xform-err {
                            type uint64;
                            description
                              "No of pkts that encountered transform engine
    errors";
                          }
    
                          leaf ctrl-pkts {
                            type uint64;
                            description
                              "No of pkts processed as control pkts";
                          }
    
                          leaf untagged-pkts {
                            type uint64;
                            description
                              "No of pkts processed as untagged";
                          }
    
                          leaf multiple-rule-match {
                            type uint64;
                            description
                              "No of pkts received with multiple matching
    classification rules";
                          }
    
                          leaf header-parser-drop {
                            type uint64;
                            description
                              "No of pkts dropped by the header parser as
    invalid";
                          }
    
                          leaf rule-mis-match {
                            type uint64;
                            description
                              "No of pkts that did not match any classification
    rules";
                          }
    
                          leaf ctrl-pkt-match {
                            type uint64;
                            description
                              "No of pkts forwarded as control pkts";
                          }
    
                          leaf data-pkt-match {
                            type uint64;
                            description
                              "No of pkts forwarded as data pkts";
                          }
    
                          leaf dropped-pkts {
                            type uint64;
                            description
                              "No of pkts dropped due to classification";
                          }
    
                          leaf in-error-pkts {
                            type uint64;
                            description
                              "No of pkts marked with error packet indication
    before classification";
                          }
    
                          leaf rule-match {
                            type uint64;
                            description
                              "Count of hits matching TCAM";
                          }
                        }  // container eg-int-stat
    
                        container ig-int-stat {
                          description
                            "Ingress Vport, channel and rule stats of SC";
                          leaf port-no {
                            type uint32;
                            description
                              "front pannel PORT Number";
                          }
    
                          leaf vport-no {
                            type uint32;
                            description
                              "VPORT Number";
                          }
    
                          leaf rule-no {
                            type uint32;
                            description
                              " Rule Number";
                          }
    
                          leaf pkts-xform-err {
                            type uint64;
                            description
                              "No of pkts that encountered transform engine
    errors";
                          }
    
                          leaf ctrl-pkts {
                            type uint64;
                            description
                              "No of pkts processed as control pkts";
                          }
    
                          leaf untagged-pkts {
                            type uint64;
                            description
                              "No of pkts processed as untagged";
                          }
    
                          leaf no-tag-pkts {
                            type uint64;
                            description
                              "No of pkts processed as no tag";
                          }
    
                          leaf bad-tag-pkts {
                            type uint64;
                            description
                              "No of pkts processed as bad tagged pkts";
                          }
    
                          leaf no-sci-match-pkts {
                            type uint64;
                            description
                              "No of uncontrolled port pkts dropped as No
    Matching SCI";
                          }
    
                          leaf unknwn-sci-match-pkts {
                            type uint64;
                            description
                              "No of controlled port pkts processed as Unknown
    Matching SCI";
                          }
    
                          leaf tagged-ctrl-pkts {
                            type uint64;
                            description
                              "No of pkts processed as control packet and
    tagged (KaY pkts)";
                          }
    
                          leaf multiple-rule-match {
                            type uint64;
                            description
                              "No of pkts received with multiple matching
    classification rules";
                          }
    
                          leaf header-parser-drop {
                            type uint64;
                            description
                              "No of pkts dropped by the header parser as
    invalid";
                          }
    
                          leaf rule-mis-match {
                            type uint64;
                            description
                              "No of pkts that did not match any classification
    rules";
                          }
    
                          leaf ctrl-pkt-match {
                            type uint64;
                            description
                              "No of pkts forwarded as control pkts";
                          }
    
                          leaf data-pkt-match {
                            type uint64;
                            description
                              "No of pkts forwarded as data pkts";
                          }
    
                          leaf dropped-pkts {
                            type uint64;
                            description
                              "No of pkts dropped due to classification";
                          }
    
                          leaf in-error-pkts {
                            type uint64;
                            description
                              "No of pkts marked with error packet indication
    before classification";
                          }
    
                          leaf rule-match {
                            type uint64;
                            description
                              "Count of hits matching TCAM";
                          }
                        }  // container ig-int-stat
    
                        container eg-glb-stat {
                          description
                            "Egress Global common Stats";
                          leaf vport-no {
                            type uint32;
                            description
                              "VPORT Number";
                          }
    
                          leaf uc-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of Unicast pkts over uncontrolled port";
                          }
    
                          leaf mc-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of Multicast pkts over uncontrolled port";
                          }
    
                          leaf bc-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of Broadcast pkts over uncontrolled port";
                          }
    
                          leaf rx-drop-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of rx_drop pkts over uncontrolled port";
                          }
    
                          leaf rx-err-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of rx_err pkts over uncontrolled port";
                          }
    
                          leaf uc-pkts-controlled {
                            type uint64;
                            description
                              "No of Unicast pkts over controlled port";
                          }
    
                          leaf mc-pkts-controlled {
                            type uint64;
                            description
                              "No of Multicast pkts over controlled port";
                          }
    
                          leaf bc-pkts-controlled {
                            type uint64;
                            description
                              "No of Broadcast pkts over controlled port";
                          }
    
                          leaf rx-drop-pkts-controlled {
                            type uint64;
                            description
                              "No of rx_drop pkts over controlled port";
                          }
    
                          leaf rx-err-pkts-controlled {
                            type uint64;
                            description
                              "No of rx_err pkts over controlled port";
                          }
    
                          leaf total-bytes-uncontrolled {
                            type uint64;
                            description
                              "Sum of all the octets of MSDUs delivered to
    uncontrolled port";
                          }
    
                          leaf total-bytes-controlled {
                            type uint64;
                            description
                              "Sum of all the octets of MSDUs delivered to
    controlled port";
                          }
                        }  // container eg-glb-stat
    
                        container ig-glb-stat {
                          description
                            "Ingress Global common Stats";
                          leaf vport-no {
                            type uint32;
                            description
                              "VPORT Number";
                          }
    
                          leaf uc-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of Unicast pkts over uncontrolled port";
                          }
    
                          leaf mc-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of Multicast pkts over uncontrolled port";
                          }
    
                          leaf bc-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of Broadcast pkts over uncontrolled port";
                          }
    
                          leaf rx-drop-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of rx_drop pkts over uncontrolled port";
                          }
    
                          leaf rx-err-pkts-uncontrolled {
                            type uint64;
                            description
                              "No of rx_err pkts over uncontrolled port";
                          }
    
                          leaf uc-pkts-controlled {
                            type uint64;
                            description
                              "No of Unicast pkts over controlled port";
                          }
    
                          leaf mc-pkts-controlled {
                            type uint64;
                            description
                              "No of Multicast pkts over controlled port";
                          }
    
                          leaf bc-pkts-controlled {
                            type uint64;
                            description
                              "No of Broadcast pkts over controlled port";
                          }
    
                          leaf rx-drop-pkts-controlled {
                            type uint64;
                            description
                              "No of rx_drop pkts over controlled port";
                          }
    
                          leaf rx-err-pkts-controlled {
                            type uint64;
                            description
                              "No of rx_err pkts over controlled port";
                          }
    
                          leaf total-bytes-uncontrolled {
                            type uint64;
                            description
                              "Sum of all the octets of MSDUs delivered to
    uncontrolled port";
                          }
    
                          leaf total-bytes-controlled {
                            type uint64;
                            description
                              "Sum of all the octets of MSDUs delivered to
    controlled port";
                          }
                        }  // container ig-glb-stat
    
                        list ig-sa-stat {
                          description
                            "Ingress current SA Stats";
                          leaf an-no {
                            type uint8;
                            description
                              "AN Number";
                          }
    
                          leaf sa-no {
                            type uint32;
                            description
                              "Sa Number";
                          }
    
                          leaf port-no {
                            type uint32;
                            description
                              "Port Number";
                          }
    
                          leaf pkts-unchecked {
                            type uint64;
                            description
                              "No of pkts with invalid frame indication";
                          }
    
                          leaf pkts-delayed {
                            type uint64;
                            description
                              "No of pkts with PN below lowest PN";
                          }
    
                          leaf pkts-late {
                            type uint64;
                            description
                              "No of pkts with PN below lowest PN and
    replayProtect enabled";
                          }
    
                          leaf pkts-ok {
                            type uint64;
                            description
                              "No of valid pkts processed";
                          }
    
                          leaf pkts-invalid {
                            type uint64;
                            description
                              "No of pkts that were invalid frames for
    controlled port";
                          }
    
                          leaf pkts-not-valid {
                            type uint64;
                            description
                              "No of controlled port pkts received at
    uncontrolled port";
                          }
    
                          leaf pkts-not-using-sa {
                            type uint64;
                            description
                              "No of uncontrolled port pkts that reached not in
    use SA";
                          }
    
                          leaf pkts-unused-sa {
                            type uint64;
                            description
                              "No of controlled port pkts that reached upto SA";
                          }
    
                          leaf octets-decrypted {
                            type uint64;
                            description
                              "No of octets of User Data recovered from rx
    frames that were only encrypted or both
    integrity protected and encrypted";
                          }
    
                          leaf octets-validated {
                            type uint64;
                            description
                              "No of octets of User Data recovered from rx
    frames that were integrity protected but not
    encrypted";
                          }
                        }  // list ig-sa-stat
                      }  // container metadx-stats
    
                      leaf type {
                        type Macsec-phy-vendor;
                        description "type";
                      }
                    }  // container ext
                  }  // container sw-statistics
    
                  leaf name {
                    type xr:Interface-name;
                    description "Value";
                  }
                }  // list interface
              }  // container interfaces
    
              leaf node-name {
                type xr:Node-id;
                description "Node";
              }
            }  // list node
          }  // container nodes
        }  // container macsec-platform
      }  // module Cisco-IOS-XR-crypto-macsec-pl-oper
    

© 2023 YumaWorks, Inc. All rights reserved.