text: /*! \file bcm56990_a0_fp_ing_qual_db.c
   *
   *  IFP qualifier configuration DB initialization function
   *  for Tomahawk-4(56990_A0).
   */
  /*
   * 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 <shr/shr_error.h>
  #include <shr/shr_debug.h>
  #include <bcmfp/bcmfp_internal.h>
  #include <bcmfp/chip/bcm56990_a0_fp.h>
  #include <bcmfp/bcmfp_keygen_api.h>
  #include <bcmltd/chip/bcmltd_id.h>
  
  #define BSL_LOG_MODULE BSL_LS_BCMFP_DEV
  
  int
  bcmfp_bcm56990_a0_ingress_qual_cfg_db_init(int unit,
                                             bcmfp_stage_t *stage)
  {
      bcmfp_qual_flags_bmp_t qual_flags;
      bcmfp_keygen_qual_cfg_info_db_t *db = NULL;
      uint32_t fid = 0;
      uint32_t isdw_16_offset_cor = 520;
      uint32_t isdw_16_id_cor = 16 * 2; /* 520/32 */
      BCMFP_KEYGEN_QUAL_CFG_DECL;
  
      SHR_FUNC_ENTER(unit);
  
      SHR_NULL_CHECK(stage, SHR_E_PARAM);
  
      if (BCMFP_STAGE_FLAGS_TEST(stage, BCMFP_STAGE_KEY_TYPE_PRESEL)) {
          SHR_IF_ERR_VERBOSE_EXIT
              (bcmfp_bcm56990_a0_ingress_presel_qual_cfg_db_init(unit, stage));
          BCMFP_ALLOC(stage->kgn_qual_cfg_info_db,
                      sizeof(bcmfp_keygen_qual_cfg_info_db_t),
                      "bcmfpIngKeyGenQualCfgInfoDb");
      }
  
      if (NULL == stage->kgn_qual_cfg_info_db) {
          return (SHR_E_MEMORY);
      }
      db = stage->kgn_qual_cfg_info_db;
      sal_memset(&qual_flags, 0, sizeof(bcmfp_qual_flags_bmp_t));
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 2, 64, 32);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16, 19, 304, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_MAC_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 4, 64, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 5, 80, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, (19 + isdw_16_id_cor), (304 + isdw_16_offset_cor), 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_MAC_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 3, 96, 32);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16, 20, 320, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DST_MAC_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 6, 96, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 7, 112, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, (20 + isdw_16_id_cor), (320 + isdw_16_offset_cor), 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DST_MAC_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 4, 128, 32);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_IP4_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 8, 128, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 9, 144, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_IP4_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 8, 256, 32);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DST_IP4_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 16, 256, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 17, 272, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DST_IP4_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 4, 128, 32);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E32, 5, 160, 32);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_IP6_BITMAPu_LOWERf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 8, 128, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 9, 144, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 10, 160, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(3, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 11, 176, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_IP6_BITMAPu_LOWERf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 6, 192, 32);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E32, 7, 224, 32);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_IP6_BITMAPu_UPPERf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 12, 192, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 13, 208, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 14, 224, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(3, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 15, 240, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_IP6_BITMAPu_UPPERf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 8, 256, 32);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E32, 9, 288, 32);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DST_IP6_BITMAPu_LOWERf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 16, 256, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 17, 272, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 18, 288, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(3, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 19, 294, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DST_IP6_BITMAPu_LOWERf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 10, 320, 32);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E32, 11, 352, 32);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DST_IP6_BITMAPu_UPPERf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 20, 320, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 21, 336, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 22, 352, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(3, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 23, 368, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DST_IP6_BITMAPu_UPPERf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 11, 352, 32);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E32, 10, 320, 32);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_BYTES_0_7_AFTER_L2HEADER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 22, 352, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 23, 368, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 20, 320, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(3, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 21, 336, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_BYTES_0_7_AFTER_L2HEADER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 9, 288, 32);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E32, 8, 256, 32);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_BYTES_8_15_AFTER_L2HEADER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 18, 288, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 19, 304, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 16, 256, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(3, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 17, 272, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_BYTES_8_15_AFTER_L2HEADER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 7, 224, 32);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E32, 6, 192, 32);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_BYTES_16_23_AFTER_L2HEADER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 14, 224, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 15, 240, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 12, 192, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(3, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 13, 208, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_BYTES_16_23_AFTER_L2HEADER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 5, 160, 32);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E32, 4, 128, 32);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_BYTES_24_31_AFTER_L2HEADER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 10, 160, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 11, 176, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 8, 128, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(3, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 9, 144, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_BYTES_24_31_AFTER_L2HEADER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
     /* Incoming DST IPv6 address */
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 12, 384, 32);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E32, 13, 416, 32);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INNER_DST_IP6_BITMAPu_LOWERf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 24, 384, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 25, 400, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 26, 416, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(3, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 27, 432, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INNER_DST_IP6_BITMAPu_LOWERf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 14, 448, 32);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E32, 15, 480, 32);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INNER_DST_IP6_BITMAPu_UPPERf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 28, 448, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 21, 454, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 22, 480, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(3, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 23, 496, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INNER_DST_IP6_BITMAPu_UPPERf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_TTL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_TTL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 40, 1);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_BOS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 40, 1);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_BOS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 41, 3);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_EXP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 41, 3);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_EXP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 44, 20);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 44, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 50, 4);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_TTL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_TTL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 8, 1);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_BOS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 8, 1);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_BOS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 9, 3);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_EXP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 9, 3);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_EXP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 12, 20);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 12, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 28, 4);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 32);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_CTRL_WORD_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_CTRL_WORD_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 32);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_CTRL_WORD_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_CTRL_WORD_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7A_HASH_UPPER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7A_HASH_UPPER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7A_HASH_UPPER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7A_HASH_UPPER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7A_HASH_LOWER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7A_HASH_LOWER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7A_HASH_LOWER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7A_HASH_LOWER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7B_HASH_UPPER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7B_HASH_UPPER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7B_HASH_UPPER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7B_HASH_UPPER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7B_HASH_LOWER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7B_HASH_LOWER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7B_HASH_LOWER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RTAG7B_HASH_LOWER_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 24);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_VNID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 16, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_VNID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 24);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_VNID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 48, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_VNID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_FLAGS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_FLAGS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 56, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_FLAGS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 56, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_FLAGS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 24);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_RSVD_24_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 16, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_RSVD_24_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 24);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_RSVD_24_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 48, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_RSVD_24_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_RSVD_8_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_RSVD_8_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 56, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_RSVD_8_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 56, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VXLAN_RSVD_8_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 20);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 9);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP6_FLOW_LABEL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 16, 4);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 9);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP6_FLOW_LABEL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 20);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 9);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP6_FLOW_LABEL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 48, 4);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 9);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP6_FLOW_LABEL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 32);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 10);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_BFD_DISCRIMINATOR_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 10);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_BFD_DISCRIMINATOR_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 32);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 10);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_BFD_DISCRIMINATOR_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 10);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_BFD_DISCRIMINATOR_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 11);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PKT_LENGTH_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 11);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PKT_LENGTH_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 11);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PKT_LENGTH_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 11);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PKT_LENGTH_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 32);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 12);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OPAQUE_TAG_LOW_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 12);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OPAQUE_TAG_LOW_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 32);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 12);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OPAQUE_TAG_LOW_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 12);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OPAQUE_TAG_LOW_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 32);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 13);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OPAQUE_TAG_HIGH_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 13);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OPAQUE_TAG_HIGH_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 32);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 13);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OPAQUE_TAG_HIGH_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 13);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OPAQUE_TAG_HIGH_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 32);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 14);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RH_FIRST_4_BYTES_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 14);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RH_FIRST_4_BYTES_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 32);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 14);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RH_FIRST_4_BYTES_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 14);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RH_FIRST_4_BYTES_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 0, 0, 32);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 15);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RH_NEXT_4_BYTES_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_B, 15);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RH_NEXT_4_BYTES_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E32, 1, 32, 32);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 15);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RH_NEXT_4_BYTES_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_AUX_TAG_A, 15);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RH_NEXT_4_BYTES_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      /* UDF1 Qualifiers. */
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 7;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 7;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 1, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 6;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 6;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 5;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 5;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 3, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 4;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 4;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 4, 64, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 3;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 4, 64, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 3;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 5, 80, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 2;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 5, 80, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 2;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 6, 96, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 1;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 6, 96, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 1;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 7, 112, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 7, 112, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 0);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      /* UDF2 Qualifiers. */
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 15;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 0, 0, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 15;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 1, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 14;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 1, 16, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 14;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 13;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 2, 32, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 13;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 3, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 12;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 3, 48, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 12;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 4, 64, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 11;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 4, 64, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 11;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 5, 80, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 10;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 5, 80, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 10;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 6, 96, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 9;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 6, 96, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 9;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 7, 112, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 8;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 7, 112, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_UDF, 1);
      fid = FP_ING_GRP_TEMPLATEt_FIELD_COUNT + 8;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 8, 128, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_SRC_A, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_PORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 8, 128, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_SRC_A, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_PORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 8, 128, 9);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_SRC_A, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INPORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 8, 128, 9);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_SRC_A, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INPORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 8, 128, 9);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_SRC_A, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_TRUNK_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 8, 128, 9);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_SRC_A, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_TRUNK_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 9, 144, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_SRC_B, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_PORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 9, 144, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_SRC_B, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_PORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 9, 144, 9);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_SRC_B, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INPORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 9, 144, 9);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_SRC_B, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INPORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 9, 144, 9);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_SRC_B, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_TRUNK_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 9, 144, 9);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_SRC_B, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SRC_TRUNK_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 10, 160, 12);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PORT_SYSTEM_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 10, 160, 12);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PORT_SYSTEM_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 10, 160, 12);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_IIF_CLASS_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 10, 160, 12);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_IIF_CLASS_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 10, 160, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 10, 160, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 10, 168, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 10, 168, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 10, 160, 12);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VLAN_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 10, 160, 12);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VLAN_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 10, 160, 10);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 10, 160, 10);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 10, 160, 10);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 10, 160, 10);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 10, 160, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_ING_GRP_SEL_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 10, 160, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_ING_GRP_SEL_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 10, 168, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_PORT_GRP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 10, 168, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_PORT_GRP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 10, 160, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_UDF_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 10, 160, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_UDF_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 11, 176, 12);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PORT_SYSTEM_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 11, 176, 12);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PORT_SYSTEM_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 11, 176, 12);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_IIF_CLASS_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 11, 176, 12);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_IIF_CLASS_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 11, 176, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 11, 176, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 11, 184, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 11, 184, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 11, 176, 12);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VLAN_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 11, 176, 12);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VLAN_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 11, 176, 10);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 11, 176, 10);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 11, 176, 10);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 11, 176, 10);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 11, 176, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_ING_GRP_SEL_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 11, 176, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_ING_GRP_SEL_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 11, 184, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_PORT_GRP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 11, 184, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_PORT_GRP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 11, 176, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_UDF_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 11, 176, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_UDF_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 12, 192, 12);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FWD_VLAN_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 12, 192, 12);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FWD_VLAN_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 12, 192, 13);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VRF_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 12, 192, 13);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VRF_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 12, 192, 14);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VPN_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 12, 192, 14);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VPN_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 13, 208, 13);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_IIF_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 13, 208, 13);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_IIF_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 14, 224, 12);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OUTER_VLAN_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 14, 224, 12);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OUTER_VLAN_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 14, 236, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OUTER_VLAN_CFI_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 14, 236, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OUTER_VLAN_CFI_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 14, 237, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OUTER_VLAN_PRI_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 14, 237, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OUTER_VLAN_PRI_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 16, 256, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L4DST_PORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 16, 256, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L4DST_PORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 17, 272, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L4SRC_PORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 17, 272, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L4SRC_PORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 17, 272, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_ICMP_TYPE_CODE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 17, 272, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_ICMP_TYPE_CODE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 18, 288, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_ETHERTYPE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 18, 288, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_ETHERTYPE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 21, 336, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16, 22, 352, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16, 23, 368, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(3, BCMFP_KEYGEN_EXT_SECTION_L1E16, 24, 384, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RANGE_CHECKID_BMP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 21, 336, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 22, 352, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 23, 368, 16);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(3, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 24, 384, 16);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RANGE_CHECKID_BMP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
      
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16, 25, 400, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_GSH_SYSTEM_DST_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E16_ISDW, 25, 400, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_GSH_SYSTEM_DST_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 0, 0, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INT_PRI_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 1, 8, 8);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E8, 5, 40, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VRF_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 2, 16, 8);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E4, 3, 12, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OUTER_VLAN_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 3, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PORT_SYSTEM_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 3, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_IIF_CLASS_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 3, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 3, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 3, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VLAN_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 3, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 3, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 3, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_ING_GRP_SEL_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 3, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_PORT_GRP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 3, 24, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_B, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_UDF_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 4, 32, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PORT_SYSTEM_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 4, 32, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_IIF_CLASS_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 4, 32, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 4, 32, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 4, 32, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VLAN_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 4, 32, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 4, 32, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_CLASS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 4, 32, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_ING_GRP_SEL_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 4, 32, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FP_VLAN_PORT_GRP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 4, 32, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_A, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_UDF_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 6, 48, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_TOS_FN, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_TOS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 6, 48, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_TOS_FN, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_C_TOS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 6, 48, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_TOS_FN, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_C_TOS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 7, 56, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_TTL_FN, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_TTL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 7, 56, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_TTL_FN, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_C_TTL0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 7, 56, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_TTL_FN, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_C_TTL1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 8, 64, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP_PROTOCOL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 9, 72, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP_SECOND_EH_PROTO_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 10, 80, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP_FIRST_EH_PROTO_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 11, 88, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP_FIRST_EH_SUBCODE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 12, 101, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PRESEL_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 13, 104, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_EM_GROUP_CLASS_ID_0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 15, 120, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_TCP_FN, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_TCP_FLAGS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 15, 120, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_TCP_FN, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_C_TCP_FLAGS0_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 15, 120, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_TCP_FN, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_C_TCP_FLAGS1_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 16, 128, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_ALT_TTL_FN, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_TNL_IP_TTL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 16, 128, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_ALT_TTL_FN, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_C_TNL_IP_TTL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 17, 136, 8);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(1, BCMFP_KEYGEN_EXT_SECTION_L1E8, 18, 144, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_RANGE_CHECK_GRP_ID_BMP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E8, 19, 152, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INBAND_TELEMETRY_FLAGS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 0, 0, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP_TYPE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 1, 5, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INBAND_TELEMETRY_MD_HDR_TYPE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 1, 4, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INBAND_TELEMETRY_HOP_LIMIT_CHECK_STATUS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 2, 8, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INBAND_TELEMETRY_MAX_LENGTH_CHECK_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 2, 9, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INBAND_TELEMETRY_HDR_TYPE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 2, 11, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INBAND_TELEMETRY_UDP_CHECKSUM_ZERO_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 4, 16, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_ING_STP_STATE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 4, 18, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DOSATTACK_PKT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 4, 19, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FWD_VLAN_VALID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      SHR_BITSET(qual_flags.w, BCMFP_KEYGEN_QUAL_FLAGS_NOT_IN_EM);
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 5, 23, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_TNL_HIT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 5, 22, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_BOS_TERMINATED_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
      SHR_BITCLR(qual_flags.w, BCMFP_KEYGEN_QUAL_FLAGS_NOT_IN_EM);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 5, 21, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLSENTRY_SECONDLOOKUP_HIT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 5, 20, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLSENTRY_FIRSTLOOKUP_HIT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 6, 24, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_FWD_TYPE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 7, 28, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_C_ETHERTYPE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 8, 32, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_C_IP_PROTOCOL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 11, 44, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_FWD_LABEL_ACTION_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 12, 48, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_GSH_ETHERTYPE_LSB_4BIT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 13, 52, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_GSH_OPCODE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 15, 60, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_SPECIAL_LABEL_RAL_DETECTED_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 15, 61, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_SPECIAL_LABEL_GAL_DETECTED_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 15, 62, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MPLS_SPECIAL_LABEL_CW_DETECTED_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 16, 64, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP_FLAGS_MF_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 16, 65, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP_FLAGS_DF_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 16, 66, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP_FRAG_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      SHR_BITSET(qual_flags.w, BCMFP_KEYGEN_QUAL_FLAGS_NOT_IN_EM);
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 17, 68, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_COLOR_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      SHR_BITCLR(qual_flags.w, BCMFP_KEYGEN_QUAL_FLAGS_NOT_IN_EM);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 17, 70, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INT_CN_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 18, 72, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L4_PKT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 18, 73, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_NON_OR_FIRST_FRAGMENT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 18, 74, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_IP_CHECKSUM_VALID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 18, 75, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_ICMP_ERROR_PKT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 19, 76, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_FORMAT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      
  
      
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 20, 80, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MYSTATIONTCAM_HIT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 20, 81, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_ROUTABLE_PKT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 21, 84, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INNER_TPID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 21, 86, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OUTER_TPID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 22, 88, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_TNL_TYPE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 22, 91, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_LOOPBACK_TYPE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 22, 91, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_LOOPBACK_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 23, 92, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PROTECTION_DATA_DROP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 23, 94, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_SRC_STATIC_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 23, 95, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INBAND_TELEMETRY_HDR_IN_TNL_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 24, 96, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_VLAN_OUTER_PRESENT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_L1E4, 24, 97, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OPAQUE_TAG_PRESENT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      /* IFP_KEY_POST_MUX Qualifiers. */
      SHR_BITSET(qual_flags.w, BCMFP_KEYGEN_QUAL_FLAGS_PMUX);
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_DROP, 0, 159, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DROP_PKT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_EM_FIRST_LOOKUP_HIT, 1, 158, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_EM_FIRST_LOOKUP_HITf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_MH_OPCODE, 14, 120, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_MH_OPCODE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_INT_PRI, 13, 112, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INT_PRI_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_INT_CN, 15, 110, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INT_CN_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_EM_FIRST_LOOKUP_CLASS_ID_BITS_0_3, 2, 84, 4);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (1, BCMFP_KEYGEN_EXT_SECTION_EM_FIRST_LOOKUP_CLASS_ID_BITS_4_7, 3, 88, 4);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(2,
          BCMFP_KEYGEN_EXT_SECTION_EM_FIRST_LOOKUP_CLASS_ID_BITS_8_11, 4, 92, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_EM_FIRST_LOOKUP_CLASS_ID_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      /* Class Id C */
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_C, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_C, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_SRC_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_C, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_C, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_DST_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_C, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_C, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_SRC_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_C, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_C, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_DST_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_C, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_C, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_SRC_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_C, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_C, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_DST_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_C, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_C, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_SRC_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_C, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_C, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_DST_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_C, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_C, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_A_0_15_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_C, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_C, 9);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_A_31_16_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_C, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_C, 10);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_B_0_15_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_C, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_C, 11);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_B_31_16_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      /* Class Id D */
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_D, 11, 68, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_D, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_SRC_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_D, 11, 68, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_D, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_DST_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_D, 11, 68, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_D, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_SRC_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_D, 11, 68, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_D, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_DST_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_D, 11, 76, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_D, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_SRC_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_D, 11, 68, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_D, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_DST_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_D, 11, 76, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_D, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_SRC_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_D, 11, 68, 8);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_D, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_DST_CLASS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_D, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_D, 8);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_A_0_15_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_D, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_D, 9);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_A_31_16_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_D, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_D, 10);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_B_0_15_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_CLASS_ID_D, 10, 52, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_CLASS_ID_D, 11);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_B_31_16_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      /* Destination Container 0 124 - 139 */
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_A, 7, 124, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_A, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_A_0_15_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_A, 7, 124, 9);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_A, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DST_PORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_A, 7, 124, 9);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_A, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DST_TRUNK_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_A, 7, 124, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_A, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OVERLAY_ECMP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_A, 7, 124, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_A, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_NHOP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_A, 7, 124, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_A, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_A_31_16_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_A, 7, 124, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_A, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_MC_GROUP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_A, 7, 124, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_A, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_MC_GROUP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_A, 7, 124, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_A, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_B_0_15_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_A, 7, 124, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_A, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_B_31_16_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_B, 8, 36, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_B, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_A_0_15_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_B, 8, 36, 9);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_B, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DST_PORT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_B, 8, 36, 9);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_B, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DST_TRUNK_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_B, 8, 36, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_B, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_OVERLAY_ECMP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_B, 8, 36, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_B, 2);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_NHOP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_B, 8, 36, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_B, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_A_31_16_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_B, 8, 36, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_B, 4);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_MC_GROUP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_B, 8, 36, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_B, 5);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_MC_GROUP_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_B, 8, 36, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_B, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_B_0_15_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_DST_CONTAINER_B, 8, 36, 16);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_DST_B, 7);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_L4_COMPRESSION_ID_B_31_16_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_PKT_RESOLUTION, 9, 104, 6);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_PKT_RESOLUTION_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_LOOKUP_STATUS_VECTOR_BITS_4_7, 6, 100, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2CACHE_HIT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_LOOKUP_STATUS_VECTOR_BITS_4_7, 6, 101, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_DST_LPM_HIT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_LOOKUP_STATUS_VECTOR_BITS_4_7, 6, 102, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L3_SRC_LPM_HIT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      /*
       * Removed the qualifier support. Arch confirmed that there is an issue in
       * resolving station move and due to that, IFP couldn't able to match on L2
       * station move hit status.
       * Reference: JIRA ARCHTH4-420 and ARCHTH4-421.
       *
       * Not sure if this is applicable to TH4 alone.
       */
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_LOOKUP_STATUS_VECTOR_BITS_4_7, 6, 103, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2STATION_MOVE_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_LOOKUP_STATUS_VECTOR_BITS_0_3, 5, 99, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_SRC_HIT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_LOOKUP_STATUS_VECTOR_BITS_0_3, 5, 98, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_L2_DST_HIT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_LOOKUP_STATUS_VECTOR_BITS_0_3, 5, 97, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_COMPRESSED_L3_SRC_HIT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD
          (0, BCMFP_KEYGEN_EXT_SECTION_LOOKUP_STATUS_VECTOR_BITS_0_3, 5, 96, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_COMPRESSED_L3_DST_HIT_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_IPBM, 17, 0, 34);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_IPBM_PRESENT, 0);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_INPORTS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_IPBM, 17, 0, 34);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_IPBM_PRESENT, 1);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_SYSTEM_PORTS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
      BCMFP_KEYGEN_QUAL_CFG_INIT(unit);
      BCMFP_KEYGEN_QUAL_CFG_OFFSET_ADD(0, BCMFP_KEYGEN_EXT_SECTION_IPBM, 17, 0, 34);
      BCMFP_KEYGEN_QUAL_CFG_CTRL_SEL_ADD(BCMFP_KEYGEN_EXT_CTRL_SEL_IPBM_PRESENT, 3);
      fid = FP_ING_GRP_TEMPLATEt_QUAL_DEVICE_PORTS_BITMAPf;
      BCMFP_KEYGEN_QUAL_CFG_INSERT(unit, db, fid, qual_flags);
  
  exit:
      SHR_FUNC_EXIT();
  }
  