text: /*******************************************************************************
   *
   * DO NOT EDIT THIS FILE!
   * This file is auto-generated by fltg from
   *    INTERNAL/fltg/xgs/l3/bcm56990_b0/bcm56990_b0_L3_IIF.map.ltl for
   *      bcm56990_b0
   *
   * Tool: $SDK/INTERNAL/fltg/bin/fltg
   *
   * Edits to this file will be lost when it is regenerated.
   *
   * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
   * 
   * Copyright 2007-2020 Broadcom Inc. All rights reserved.
   */
  #include <bcmlrd/bcmlrd_internal.h>
  #include <bcmlrd/chip/bcmlrd_id.h>
  #include <bcmlrd/chip/bcm56990_b0/bcm56990_b0_lrd_field_data.h>
  #include <bcmlrd/chip/bcm56990_b0/bcm56990_b0_lrd_ltm_intf.h>
  #include <bcmlrd/chip/bcm56990_b0/bcm56990_b0_lrd_xfrm_field_desc.h>
  #include <bcmdrd/chip/bcm56990_b0_enum.h>
  #include "bcmltd/chip/bcmltd_common_enumpool.h"
  #include "bcm56990_b0_lrd_enumpool.h"
  /* L3_IIF field init */
  static const bcmlrd_field_data_t bcm56990_b0_lrd_l3_iif_map_field_data_mmd[] = {
      { /* 0 L3_IIF_ID */
        .flags = BCMLTD_FIELD_F_KEY,
        .min = &bcm56990_b0_lrd_ifd_u32_0x0,
        .def = &bcm56990_b0_lrd_ifd_u32_0x0,
        .max = &bcm56990_b0_lrd_ifd_u32_0x1fff,
        .depth = 0,
        .width = 13,
        .edata = NULL,
      },
      { /* 1 VRF_ID */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_u16_0x0,
        .def = &bcm56990_b0_lrd_ifd_u16_0x0,
        .max = &bcm56990_b0_lrd_ifd_u16_0x1fff,
        .depth = 0,
        .width = 13,
        .edata = NULL,
      },
      { /* 2 L3_IIF_PROFILE_ID */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_u8_0x0,
        .def = &bcm56990_b0_lrd_ifd_u8_0x0,
        .max = &bcm56990_b0_lrd_ifd_u8_0xff,
        .depth = 0,
        .width = 8,
        .edata = NULL,
      },
      { /* 3 TRUST_IP_DSCP */
        .flags = BCMLRD_FIELD_F_UNMAPPED,
        .min = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .def = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .max = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .depth = 0,
        .width = 0,
        .edata = NULL,
      },
      { /* 4 L3_MC_RPA_PROFILE_ID */
        .flags = BCMLRD_FIELD_F_UNMAPPED,
        .min = &bcm56990_b0_lrd_ifd_u16_0x0,
        .def = &bcm56990_b0_lrd_ifd_u16_0x0,
        .max = &bcm56990_b0_lrd_ifd_u16_0x0,
        .depth = 0,
        .width = 0,
        .edata = NULL,
      },
      { /* 5 CTR_ING_FLEX_POOL_NUMBER */
        .flags = BCMLRD_FIELD_F_UNMAPPED,
        .min = &bcm56990_b0_lrd_ifd_u32_0x0,
        .def = &bcm56990_b0_lrd_ifd_u32_0x0,
        .max = &bcm56990_b0_lrd_ifd_u32_0x0,
        .depth = 0,
        .width = 0,
        .edata = NULL,
      },
      { /* 6 CTR_ING_FLEX_BASE_INDEX */
        .flags = BCMLRD_FIELD_F_UNMAPPED,
        .min = &bcm56990_b0_lrd_ifd_u32_0x0,
        .def = &bcm56990_b0_lrd_ifd_u32_0x0,
        .max = &bcm56990_b0_lrd_ifd_u32_0x0,
        .depth = 0,
        .width = 0,
        .edata = NULL,
      },
      { /* 7 CTR_ING_FLEX_OFFSET_MODE */
        .flags = BCMLRD_FIELD_F_UNMAPPED,
        .min = &bcm56990_b0_lrd_ifd_u32_0x0,
        .def = &bcm56990_b0_lrd_ifd_u32_0x0,
        .max = &bcm56990_b0_lrd_ifd_u32_0x0,
        .depth = 0,
        .width = 0,
        .edata = NULL,
      },
      { /* 8 L3_IP_OPTION_CONTROL_PROFILE_ID */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_u8_0x0,
        .def = &bcm56990_b0_lrd_ifd_u8_0x0,
        .max = &bcm56990_b0_lrd_ifd_u8_0x3,
        .depth = 0,
        .width = 2,
        .edata = NULL,
      },
      { /* 9 CLASS_ID */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_u16_0x0,
        .def = &bcm56990_b0_lrd_ifd_u16_0x0,
        .max = &bcm56990_b0_lrd_ifd_u16_0xffff,
        .depth = 0,
        .width = 16,
        .edata = NULL,
      },
      { /* 10 IPV6_MC */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .def = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .max = &bcm56990_b0_lrd_ifd_is_true_0x1,
        .depth = 0,
        .width = 1,
        .edata = NULL,
      },
      { /* 11 IPV4_MC */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .def = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .max = &bcm56990_b0_lrd_ifd_is_true_0x1,
        .depth = 0,
        .width = 1,
        .edata = NULL,
      },
      { /* 12 IPV6_UC */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .def = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .max = &bcm56990_b0_lrd_ifd_is_true_0x1,
        .depth = 0,
        .width = 1,
        .edata = NULL,
      },
      { /* 13 IPV4_UC */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .def = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .max = &bcm56990_b0_lrd_ifd_is_true_0x1,
        .depth = 0,
        .width = 1,
        .edata = NULL,
      },
      { /* 14 L3_OVERRIDE_IP_MC_DO_VLAN */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .def = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .max = &bcm56990_b0_lrd_ifd_is_true_0x1,
        .depth = 0,
        .width = 1,
        .edata = NULL,
      },
      { /* 15 L3_MC_IIF_ID */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_u32_0x0,
        .def = &bcm56990_b0_lrd_ifd_u32_0x0,
        .max = &bcm56990_b0_lrd_ifd_u32_0x1fff,
        .depth = 0,
        .width = 13,
        .edata = NULL,
      },
      { /* 16 INBAND_TELEMETRY_IFA */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .def = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .max = &bcm56990_b0_lrd_ifd_is_true_0x1,
        .depth = 0,
        .width = 1,
        .edata = NULL,
      },
      { /* 17 INBAND_TELEMETRY_IOAM */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .def = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .max = &bcm56990_b0_lrd_ifd_is_true_0x1,
        .depth = 0,
        .width = 1,
        .edata = NULL,
      },
      { /* 18 INBAND_TELEMETRY_DATAPLANE */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .def = &bcm56990_b0_lrd_ifd_is_true_0x0,
        .max = &bcm56990_b0_lrd_ifd_is_true_0x1,
        .depth = 0,
        .width = 1,
        .edata = NULL,
      },
      { /* 19 ECN_TNL_DECAP_ID */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_u8_0x0,
        .def = &bcm56990_b0_lrd_ifd_u8_0x0,
        .max = &bcm56990_b0_lrd_ifd_u8_0x7,
        .depth = 0,
        .width = 3,
        .edata = NULL,
      },
      { /* 20 CTR_ING_EFLEX_ACTION */
        .flags = 0,
        .min = &bcm56990_b0_lrd_ifd_u16_0x0,
        .def = &bcm56990_b0_lrd_ifd_u16_0x0,
        .max = &bcm56990_b0_lrd_ifd_u16_0x1f,
        .depth = 0,
        .width = 5,
        .edata = NULL,
      },
  };
  const bcmlrd_map_field_data_t bcm56990_b0_lrd_l3_iif_map_field_data = {
      .fields = 21,
      .field = bcm56990_b0_lrd_l3_iif_map_field_data_mmd
  };
  
  static const bcmlrd_map_table_attr_t bcm56990_b0_lrd_l3_iift_attr_entry[] = {
      { /* 0 */
          .key   = BCMLRD_MAP_TABLE_ATTRIBUTE_INTERACTIVE,
          .value = FALSE,
      },
      { /* 1 */
          .key   = BCMLRD_MAP_TABLE_ATTRIBUTE_TABLE_MAX_INDEX,
          .value = 8191,
      },
      { /* 2 */
          .key   = BCMLRD_MAP_TABLE_ATTRIBUTE_TABLE_MIN_INDEX,
          .value = 0,
      },
  };
  
  static const bcmlrd_map_attr_t bcm56990_b0_lrd_l3_iift_attr_group = {
      .attributes = 3,
      .attr = bcm56990_b0_lrd_l3_iift_attr_entry,
  };
  
  static const bcmlrd_map_entry_t bcm56990_b0_lrd_l3_iift_l3_iif_map_entry[] = {
      { /* 0 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_KEY,
          .desc = {
              .field_id  = BCMLRD_FIELD_INDEX,
              .field_idx = 0,
              .minbit    = 0,
              .maxbit    = 12,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_L3_IIF_IDf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 12,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 1 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = VRFf,
              .field_idx = 0,
              .minbit    = 55,
              .maxbit    = 67,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_VRF_IDf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 12,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 2 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = L3_IIF_PROFILE_INDEXf,
              .field_idx = 0,
              .minbit    = 46,
              .maxbit    = 53,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_L3_IIF_PROFILE_IDf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 7,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 3 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = IP_OPTION_PROFILE_INDEXf,
              .field_idx = 0,
              .minbit    = 44,
              .maxbit    = 45,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_L3_IP_OPTION_CONTROL_PROFILE_IDf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 1,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 4 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = IPV6L3_ENABLEf,
              .field_idx = 0,
              .minbit    = 43,
              .maxbit    = 43,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_IPV6_UCf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 0,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 5 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = IPV4L3_ENABLEf,
              .field_idx = 0,
              .minbit    = 42,
              .maxbit    = 42,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_IPV4_UCf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 0,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 6 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = IPMC_L3_IIFf,
              .field_idx = 0,
              .minbit    = 29,
              .maxbit    = 41,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_L3_MC_IIF_IDf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 12,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 7 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = IPMCV6_ENABLEf,
              .field_idx = 0,
              .minbit    = 28,
              .maxbit    = 28,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_IPV6_MCf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 0,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 8 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = IPMCV4_ENABLEf,
              .field_idx = 0,
              .minbit    = 27,
              .maxbit    = 27,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_IPV4_MCf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 0,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 9 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = L3_OVERRIDE_IPMC_DO_VLANf,
              .field_idx = 0,
              .minbit    = 54,
              .maxbit    = 54,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_L3_OVERRIDE_IP_MC_DO_VLANf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 0,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 10 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = CLASS_IDf,
              .field_idx = 0,
              .minbit    = 0,
              .maxbit    = 15,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_CLASS_IDf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 15,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 11 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = ECN_DECAP_MAPPING_PTRf,
              .field_idx = 0,
              .minbit    = 16,
              .maxbit    = 18,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_ECN_TNL_DECAP_IDf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 2,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 12 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = FLEX_CTR_ACTIONf,
              .field_idx = 0,
              .minbit    = 19,
              .maxbit    = 23,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_CTR_ING_EFLEX_ACTIONf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 4,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 13 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = IFA_ENABLEf,
              .field_idx = 0,
              .minbit    = 24,
              .maxbit    = 24,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_INBAND_TELEMETRY_IFAf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 0,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 14 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = IOAM_ENABLEf,
              .field_idx = 0,
              .minbit    = 26,
              .maxbit    = 26,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_INBAND_TELEMETRY_IOAMf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 0,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
      { /* 15 */
          .entry_type = BCMLRD_MAP_ENTRY_MAPPED_VALUE,
          .desc = {
              .field_id  = INT_ENABLEf,
              .field_idx = 0,
              .minbit    = 25,
              .maxbit    = 25,
              .entry_idx = 0,
              .reserved  = 0
          },
          .u = {
              .mapped = {
                  .src = {
                      .field_id = L3_IIFt_INBAND_TELEMETRY_DATAPLANEf,
                      .field_idx = 0,
                      .minbit    = 0,
                      .maxbit    = 0,
                      .entry_idx = 0,
                      .reserved  = 0
                  }
              }
          },
      },
  };
  static const bcmlrd_map_group_t bcm56990_b0_lrd_l3_iif_map_group[] = {
      {
          .dest = {
              .kind = BCMLRD_MAP_PHYSICAL,
              .id = L3_IIFm,
          },
          .entries = 16,
          .entry = bcm56990_b0_lrd_l3_iift_l3_iif_map_entry
      },
  };
  const bcmlrd_map_t bcm56990_b0_lrd_l3_iif_map = {
      .src_id = L3_IIFt,
      .field_data = &bcm56990_b0_lrd_l3_iif_map_field_data,
      .groups = 1,
      .group  = bcm56990_b0_lrd_l3_iif_map_group,
      .table_attr = &bcm56990_b0_lrd_l3_iift_attr_group,
      .entry_ops = BCMLRD_MAP_TABLE_ENTRY_OPERATION_LOOKUP | BCMLRD_MAP_TABLE_ENTRY_OPERATION_TRAVERSE | BCMLRD_MAP_TABLE_ENTRY_OPERATION_INSERT | BCMLRD_MAP_TABLE_ENTRY_OPERATION_UPDATE | BCMLRD_MAP_TABLE_ENTRY_OPERATION_DELETE
  };
  