module openconfig-ate-intf {
  yang-version "1";

  namespace "http://openconfig.net/yang/ate-intf";
  prefix "oc-atei";

  import openconfig-extensions { prefix  "oc-ext"; }
  import openconfig-types { prefix "oc-types"; }
  import openconfig-interfaces { prefix "oc-if"; }

  organization
    "OpenConfig working group";

  contact
    "OpenConfig working group
     netopenconfig@googlegroups.com";

  description
    "This module defines augments to the OpenConfig tree specifically for
    automated test equipment (ATE) devices. These parameters are not widely
    supported by non-ATE devices.";

  oc-ext:openconfig-version "0.1.0";

  revision 2019-08-07 {
    description "Initial revision.";
    reference "0.1.0";
  }

  oc-ext:regexp-posix;
  oc-ext:catalog-organization "openconfig";
  oc-ext:origin "openconfig";

  grouping interface-rate {
    description
      "Calculated rate parameters for interfaces supported directly by
      ATE devices.";

    leaf out-rate {
      type oc-types:ieeefloat32;
      units "bps";
      description
        "The calculated transmitted rate of the interface, measured in bits
        per second.";
    }

    leaf in-rate {
      type oc-types:ieeefloat32;
      units "bps";
      description
        "The calculate received rate of the interface, measured in bits
        per second.";
    }
  }

  augment "/oc-if:interfaces/oc-if:interface/oc-if:state" {
    description
      "Augment the OpenConfig interfaces base model with ATE specific
      state parameters.";
    uses interface-rate;
  }
}
