submodule openconfig-aft-ipv4 {
  belongs-to "openconfig-aft" {
    prefix "oc-aft";
  }

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

  // Include common cross-AFT groupings from the common submodule.
  include openconfig-aft-common;

  oc-ext:openconfig-version "0.3.0";

  organization
    "OpenConfig working group";

  contact
    "OpenConfig working group
    www.openconfig.net";

  description
    "Submodule containing definitions of groupings for the abstract
    forwarding tables for IPv4.";

  revision 2017-05-10 {
    description
      "Refactor to provide concretised per-AF schemas per AFT.";
    reference "0.3.0";
  }

  grouping aft-ipv4-unicast-structural {
    description
      "Structural grouping defining the schema for the IPv4 unicast
      abstract forwarding table.";

    list ipv4-entry {
      key "prefix";

      description
        "List of the IPv4 unicast entries within the abstract
        forwarding table. This list is keyed by the destination IPv4
        prefix.";

      leaf prefix {
        type leafref {
          path "../config/prefix";
        }
        description
          "Reference to the IPv4 unicast destination prefix which
          must be matched to utilise the AFT entry.";
      }

      container config {
        description
          "Configuration parameters for the IPv4 unicast AFT entry.";
        uses aft-ipv4-unicast-entry-config;
      }

      container state {
        config false;
        description
          "Operational state parameters for the IPv4 unicast AFT
          entry.";
        uses aft-ipv4-unicast-entry-config;
        uses aft-ipv4-unicast-entry-state;
      }

      uses aft-common-nhop-structural;
    }
  }

  grouping aft-ipv4-unicast-entry-config {
    description
      "Configuration parameters for the IPv4 unicast entry.";

    leaf prefix {
        type oc-inet:ipv4-prefix;
        description
          "The IPv4 destination prefix that should be matched to
          utilise the AFT entry.";
    }
  }

  grouping aft-ipv4-unicast-entry-state {
    description
      "Operational state parameters for the IPv4 unicast entry."; 
    uses aft-common-entry-state;   
  }
}