// gribi_aft is generated by proto_generator as a protobuf
// representation of a YANG schema. This version is used as an
// integration test for ygot..
//
// Input schema modules:
//  - github.com/openconfig/gribi/v1/yang/gribi-aft.yang
// Include paths:
//   - github.com/openconfig/gribi/v1/yang/...
//   - github.com/openconfig/gribi/v1/yang/deps/...
syntax = "proto3";

package ygot.protomap.tests.gribi_aft;

import "github.com/openconfig/ygot/proto/ywrapper/ywrapper.proto";
import "github.com/openconfig/ygot/proto/yext/yext.proto";
import "github.com/openconfig/ygot/protomap/integration_tests/testdata/gribi_aft/enums/enums.proto";

option go_package = "github.com/openconfig/gribi/v1/proto/gribi_aft";

message Device {
  Afts afts = 35982132 [(yext.schemapath) = "/afts"];
}

message Afts {
  message Ipv4Entry {
    gribi_aft.enums.OpenconfigAftTypesEncapsulationHeaderType decapsulate_header = 383809427 [(yext.schemapath) = "/afts/ipv4-unicast/ipv4-entry/state/decapsulate-header"];
    ywrapper.BytesValue entry_metadata = 290934374 [(yext.schemapath) = "/afts/ipv4-unicast/ipv4-entry/state/entry-metadata"];
    ywrapper.UintValue next_hop_group = 497198611 [(yext.schemapath) = "/afts/ipv4-unicast/ipv4-entry/state/next-hop-group"];
    ywrapper.StringValue next_hop_group_network_instance = 32856574 [(yext.schemapath) = "/afts/ipv4-unicast/ipv4-entry/state/next-hop-group-network-instance"];
  }
  message Ipv4EntryKey {
    string prefix = 1 [(yext.schemapath) = "/afts/ipv4-unicast/ipv4-entry/state/prefix|/afts/ipv4-unicast/ipv4-entry/prefix"];
    Ipv4Entry ipv4_entry = 2;
  }
  message Ipv6Entry {
    gribi_aft.enums.OpenconfigAftTypesEncapsulationHeaderType decapsulate_header = 328774623 [(yext.schemapath) = "/afts/ipv6-unicast/ipv6-entry/state/decapsulate-header"];
    ywrapper.BytesValue entry_metadata = 11794282 [(yext.schemapath) = "/afts/ipv6-unicast/ipv6-entry/state/entry-metadata"];
    ywrapper.UintValue next_hop_group = 442121607 [(yext.schemapath) = "/afts/ipv6-unicast/ipv6-entry/state/next-hop-group"];
    ywrapper.StringValue next_hop_group_network_instance = 492017618 [(yext.schemapath) = "/afts/ipv6-unicast/ipv6-entry/state/next-hop-group-network-instance"];
  }
  message Ipv6EntryKey {
    string prefix = 1 [(yext.schemapath) = "/afts/ipv6-unicast/ipv6-entry/state/prefix|/afts/ipv6-unicast/ipv6-entry/prefix"];
    Ipv6Entry ipv6_entry = 2;
  }
  message LabelEntry {
    message PoppedMplsLabelStackUnion {
      gribi_aft.enums.OpenconfigMplsTypesMplsLabelEnum popped_mpls_label_stack_openconfigmplstypesmplslabelenum = 524692292 [(yext.schemapath) = "/afts/mpls/label-entry/state/popped-mpls-label-stack"];
      uint64 popped_mpls_label_stack_uint64 = 510588408 [(yext.schemapath) = "/afts/mpls/label-entry/state/popped-mpls-label-stack"];
    }
    ywrapper.BytesValue entry_metadata = 100486674 [(yext.schemapath) = "/afts/mpls/label-entry/state/entry-metadata"];
    ywrapper.UintValue next_hop_group = 307713279 [(yext.schemapath) = "/afts/mpls/label-entry/state/next-hop-group"];
    ywrapper.StringValue next_hop_group_network_instance = 303628026 [(yext.schemapath) = "/afts/mpls/label-entry/state/next-hop-group-network-instance"];
    repeated PoppedMplsLabelStackUnion popped_mpls_label_stack = 62799927 [(yext.leaflistunion) = true,(yext.schemapath) = "/afts/mpls/label-entry/state/popped-mpls-label-stack"];
  }
  message LabelEntryKey {
    oneof label {
      gribi_aft.enums.OpenconfigMplsTypesMplsLabelEnum label_openconfigmplstypesmplslabelenum = 505941675 [(yext.schemapath) = "/afts/mpls/label-entry/state/label|/afts/mpls/label-entry/label"];
      uint64 label_uint64 = 50948579 [(yext.schemapath) = "/afts/mpls/label-entry/state/label|/afts/mpls/label-entry/label"];
    }
    LabelEntry label_entry = 2;
  }
  message MacEntry {
    ywrapper.BytesValue entry_metadata = 397462192 [(yext.schemapath) = "/afts/ethernet/mac-entry/state/entry-metadata"];
    ywrapper.UintValue next_hop_group = 320343041 [(yext.schemapath) = "/afts/ethernet/mac-entry/state/next-hop-group"];
    ywrapper.StringValue next_hop_group_network_instance = 264313412 [(yext.schemapath) = "/afts/ethernet/mac-entry/state/next-hop-group-network-instance"];
  }
  message MacEntryKey {
    string mac_address = 1 [(yext.schemapath) = "/afts/ethernet/mac-entry/state/mac-address|/afts/ethernet/mac-entry/mac-address"];
    MacEntry mac_entry = 2;
  }
  message NextHop {
    message InterfaceRef {
      ywrapper.StringValue interface = 366751031 [(yext.schemapath) = "/afts/next-hops/next-hop/interface-ref/state/interface"];
      ywrapper.UintValue subinterface = 488145333 [(yext.schemapath) = "/afts/next-hops/next-hop/interface-ref/state/subinterface"];
    }
    message IpInIp {
      ywrapper.StringValue dst_ip = 184775743 [(yext.schemapath) = "/afts/next-hops/next-hop/ip-in-ip/state/dst-ip"];
      ywrapper.StringValue src_ip = 220560118 [(yext.schemapath) = "/afts/next-hops/next-hop/ip-in-ip/state/src-ip"];
    }
    message PushedMplsLabelStackUnion {
      gribi_aft.enums.OpenconfigMplsTypesMplsLabelEnum pushed_mpls_label_stack_openconfigmplstypesmplslabelenum = 307755077 [(yext.schemapath) = "/afts/next-hops/next-hop/state/pushed-mpls-label-stack"];
      uint64 pushed_mpls_label_stack_uint64 = 47493573 [(yext.schemapath) = "/afts/next-hops/next-hop/state/pushed-mpls-label-stack"];
    }
    gribi_aft.enums.OpenconfigAftTypesEncapsulationHeaderType decapsulate_header = 104970793 [(yext.schemapath) = "/afts/next-hops/next-hop/state/decapsulate-header"];
    gribi_aft.enums.OpenconfigAftTypesEncapsulationHeaderType encapsulate_header = 69966061 [(yext.schemapath) = "/afts/next-hops/next-hop/state/encapsulate-header"];
    InterfaceRef interface_ref = 293682821 [(yext.schemapath) = "/afts/next-hops/next-hop/interface-ref"];
    ywrapper.StringValue ip_address = 242108262 [(yext.schemapath) = "/afts/next-hops/next-hop/state/ip-address"];
    IpInIp ip_in_ip = 157296597 [(yext.schemapath) = "/afts/next-hops/next-hop/ip-in-ip"];
    ywrapper.StringValue mac_address = 404609192 [(yext.schemapath) = "/afts/next-hops/next-hop/state/mac-address"];
    ywrapper.StringValue network_instance = 232391308 [(yext.schemapath) = "/afts/next-hops/next-hop/state/network-instance"];
    ywrapper.BoolValue pop_top_label = 382175404 [(yext.schemapath) = "/afts/next-hops/next-hop/state/pop-top-label"];
    repeated PushedMplsLabelStackUnion pushed_mpls_label_stack = 489592660 [(yext.leaflistunion) = true,(yext.schemapath) = "/afts/next-hops/next-hop/state/pushed-mpls-label-stack"];
    ywrapper.StringValue tunnel_src_ip_address = 174262178 [(yext.schemapath) = "/afts/next-hops/next-hop/state/tunnel-src-ip-address"];
    ywrapper.UintValue vni_label = 209933130 [(yext.schemapath) = "/afts/next-hops/next-hop/state/vni-label"];
  }
  message NextHopGroup {
    message NextHop {
      ywrapper.UintValue weight = 202140175 [(yext.schemapath) = "/afts/next-hop-groups/next-hop-group/next-hops/next-hop/state/weight"];
    }
    message NextHopKey {
      uint64 index = 1 [(yext.schemapath) = "/afts/next-hop-groups/next-hop-group/next-hops/next-hop/state/index|/afts/next-hop-groups/next-hop-group/next-hops/next-hop/index"];
      NextHop next_hop = 2;
    }
    ywrapper.UintValue backup_next_hop_group = 366506898 [(yext.schemapath) = "/afts/next-hop-groups/next-hop-group/state/backup-next-hop-group"];
    ywrapper.UintValue color = 242427279 [(yext.schemapath) = "/afts/next-hop-groups/next-hop-group/state/color"];
    repeated NextHopKey next_hop = 211071474 [(yext.schemapath) = "/afts/next-hop-groups/next-hop-group/next-hops/next-hop"];
  }
  message NextHopGroupKey {
    uint64 id = 1 [(yext.schemapath) = "/afts/next-hop-groups/next-hop-group/state/id|/afts/next-hop-groups/next-hop-group/id"];
    NextHopGroup next_hop_group = 2;
  }
  message NextHopKey {
    uint64 index = 1 [(yext.schemapath) = "/afts/next-hops/next-hop/state/index|/afts/next-hops/next-hop/index"];
    NextHop next_hop = 2;
  }
  message PolicyForwardingEntry {
    ywrapper.BytesValue entry_metadata = 141950242 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/entry-metadata"];
    ywrapper.UintValue ip_dscp = 350830798 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/ip-dscp"];
    ywrapper.StringValue ip_prefix = 66278688 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/ip-prefix"];
    oneof ip_protocol {
      gribi_aft.enums.OpenconfigPacketMatchTypesIPPROTOCOL ip_protocol_openconfigpacketmatchtypesipprotocol = 157826780 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/ip-protocol"];
      uint64 ip_protocol_uint64 = 248927945 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/ip-protocol"];
    }
    ywrapper.UintValue l4_dst_port = 447405406 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/l4-dst-port"];
    ywrapper.UintValue l4_src_port = 502173263 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/l4-src-port"];
    ywrapper.StringValue mac_address = 422272134 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/mac-address"];
    oneof mpls_label {
      gribi_aft.enums.OpenconfigMplsTypesMplsLabelEnum mpls_label_openconfigmplstypesmplslabelenum = 47620234 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/mpls-label"];
      uint64 mpls_label_uint64 = 306275022 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/mpls-label"];
    }
    ywrapper.UintValue mpls_tc = 281754514 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/mpls-tc"];
    ywrapper.UintValue next_hop_group = 188303215 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/next-hop-group"];
    ywrapper.StringValue next_hop_group_network_instance = 466188650 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/next-hop-group-network-instance"];
  }
  message PolicyForwardingEntryKey {
    uint64 index = 1 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry/state/index|/afts/policy-forwarding/policy-forwarding-entry/index"];
    PolicyForwardingEntry policy_forwarding_entry = 2;
  }
  repeated Ipv4EntryKey ipv4_entry = 410397655 [(yext.schemapath) = "/afts/ipv4-unicast/ipv4-entry"];
  repeated Ipv6EntryKey ipv6_entry = 403891971 [(yext.schemapath) = "/afts/ipv6-unicast/ipv6-entry"];
  repeated LabelEntryKey label_entry = 153428187 [(yext.schemapath) = "/afts/mpls/label-entry"];
  repeated MacEntryKey mac_entry = 162139969 [(yext.schemapath) = "/afts/ethernet/mac-entry"];
  repeated NextHopKey next_hop = 132654769 [(yext.schemapath) = "/afts/next-hops/next-hop"];
  repeated NextHopGroupKey next_hop_group = 362999033 [(yext.schemapath) = "/afts/next-hop-groups/next-hop-group"];
  repeated PolicyForwardingEntryKey policy_forwarding_entry = 269536139 [(yext.schemapath) = "/afts/policy-forwarding/policy-forwarding-entry"];
}
