octeontx2-af: Update NPC KPU packet parsing profile
authorHao Zheng <haoz@marvell.com>
Thu, 14 Nov 2019 05:26:26 +0000 (10:56 +0530)
committerDavid S. Miller <davem@davemloft.net>
Fri, 15 Nov 2019 02:09:16 +0000 (18:09 -0800)
Updated NPC KPU packet parsing profile with support for following

- Fragmentation support for IPv4 IPv6 outer header
- NIX instruction header support
- QinQ with TPID of 0x8100 as non inner most vlan tag, as legacy
  network equipments still generate QinQ packets with this configuration.
- To better support RSS for tunnelled packets, udp based tunnel
  protocols such as vxlan, vxlan-gpe, geneve and gtpu are now
  captured into a separate layer E. Consequently, the inner
  packet headers are pushed one layer down to LF, LG, and LH
  accordingly.
- Support for rfc7510 mpls in udp. Up to 4 MPLS labels can be parsed
  and captured in one layer LE.
- Parser support for DSA, extended DSA and eDSA tags right after
  ethernet header by Marvell SOHO and Falcon switches. For extended
  DSA and eDSA tags, a special PKIND of 62 is used, as these tags don't
  contain a tpid field.
- Higig2 protocol header parsing support, added a NPC_LT_LA_HIGIG2_ETHER
  for a combined header of HIGIG2 and Ethernet.  Add a
  NPC_LT_LA_IH_NIX_HIGIG2_ETHER for a combined header of nix_ih,
  HIGIG2 and Ethernet on egress side. Also added 2 upper flags in LA to
  indicate the presence of nix_ih and HIGIG2.

Other changes include
- IPv4.TTL==0 IPv6.HLIM==0 check
- Per RFC 1858, mark fragment offset == 1 as error
- TCP invalid flags check
- Separate error codes for outer and inner IPv4 checksum errors.
- Fix a parser error when KPU parses incoming IPSec ESP and AH packets
- NPC vtag capture/strip hardware expect tag pointer to point to
  tpid/ethertype instead of tci. So move lb_ptr to point to tpid/ethertype.
- Fix npc parser error when parsing udp packets that don't have any payload.
- For a single MCAM entry to match on packets with one or stacked vlan tags
  combine NPC_LT_LB_STAG and NPC_LT_LB_QINQ to NPC_LT_LB_STAG_QINQ.
- NVGRE to have a separate ltype LD_NVGRE instead of combined with LD_GRE.
- Reserve top LD/LTYPEs to support custom KPU profile fields.

Signed-off-by: Hao Zheng <haoz@marvell.com>
Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/af/npc.h
drivers/net/ethernet/marvell/octeontx2/af/npc_profile.h
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c

index 8d6d90fdfb739c2f4398d96d4da2693135a19066..168fb4ea6ab61e36d20d5e2b612707b876da439a 100644 (file)
@@ -27,26 +27,45 @@ enum NPC_LID_E {
 enum npc_kpu_la_ltype {
        NPC_LT_LA_8023 = 1,
        NPC_LT_LA_ETHER,
+       NPC_LT_LA_IH_NIX_ETHER,
+       NPC_LT_LA_IH_8_ETHER,
+       NPC_LT_LA_IH_4_ETHER,
+       NPC_LT_LA_IH_2_ETHER,
+       NPC_LT_LA_HIGIG2_ETHER,
+       NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+       NPC_LT_LA_CUSTOM0 = 0xE,
+       NPC_LT_LA_CUSTOM1 = 0xF,
 };
 
 enum npc_kpu_lb_ltype {
        NPC_LT_LB_ETAG = 1,
        NPC_LT_LB_CTAG,
-       NPC_LT_LB_STAG,
+       NPC_LT_LB_STAG_QINQ,
        NPC_LT_LB_BTAG,
-       NPC_LT_LB_QINQ,
        NPC_LT_LB_ITAG,
+       NPC_LT_LB_DSA,
+       NPC_LT_LB_DSA_VLAN,
+       NPC_LT_LB_EDSA,
+       NPC_LT_LB_EDSA_VLAN,
+       NPC_LT_LB_EXDSA,
+       NPC_LT_LB_EXDSA_VLAN,
+       NPC_LT_LB_CUSTOM0 = 0xE,
+       NPC_LT_LB_CUSTOM1 = 0xF,
 };
 
 enum npc_kpu_lc_ltype {
        NPC_LT_LC_IP = 1,
+       NPC_LT_LC_IP_OPT,
        NPC_LT_LC_IP6,
+       NPC_LT_LC_IP6_EXT,
        NPC_LT_LC_ARP,
        NPC_LT_LC_RARP,
        NPC_LT_LC_MPLS,
        NPC_LT_LC_NSH,
        NPC_LT_LC_PTP,
        NPC_LT_LC_FCOE,
+       NPC_LT_LC_CUSTOM0 = 0xE,
+       NPC_LT_LC_CUSTOM1 = 0xF,
 };
 
 /* Don't modify Ltypes upto SCTP, otherwise it will
@@ -57,49 +76,67 @@ enum npc_kpu_ld_ltype {
        NPC_LT_LD_UDP,
        NPC_LT_LD_ICMP,
        NPC_LT_LD_SCTP,
-       NPC_LT_LD_IGMP,
        NPC_LT_LD_ICMP6,
+       NPC_LT_LD_IGMP = 8,
        NPC_LT_LD_ESP,
        NPC_LT_LD_AH,
        NPC_LT_LD_GRE,
-       NPC_LT_LD_GRE_MPLS,
-       NPC_LT_LD_GRE_NSH,
-       NPC_LT_LD_TU_MPLS,
+       NPC_LT_LD_NVGRE,
+       NPC_LT_LD_NSH,
+       NPC_LT_LD_TU_MPLS_IN_NSH,
+       NPC_LT_LD_TU_MPLS_IN_IP,
+       NPC_LT_LD_CUSTOM0 = 0xE,
+       NPC_LT_LD_CUSTOM1 = 0xF,
 };
 
 enum npc_kpu_le_ltype {
-       NPC_LT_LE_TU_ETHER = 1,
-       NPC_LT_LE_TU_PPP,
-       NPC_LT_LE_TU_MPLS_IN_NSH,
-       NPC_LT_LE_TU_3RD_NSH,
+       NPC_LT_LE_VXLAN = 1,
+       NPC_LT_LE_GENEVE,
+       NPC_LT_LE_GTPU = 4,
+       NPC_LT_LE_VXLANGPE,
+       NPC_LT_LE_GTPC,
+       NPC_LT_LE_NSH,
+       NPC_LT_LE_TU_MPLS_IN_GRE,
+       NPC_LT_LE_TU_NSH_IN_GRE,
+       NPC_LT_LE_TU_MPLS_IN_UDP,
+       NPC_LT_LE_CUSTOM0 = 0xE,
+       NPC_LT_LE_CUSTOM1 = 0xF,
 };
 
 enum npc_kpu_lf_ltype {
-       NPC_LT_LF_TU_IP = 1,
-       NPC_LT_LF_TU_IP6,
-       NPC_LT_LF_TU_ARP,
-       NPC_LT_LF_TU_MPLS_IP,
-       NPC_LT_LF_TU_MPLS_IP6,
-       NPC_LT_LF_TU_MPLS_ETHER,
+       NPC_LT_LF_TU_ETHER = 1,
+       NPC_LT_LF_TU_PPP,
+       NPC_LT_LF_TU_MPLS_IN_VXLANGPE,
+       NPC_LT_LF_TU_NSH_IN_VXLANGPE,
+       NPC_LT_LF_TU_MPLS_IN_NSH,
+       NPC_LT_LF_TU_3RD_NSH,
+       NPC_LT_LF_CUSTOM0 = 0xE,
+       NPC_LT_LF_CUSTOM1 = 0xF,
 };
 
 enum npc_kpu_lg_ltype {
-       NPC_LT_LG_TU_TCP = 1,
-       NPC_LT_LG_TU_UDP,
-       NPC_LT_LG_TU_SCTP,
-       NPC_LT_LG_TU_ICMP,
-       NPC_LT_LG_TU_IGMP,
-       NPC_LT_LG_TU_ICMP6,
-       NPC_LT_LG_TU_ESP,
-       NPC_LT_LG_TU_AH,
+       NPC_LT_LG_TU_IP = 1,
+       NPC_LT_LG_TU_IP6,
+       NPC_LT_LG_TU_ARP,
+       NPC_LT_LG_TU_ETHER_IN_NSH,
+       NPC_LT_LG_CUSTOM0 = 0xE,
+       NPC_LT_LG_CUSTOM1 = 0xF,
 };
 
+/* Don't modify Ltypes upto SCTP, otherwise it will
+ * effect flow tag calculation and thus RSS.
+ */
 enum npc_kpu_lh_ltype {
-       NPC_LT_LH_TCP_DATA = 1,
-       NPC_LT_LH_HTTP_DATA,
-       NPC_LT_LH_HTTPS_DATA,
-       NPC_LT_LH_PPTP_DATA,
-       NPC_LT_LH_UDP_DATA,
+       NPC_LT_LH_TU_TCP = 1,
+       NPC_LT_LH_TU_UDP,
+       NPC_LT_LH_TU_ICMP,
+       NPC_LT_LH_TU_SCTP,
+       NPC_LT_LH_TU_ICMP6,
+       NPC_LT_LH_TU_IGMP = 8,
+       NPC_LT_LH_TU_ESP,
+       NPC_LT_LH_TU_AH,
+       NPC_LT_LH_CUSTOM0 = 0xE,
+       NPC_LT_LH_CUSTOM1 = 0xF,
 };
 
 struct npc_kpu_profile_cam {
index b2ce957605bb9a65aabe4ea7b15793fd5b19880b..832810ad6b0249e4ee34200559c72f351b85ecec 100644 (file)
 #ifndef NPC_PROFILE_H
 #define NPC_PROFILE_H
 
+#define NPC_KPU_PROFILE_VER    0x0000000100050000
+
+#define NPC_IH_W               0x8000
+#define NPC_IH_UTAG            0x2000
+
 #define NPC_ETYPE_IP           0x0800
 #define NPC_ETYPE_IP6          0x86dd
 #define NPC_ETYPE_ARP          0x0806
@@ -27,6 +32,7 @@
 #define NPC_ETYPE_TRANS_ETH_BR 0x6558
 #define NPC_ETYPE_PPP          0x880b
 #define NPC_ETYPE_NSH          0x894f
+#define NPC_ETYPE_DSA          0xdada
 
 #define NPC_IPNH_HOP           0
 #define NPC_IPNH_ICMP          1
 #define NPC_IPNH_NONH          59
 #define NPC_IPNH_DEST          60
 #define NPC_IPNH_SCTP          132
+#define NPC_IPNH_MOBILITY      135
 #define NPC_IPNH_MPLS          137
+#define NPC_IPNH_HOSTID                139
+#define NPC_IPNH_SHIM6         140
 
+#define NPC_UDP_PORT_PTP_E     319
+#define NPC_UDP_PORT_PTP_G     320
 #define NPC_UDP_PORT_GTPC      2123
 #define NPC_UDP_PORT_GTPU      2152
 #define NPC_UDP_PORT_VXLAN     4789
 #define NPC_UDP_PORT_VXLANGPE  4790
 #define NPC_UDP_PORT_GENEVE    6081
+#define NPC_UDP_PORT_MPLS      6635
 
 #define NPC_VXLANGPE_NP_IP     0x1
 #define NPC_VXLANGPE_NP_IP6    0x2
 
 #define NPC_MPLS_S             0x0100
 
+#define NPC_IP_TTL_MASK                0xff00
 #define NPC_IP_VER_4           0x4000
 #define NPC_IP_VER_6           0x6000
 #define NPC_IP_VER_MASK                0xf000
 #define NPC_IP_HDR_LEN_5       0x0500
 #define NPC_IP_HDR_LEN_MASK    0x0f00
+#define NPC_IP_HDR_MF          0x2000
+#define NPC_IP_HDR_FRAGOFF     0x1fff
+
+#define NPC_IP6_HOP_MASK       0x00ff
+#define NPC_IP6_FRAG_FRAGOFF   0xfff8
 
 #define NPC_GRE_F_CSUM         (0x1 << 15)
 #define NPC_GRE_F_ROUTE                (0x1 << 14)
 #define NPC_GTP_MT_G_PDU       0xff
 #define NPC_GTP_MT_MASK                0xff
 
+#define NPC_TCP_FLAGS_FIN      0x0001
+#define NPC_TCP_FLAGS_SYN      0x0002
+#define NPC_TCP_FLAGS_RST      0x0004
+#define NPC_TCP_FLAGS_PSH      0x0008
+#define NPC_TCP_FLAGS_ACK      0x0010
+#define NPC_TCP_FLAGS_URG      0x0020
+#define NPC_TCP_FLAGS_MASK     0x003f
+
 #define NPC_TCP_DATA_OFFSET_5          0x5000
 #define NPC_TCP_DATA_OFFSET_MASK       0xf000
 
+#define NPC_DSA_EXTEND         0x1000
+#define NPC_DSA_EDSA           0x8000
+
 enum npc_kpu_parser_state {
        NPC_S_NA = 0,
        NPC_S_KPU1_ETHER,
-       NPC_S_KPU1_PKI,
+       NPC_S_KPU1_IH_NIX,
+       NPC_S_KPU1_IH,
+       NPC_S_KPU1_EXDSA,
+       NPC_S_KPU1_HIGIG2,
+       NPC_S_KPU1_IH_NIX_HIGIG2,
        NPC_S_KPU2_CTAG,
+       NPC_S_KPU2_CTAG2,
        NPC_S_KPU2_SBTAG,
        NPC_S_KPU2_QINQ,
        NPC_S_KPU2_ETAG,
        NPC_S_KPU2_ITAG,
+       NPC_S_KPU2_PREHEADER,
+       NPC_S_KPU2_EXDSA,
        NPC_S_KPU3_CTAG,
        NPC_S_KPU3_STAG,
        NPC_S_KPU3_QINQ,
        NPC_S_KPU3_ITAG,
+       NPC_S_KPU3_CTAG_C,
+       NPC_S_KPU3_STAG_C,
+       NPC_S_KPU3_QINQ_C,
+       NPC_S_KPU3_DSA,
        NPC_S_KPU4_MPLS,
        NPC_S_KPU4_NSH,
        NPC_S_KPU5_IP,
@@ -136,7 +176,12 @@ enum npc_kpu_parser_state {
        NPC_S_KPU5_MPLS_PL,
        NPC_S_KPU5_NSH,
        NPC_S_KPU6_IP6_EXT,
+       NPC_S_KPU6_IP6_HOP_DEST,
+       NPC_S_KPU6_IP6_ROUT,
+       NPC_S_KPU6_IP6_FRAG,
        NPC_S_KPU7_IP6_EXT,
+       NPC_S_KPU7_IP6_ROUT,
+       NPC_S_KPU7_IP6_FRAG,
        NPC_S_KPU8_TCP,
        NPC_S_KPU8_UDP,
        NPC_S_KPU8_SCTP,
@@ -146,16 +191,26 @@ enum npc_kpu_parser_state {
        NPC_S_KPU8_GRE,
        NPC_S_KPU8_ESP,
        NPC_S_KPU8_AH,
-       NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN,
-       NPC_S_KPU9_TU_MPLS,
-       NPC_S_KPU9_TU_NSH,
+       NPC_S_KPU9_TU_MPLS_IN_GRE,
+       NPC_S_KPU9_TU_MPLS_IN_NSH,
+       NPC_S_KPU9_TU_MPLS_IN_IP,
+       NPC_S_KPU9_TU_MPLS_IN_UDP,
+       NPC_S_KPU9_TU_NSH_IN_GRE,
+       NPC_S_KPU9_VXLAN,
+       NPC_S_KPU9_VXLANGPE,
+       NPC_S_KPU9_GENEVE,
+       NPC_S_KPU9_GTPC,
+       NPC_S_KPU9_GTPU,
+       NPC_S_KPU10_TU_MPLS_IN_VXLANGPE,
        NPC_S_KPU10_TU_MPLS_PL,
        NPC_S_KPU10_TU_MPLS,
-       NPC_S_KPU10_TU_NSH,
+       NPC_S_KPU10_TU_NSH_IN_VXLANGPE,
        NPC_S_KPU11_TU_ETHER,
        NPC_S_KPU11_TU_PPP,
        NPC_S_KPU11_TU_MPLS_IN_NSH,
-       NPC_S_KPU11_TU_3RD_NSH,
+       NPC_S_KPU11_TU_MPLS_PL,
+       NPC_S_KPU11_TU_MPLS,
+       NPC_S_KPU11_TU_ETHER_IN_NSH,
        NPC_S_KPU12_TU_IP,
        NPC_S_KPU12_TU_IP6,
        NPC_S_KPU12_TU_ARP,
@@ -174,135 +229,172 @@ enum npc_kpu_parser_state {
        NPC_S_KPU16_PPTP_DATA,
        NPC_S_KPU16_TCP_DATA,
        NPC_S_KPU16_UDP_DATA,
+       NPC_S_KPU16_UDP_PTP,
        NPC_S_LAST /* has to be the last item */
 };
 
-enum npc_kpu_parser_flag {
-       NPC_F_NA = 0,
-       NPC_F_PKI,
-       NPC_F_PKI_VLAN,
-       NPC_F_PKI_ETAG,
-       NPC_F_PKI_ITAG,
-       NPC_F_PKI_MPLS,
-       NPC_F_PKI_NSH,
-       NPC_F_ETYPE_UNK,
-       NPC_F_ETHER_VLAN,
-       NPC_F_ETHER_ETAG,
-       NPC_F_ETHER_ITAG,
-       NPC_F_ETHER_MPLS,
-       NPC_F_ETHER_NSH,
-       NPC_F_STAG_CTAG,
-       NPC_F_STAG_CTAG_UNK,
-       NPC_F_STAG_STAG_CTAG,
-       NPC_F_STAG_STAG_STAG,
-       NPC_F_QINQ_CTAG,
-       NPC_F_QINQ_CTAG_UNK,
-       NPC_F_QINQ_QINQ_CTAG,
-       NPC_F_QINQ_QINQ_QINQ,
-       NPC_F_BTAG_ITAG,
-       NPC_F_BTAG_ITAG_STAG,
-       NPC_F_BTAG_ITAG_CTAG,
-       NPC_F_BTAG_ITAG_UNK,
-       NPC_F_ETAG_CTAG,
-       NPC_F_ETAG_BTAG_ITAG,
-       NPC_F_ETAG_STAG,
-       NPC_F_ETAG_QINQ,
-       NPC_F_ETAG_ITAG,
-       NPC_F_ETAG_ITAG_STAG,
-       NPC_F_ETAG_ITAG_CTAG,
-       NPC_F_ETAG_ITAG_UNK,
-       NPC_F_ITAG_STAG_CTAG,
-       NPC_F_ITAG_STAG,
-       NPC_F_ITAG_CTAG,
-       NPC_F_MPLS_4_LABELS,
-       NPC_F_MPLS_3_LABELS,
-       NPC_F_MPLS_2_LABELS,
-       NPC_F_IP_HAS_OPTIONS,
-       NPC_F_IP_IP_IN_IP,
-       NPC_F_IP_6TO4,
-       NPC_F_IP_MPLS_IN_IP,
-       NPC_F_IP_UNK_PROTO,
-       NPC_F_IP_IP_IN_IP_HAS_OPTIONS,
-       NPC_F_IP_6TO4_HAS_OPTIONS,
-       NPC_F_IP_MPLS_IN_IP_HAS_OPTIONS,
-       NPC_F_IP_UNK_PROTO_HAS_OPTIONS,
-       NPC_F_IP6_HAS_EXT,
-       NPC_F_IP6_TUN_IP6,
-       NPC_F_IP6_MPLS_IN_IP,
-       NPC_F_TCP_HAS_OPTIONS,
-       NPC_F_TCP_HTTP,
-       NPC_F_TCP_HTTPS,
-       NPC_F_TCP_PPTP,
-       NPC_F_TCP_UNK_PORT,
-       NPC_F_TCP_HTTP_HAS_OPTIONS,
-       NPC_F_TCP_HTTPS_HAS_OPTIONS,
-       NPC_F_TCP_PPTP_HAS_OPTIONS,
-       NPC_F_TCP_UNK_PORT_HAS_OPTIONS,
-       NPC_F_UDP_VXLAN,
-       NPC_F_UDP_VXLAN_NOVNI,
-       NPC_F_UDP_VXLAN_NOVNI_NSH,
-       NPC_F_UDP_VXLANGPE,
-       NPC_F_UDP_VXLANGPE_NSH,
-       NPC_F_UDP_VXLANGPE_MPLS,
-       NPC_F_UDP_VXLANGPE_NOVNI,
-       NPC_F_UDP_VXLANGPE_NOVNI_NSH,
-       NPC_F_UDP_VXLANGPE_NOVNI_MPLS,
-       NPC_F_UDP_VXLANGPE_UNK,
-       NPC_F_UDP_VXLANGPE_NONP,
-       NPC_F_UDP_GTP_GTPC,
-       NPC_F_UDP_GTP_GTPU_G_PDU,
-       NPC_F_UDP_GTP_GTPU_UNK,
-       NPC_F_UDP_UNK_PORT,
-       NPC_F_UDP_GENEVE,
-       NPC_F_UDP_GENEVE_OAM,
-       NPC_F_UDP_GENEVE_CRI_OPT,
-       NPC_F_UDP_GENEVE_OAM_CRI_OPT,
-       NPC_F_GRE_NVGRE,
-       NPC_F_GRE_HAS_SRE,
-       NPC_F_GRE_HAS_CSUM,
-       NPC_F_GRE_HAS_KEY,
-       NPC_F_GRE_HAS_SEQ,
-       NPC_F_GRE_HAS_CSUM_KEY,
-       NPC_F_GRE_HAS_CSUM_SEQ,
-       NPC_F_GRE_HAS_KEY_SEQ,
-       NPC_F_GRE_HAS_CSUM_KEY_SEQ,
-       NPC_F_GRE_HAS_ROUTE,
-       NPC_F_GRE_UNK_PROTO,
-       NPC_F_GRE_VER1,
-       NPC_F_GRE_VER1_HAS_SEQ,
-       NPC_F_GRE_VER1_HAS_ACK,
-       NPC_F_GRE_VER1_HAS_SEQ_ACK,
-       NPC_F_GRE_VER1_UNK_PROTO,
-       NPC_F_TU_ETHER_UNK,
-       NPC_F_TU_ETHER_CTAG,
-       NPC_F_TU_ETHER_CTAG_UNK,
-       NPC_F_TU_ETHER_STAG_CTAG,
-       NPC_F_TU_ETHER_STAG_CTAG_UNK,
-       NPC_F_TU_ETHER_STAG,
-       NPC_F_TU_ETHER_STAG_UNK,
-       NPC_F_TU_ETHER_QINQ_CTAG,
-       NPC_F_TU_ETHER_QINQ_CTAG_UNK,
-       NPC_F_TU_ETHER_QINQ,
-       NPC_F_TU_ETHER_QINQ_UNK,
-       NPC_F_LAST /* has to be the last item */
+enum npc_kpu_la_uflag {
+       NPC_F_LA_U_HAS_TAG = 0x10,
+       NPC_F_LA_U_HAS_IH_NIX = 0x20,
+       NPC_F_LA_U_HAS_HIGIG2 = 0x40,
+};
+enum npc_kpu_la_lflag {
+       NPC_F_LA_L_UNK_ETYPE = 1,
+       NPC_F_LA_L_WITH_VLAN,
+       NPC_F_LA_L_WITH_ETAG,
+       NPC_F_LA_L_WITH_ITAG,
+       NPC_F_LA_L_WITH_MPLS,
+       NPC_F_LA_L_WITH_NSH,
+};
+
+enum npc_kpu_lb_uflag {
+       NPC_F_LB_U_UNK_ETYPE = 0x80,
+       NPC_F_LB_U_MORE_TAG = 0x40,
+};
+enum npc_kpu_lb_lflag {
+       NPC_F_LB_L_WITH_CTAG = 1,
+       NPC_F_LB_L_WITH_CTAG_UNK,
+       NPC_F_LB_L_WITH_STAG_CTAG,
+       NPC_F_LB_L_WITH_STAG_STAG,
+       NPC_F_LB_L_WITH_QINQ_CTAG,
+       NPC_F_LB_L_WITH_QINQ_QINQ,
+       NPC_F_LB_L_WITH_ITAG,
+       NPC_F_LB_L_WITH_ITAG_STAG,
+       NPC_F_LB_L_WITH_ITAG_CTAG,
+       NPC_F_LB_L_WITH_ITAG_UNK,
+       NPC_F_LB_L_WITH_BTAG_ITAG,
+       NPC_F_LB_L_WITH_STAG,
+       NPC_F_LB_L_WITH_QINQ,
+       NPC_F_LB_L_DSA,
+       NPC_F_LB_L_DSA_VLAN,
+       NPC_F_LB_L_EDSA,
+       NPC_F_LB_L_EDSA_VLAN,
+       NPC_F_LB_L_EXDSA,
+       NPC_F_LB_L_EXDSA_VLAN,
+};
+
+enum npc_kpu_lc_uflag {
+       NPC_F_LC_U_UNK_PROTO = 0x10,
+       NPC_F_LC_U_IP_FRAG = 0x20,
+       NPC_F_LC_U_IP6_FRAG = 0x40,
+};
+enum npc_kpu_lc_lflag {
+       NPC_F_LC_L_IP_IN_IP = 1,
+       NPC_F_LC_L_6TO4,
+       NPC_F_LC_L_MPLS_IN_IP,
+       NPC_F_LC_L_IP6_TUN_IP6,
+       NPC_F_LC_L_IP6_MPLS_IN_IP,
+       NPC_F_LC_L_MPLS_4_LABELS,
+       NPC_F_LC_L_MPLS_3_LABELS,
+       NPC_F_LC_L_MPLS_2_LABELS,
+       NPC_F_LC_L_EXT_HOP,
+       NPC_F_LC_L_EXT_DEST,
+       NPC_F_LC_L_EXT_ROUT,
+       NPC_F_LC_L_EXT_MOBILITY,
+       NPC_F_LC_L_EXT_HOSTID,
+       NPC_F_LC_L_EXT_SHIM6,
+};
+
+enum npc_kpu_ld_lflag {
+       NPC_F_LD_L_TCP_UNK_PORT = 1,
+       NPC_F_LD_L_TCP_HAS_OPTIONS,
+       NPC_F_LD_L_TCP_UNK_PORT_HAS_OPTIONS,
+       NPC_F_LD_L_UDP_UNK_PORT,
+       NPC_F_LD_L_GRE_NVGRE,
+       NPC_F_LD_L_GRE_HAS_SRE,
+       NPC_F_LD_L_GRE_HAS_CSUM,
+       NPC_F_LD_L_GRE_HAS_KEY,
+       NPC_F_LD_L_GRE_HAS_SEQ,
+       NPC_F_LD_L_GRE_HAS_CSUM_KEY,
+       NPC_F_LD_L_GRE_HAS_CSUM_SEQ,
+       NPC_F_LD_L_GRE_HAS_KEY_SEQ,
+       NPC_F_LD_L_GRE_HAS_CSUM_KEY_SEQ,
+       NPC_F_LD_L_GRE_HAS_ROUTE,
+       NPC_F_LD_L_GRE_UNK_PROTO,
+       NPC_F_LD_L_GRE_VER1,
+       NPC_F_LD_L_GRE_VER1_HAS_SEQ,
+       NPC_F_LD_L_GRE_VER1_HAS_ACK,
+       NPC_F_LD_L_GRE_VER1_HAS_SEQ_ACK,
+       NPC_F_LD_L_GRE_VER1_UNK_PROTO,
+       NPC_F_LD_L_MPLS_4_LABELS,
+       NPC_F_LD_L_MPLS_3_LABELS,
+       NPC_F_LD_L_MPLS_2_LABELS,
+};
+
+enum npc_kpu_le_lflag {
+       NPC_F_LE_L_VXLAN_NOVNI,
+       NPC_F_LE_L_VXLANGPE_NOVNI,
+       NPC_F_LE_L_VXLANGPE_UNK,
+       NPC_F_LE_L_VXLANGPE_NONP,
+       NPC_F_LE_L_GENEVE_OAM,
+       NPC_F_LE_L_GENEVE_CRI_OPT,
+       NPC_F_LE_L_GENEVE_OAM_CRI_OPT,
+       NPC_F_LE_L_GTPU_G_PDU,
+       NPC_F_LE_L_GTPU_UNK,
+};
+
+enum npc_kpu_lf_uflag {
+       NPC_F_LF_U_UNK_ETYPE = 0x10,
+       NPC_F_LF_U_HAS_TAG = 0x20,
+};
+
+enum npc_kpu_lf_lflag {
+       NPC_F_LF_L_WITH_CTAG = 1,
+       NPC_F_LF_L_WITH_STAG_CTAG,
+       NPC_F_LF_L_WITH_STAG,
+       NPC_F_LF_L_WITH_QINQ_CTAG,
+       NPC_F_LF_L_WITH_QINQ,
+};
+
+enum npc_kpu_lg_uflag {
+       NPC_F_LG_U_UNK_IP_PROTO = 0x10,
+       NPC_F_LG_U_IP_HAS_OPTIONS = 0x20,
+       NPC_F_LG_U_IP6_HAS_EXT = 0x40,
+};
+
+enum npc_kpu_lh_uflag {
+       NPC_F_LH_U_TCP_HAS_OPTIONS = 0x80,
+};
+
+enum npc_kpu_lh_lflag {
+       NPC_F_LH_L_TCP_HTTP = 1,
+       NPC_F_LH_L_TCP_HTTPS,
+       NPC_F_LH_L_TCP_PPTP,
+       NPC_F_LH_L_TCP_UNK_PORT,
+       NPC_F_LH_L_UDP_UNK_PORT,
 };
 
 enum npc_kpu_err_code {
        NPC_EC_NOERR = 0, /* has to be zero */
        NPC_EC_UNK,
+       NPC_EC_IH_LENGTH,
+       NPC_EC_EDSA_UNK,
        NPC_EC_L2_K1,
        NPC_EC_L2_K2,
        NPC_EC_L2_K3,
        NPC_EC_L2_K3_ETYPE_UNK,
-       NPC_EC_L2_MPLS_2MANY,
        NPC_EC_L2_K4,
+       NPC_EC_MPLS_2MANY,
+       NPC_EC_MPLS_UNK,
+       NPC_EC_NSH_UNK,
+       NPC_EC_IP_TTL_0,
+       NPC_EC_IP_FRAG_OFFSET_1,
        NPC_EC_IP_VER,
+       NPC_EC_IP6_HOP_0,
        NPC_EC_IP6_VER,
+       NPC_EC_TCP_FLAGS_FIN_ONLY,
+       NPC_EC_TCP_FLAGS_ZERO,
+       NPC_EC_TCP_FLAGS_RST_FIN,
+       NPC_EC_TCP_FLAGS_URG_SYN,
+       NPC_EC_TCP_FLAGS_RST_SYN,
+       NPC_EC_TCP_FLAGS_SYN_FIN,
        NPC_EC_VXLAN,
        NPC_EC_NVGRE,
        NPC_EC_GRE,
        NPC_EC_GRE_VER1,
        NPC_EC_L4,
+       NPC_EC_OIP4_CSUM,
+       NPC_EC_IIP4_CSUM,
        NPC_EC_LAST /* has to be the last item */
 };
 
@@ -328,5282 +420,12598 @@ enum NPC_ERRLEV_E {
 
 static struct npc_kpu_profile_action ikpu_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_ETHER, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               36, 40, 44, 0, 0,
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               28, 32, 36, 0, 0,
+               NPC_S_KPU1_HIGIG2, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU1_EXDSA, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 14, 16,
-               0, 0, NPC_S_KPU1_ETHER, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 1, 0xff,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               20, 24, 28, 0, 0,
+               NPC_S_KPU1_IH_NIX, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+
        },
 };
 
 static struct npc_kpu_profile_cam kpu1_cam_entries[] = {
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_ETAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               NPC_ETYPE_DSA,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               0x0000,
+               0xfc00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               0x0400,
+               0xfe00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_ETHER, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_ETAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH, 0xff,
+               NPC_IH_W|NPC_IH_UTAG,
+               NPC_IH_W|NPC_IH_UTAG,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH, 0xff,
+               NPC_IH_W,
+               NPC_IH_W|NPC_IH_UTAG,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH, 0xff,
+               0x0000,
+               NPC_IH_W|NPC_IH_UTAG,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_EXDSA, 0xff,
+               NPC_DSA_EXTEND,
+               NPC_DSA_EXTEND,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_EXDSA, 0xff,
+               0x0000,
+               NPC_DSA_EXTEND,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_ETAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_HIGIG2, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_ETAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU1_IH_NIX_HIGIG2, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+};
+
+static struct npc_kpu_profile_cam kpu2_cam_entries[] = {
+       {
+               NPC_S_KPU2_CTAG, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_IP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_IP6,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_ARP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_RARP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_PTP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_FCOE,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_NSH,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_CTAG,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_SBTAG, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_QINQ, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_IP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_IP6,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_ARP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_CTAG,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               NPC_ETYPE_ITAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ETAG, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_ITAG, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG2, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG2, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG2, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG2, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG2, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG2, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG2, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG2, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG2, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG2, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_CTAG2, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_PREHEADER, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_PREHEADER, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_PREHEADER, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_PREHEADER, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_PREHEADER, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_PREHEADER, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_PREHEADER, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_PREHEADER, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_PREHEADER, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_PREHEADER, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_PREHEADER, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_PREHEADER, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               NPC_DSA_EDSA,
+               NPC_DSA_EDSA,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_IP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               NPC_DSA_EDSA,
+               NPC_DSA_EDSA,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_IP6,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               NPC_DSA_EDSA,
+               NPC_DSA_EDSA,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_ARP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               NPC_DSA_EDSA,
+               NPC_DSA_EDSA,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_RARP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               NPC_DSA_EDSA,
+               NPC_DSA_EDSA,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_PTP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               NPC_DSA_EDSA,
+               NPC_DSA_EDSA,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_FCOE,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               NPC_DSA_EDSA,
+               NPC_DSA_EDSA,
+               0x0000,
+               0x0000,
+               NPC_ETYPE_CTAG,
+               0xffff,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               NPC_DSA_EDSA,
+               NPC_DSA_EDSA,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               0x0000,
+               NPC_DSA_EDSA,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               0x0000,
+               NPC_DSA_EDSA,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               0x0000,
+               NPC_DSA_EDSA,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               0x0000,
+               NPC_DSA_EDSA,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               0x0000,
+               NPC_DSA_EDSA,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               0x0000,
+               NPC_DSA_EDSA,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               0x0000,
+               NPC_DSA_EDSA,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU2_EXDSA, 0xff,
+               0x0000,
+               NPC_DSA_EDSA,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu3_cam_entries[] = {
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU3_CTAG, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_ITAG, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG_C, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG_C, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG_C, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG_C, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG_C, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG_C, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG_C, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG_C, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG_C, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_CTAG_C, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_STAG_C, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_QINQ_C, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_RARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_PTP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_FCOE,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU3_DSA, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu4_cam_entries[] = {
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_ARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU4_MPLS, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU4_MPLS, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU4_MPLS, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+       },
+       {
+               NPC_S_KPU4_MPLS, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+       },
+       {
+               NPC_S_KPU4_NSH, 0xff,
+               NPC_NSH_NP_IP,
+               NPC_NSH_NP_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU4_NSH, 0xff,
+               NPC_NSH_NP_IP6,
+               NPC_NSH_NP_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU4_NSH, 0xff,
+               NPC_NSH_NP_ETH,
+               NPC_NSH_NP_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU4_NSH, 0xff,
+               NPC_NSH_NP_MPLS,
+               NPC_NSH_NP_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU4_NSH, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu5_cam_entries[] = {
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_RARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU5_IP, 0xff,
+               0x0000,
+               NPC_IP_TTL_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0001,
+               NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_TCP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_UDP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_SCTP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_ICMP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_IGMP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_ESP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_AH,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_GRE,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_IP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_IP6,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_MPLS,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_TCP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_UDP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_SCTP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_ICMP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_IGMP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_ESP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_AH,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_GRE,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_IP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_IP6,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               NPC_IPNH_MPLS,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               NPC_IP_HDR_MF|NPC_IP_HDR_FRAGOFF,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_ARP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_RARP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_PTP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_FCOE, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               0x0000,
+               NPC_IP6_HOP_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_TCP << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_UDP << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_SCTP << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_ICMP << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_ICMP6 << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_GRE << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_IP6 << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_MPLS << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_HOP << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_DEST << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_ROUT << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_FRAG << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_ESP << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_AH << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_MOBILITY << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_HOSTID << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               NPC_IPNH_SHIM6 << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               0x0000,
+               0x0000,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_IP6, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_MPLS, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_MPLS, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_MPLS, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_MPLS, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_MPLS, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_MPLS_PL, 0xff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_MPLS_PL, 0xff,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_MPLS_PL, 0xff,
+               0x0000,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU5_MPLS_PL, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu6_cam_entries[] = {
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_PTP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU6_IP6_EXT, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_FRAG, 0xff,
+               NPC_IPNH_TCP << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_FRAG, 0xff,
+               NPC_IPNH_UDP << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_FRAG, 0xff,
+               NPC_IPNH_SCTP << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_FRAG, 0xff,
+               NPC_IPNH_ICMP << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_FRAG, 0xff,
+               NPC_IPNH_ICMP6 << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_FRAG, 0xff,
+               NPC_IPNH_ESP << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_FRAG, 0xff,
+               NPC_IPNH_AH << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_FRAG, 0xff,
+               NPC_IPNH_GRE << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_FRAG, 0xff,
+               NPC_IPNH_IP6 << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_FRAG, 0xff,
+               NPC_IPNH_MPLS << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_FRAG, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               NPC_IPNH_TCP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               NPC_IPNH_UDP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               NPC_IPNH_SCTP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               NPC_IPNH_ICMP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               NPC_IPNH_ICMP6 << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               NPC_IPNH_ESP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               NPC_IPNH_AH << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               NPC_IPNH_GRE << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               NPC_IPNH_IP6 << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               NPC_IPNH_MPLS << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               NPC_IPNH_ROUT << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               NPC_IPNH_FRAG << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_HOP_DEST, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_ROUT, 0xff,
+               NPC_IPNH_TCP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_ROUT, 0xff,
+               NPC_IPNH_UDP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_ROUT, 0xff,
+               NPC_IPNH_SCTP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_ROUT, 0xff,
+               NPC_IPNH_ICMP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_ROUT, 0xff,
+               NPC_IPNH_ICMP6 << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_ROUT, 0xff,
+               NPC_IPNH_ESP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_ROUT, 0xff,
+               NPC_IPNH_AH << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_ROUT, 0xff,
+               NPC_IPNH_GRE << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_ROUT, 0xff,
+               NPC_IPNH_IP6 << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_ROUT, 0xff,
+               NPC_IPNH_MPLS << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_ROUT, 0xff,
+               NPC_IPNH_FRAG << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU6_IP6_ROUT, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu7_cam_entries[] = {
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_FCOE, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU7_IP6_EXT, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_ROUT, 0xff,
+               NPC_IPNH_TCP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_ROUT, 0xff,
+               NPC_IPNH_UDP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_ROUT, 0xff,
+               NPC_IPNH_SCTP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_ROUT, 0xff,
+               NPC_IPNH_ICMP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_ROUT, 0xff,
+               NPC_IPNH_ICMP6 << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_ROUT, 0xff,
+               NPC_IPNH_ESP << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_ROUT, 0xff,
+               NPC_IPNH_AH << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_ROUT, 0xff,
+               NPC_IPNH_GRE << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_ROUT, 0xff,
+               NPC_IPNH_IP6 << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_ROUT, 0xff,
+               NPC_IPNH_MPLS << 8,
+               0xff00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_ROUT, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_FRAG, 0xff,
+               NPC_IPNH_TCP << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_FRAG, 0xff,
+               NPC_IPNH_UDP << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_FRAG, 0xff,
+               NPC_IPNH_SCTP << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_FRAG, 0xff,
+               NPC_IPNH_ICMP << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_FRAG, 0xff,
+               NPC_IPNH_ICMP6 << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_FRAG, 0xff,
+               NPC_IPNH_ESP << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_FRAG, 0xff,
+               NPC_IPNH_AH << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_FRAG, 0xff,
+               NPC_IPNH_GRE << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_FRAG, 0xff,
+               NPC_IPNH_IP6 << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_FRAG, 0xff,
+               NPC_IPNH_MPLS << 8,
+               0xff00,
+               0x0000,
+               NPC_IP6_FRAG_FRAGOFF,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU7_IP6_FRAG, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu8_cam_entries[] = {
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU8_TCP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_TCP_FLAGS_FIN,
+               NPC_TCP_FLAGS_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               NPC_TCP_FLAGS_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_TCP_FLAGS_RST|NPC_TCP_FLAGS_FIN,
+               NPC_TCP_FLAGS_RST|NPC_TCP_FLAGS_FIN,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_TCP_FLAGS_URG|NPC_TCP_FLAGS_SYN,
+               NPC_TCP_FLAGS_URG|NPC_TCP_FLAGS_SYN,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_TCP_FLAGS_RST|NPC_TCP_FLAGS_SYN,
+               NPC_TCP_FLAGS_RST|NPC_TCP_FLAGS_SYN,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_TCP_FLAGS_SYN|NPC_TCP_FLAGS_FIN,
+               NPC_TCP_FLAGS_SYN|NPC_TCP_FLAGS_FIN,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               NPC_TCP_PORT_HTTP,
+               0xffff,
+               NPC_TCP_DATA_OFFSET_5,
+               NPC_TCP_DATA_OFFSET_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               NPC_TCP_PORT_HTTPS,
+               0xffff,
+               NPC_TCP_DATA_OFFSET_5,
+               NPC_TCP_DATA_OFFSET_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               NPC_TCP_PORT_PPTP,
+               0xffff,
+               NPC_TCP_DATA_OFFSET_5,
+               NPC_TCP_DATA_OFFSET_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_TCP_DATA_OFFSET_5,
+               NPC_TCP_DATA_OFFSET_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               NPC_TCP_PORT_HTTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               NPC_TCP_PORT_HTTPS,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               NPC_TCP_PORT_PPTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_TCP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_UDP, 0xff,
+               NPC_UDP_PORT_VXLAN,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_UDP, 0xff,
+               NPC_UDP_PORT_VXLANGPE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_UDP, 0xff,
+               NPC_UDP_PORT_GENEVE,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_UDP, 0xff,
+               NPC_UDP_PORT_GTPC,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_UDP, 0xff,
+               NPC_UDP_PORT_GTPU,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_UDP, 0xff,
+               NPC_UDP_PORT_PTP_E,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_UDP, 0xff,
+               NPC_UDP_PORT_PTP_G,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_UDP, 0xff,
+               NPC_UDP_PORT_MPLS,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_UDP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_SCTP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_ICMP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_IGMP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_ICMP6, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_ESP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_AH, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_TRANS_ETH_BR,
+               0xffff,
+               NPC_GRE_F_KEY,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_TRANS_ETH_BR,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               0x0000,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               NPC_GRE_F_CSUM,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               NPC_GRE_F_KEY,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_KEY,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               NPC_GRE_F_KEY|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSU,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_KEY|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               0x0000,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               NPC_GRE_F_CSUM,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               NPC_GRE_F_KEY,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_KEY,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               NPC_GRE_F_KEY|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_MPLSM,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_KEY|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               0x0000,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               NPC_GRE_F_CSUM,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               NPC_GRE_F_KEY,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_KEY,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               NPC_GRE_F_KEY|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_NSH,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_KEY|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               NPC_GRE_F_CSUM,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               NPC_GRE_F_KEY,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_KEY,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               NPC_GRE_F_KEY|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_KEY|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               NPC_GRE_F_CSUM,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               NPC_GRE_F_KEY,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_KEY,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               NPC_GRE_F_KEY|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               NPC_GRE_F_CSUM|NPC_GRE_F_KEY|NPC_GRE_F_SEQ,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               0x0000,
+               0xffff,
+               NPC_GRE_F_ROUTE,
+               0x4fff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               0x0000,
+               0xffff,
+               0x0000,
+               0x4fff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               0x0000,
+               0xffff,
+               0x0000,
+               0x0003,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_PPP,
+               0xffff,
+               NPC_GRE_F_KEY|NPC_GRE_VER_1,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_PPP,
+               0xffff,
+               NPC_GRE_F_KEY|NPC_GRE_F_SEQ|NPC_GRE_VER_1,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_PPP,
+               0xffff,
+               NPC_GRE_F_KEY|NPC_GRE_F_ACK|NPC_GRE_VER_1,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               NPC_ETYPE_PPP,
+               0xffff,
+               NPC_GRE_F_KEY|NPC_GRE_F_SEQ|NPC_GRE_F_ACK|NPC_GRE_VER_1,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               0x0000,
+               0xffff,
+               0x2001,
+               0xef7f,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU8_GRE, 0xff,
+               0x0000,
+               0xffff,
+               0x0001,
+               0x0003,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu9_cam_entries[] = {
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_NSH, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_NSH, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_NSH, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_NSH, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_IP, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_IP, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_IP, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_IP, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+       },
+       {
+               NPC_S_KPU9_TU_NSH_IN_GRE, 0xff,
+               NPC_NSH_NP_IP,
+               NPC_NSH_NP_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_TU_NSH_IN_GRE, 0xff,
+               NPC_NSH_NP_IP6,
+               NPC_NSH_NP_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_TU_NSH_IN_GRE, 0xff,
+               NPC_NSH_NP_ETH,
+               NPC_NSH_NP_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_TU_NSH_IN_GRE, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_VXLAN, 0xff,
+               0x0000,
+               0x0000,
+               NPC_VXLAN_I,
+               NPC_VXLAN_I,
+               0x0000,
+               0xffff,
+       },
+       {
+               NPC_S_KPU9_VXLAN, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0xffff,
+               0x0000,
+               0xffff,
+       },
+       {
+               NPC_S_KPU9_VXLAN, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_NP_IP,
+               NPC_VXLANGPE_NP_MASK,
        },
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_NP_IP6,
+               NPC_VXLANGPE_NP_MASK,
        },
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_ETAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_NP_ETH,
+               NPC_VXLANGPE_NP_MASK,
        },
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_NP_NSH,
+               NPC_VXLANGPE_NP_MASK,
        },
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_NP_MPLS,
+               NPC_VXLANGPE_NP_MASK,
        },
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_VXLANGPE_P,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_NP_IP,
+               NPC_VXLANGPE_NP_MASK,
        },
        {
-               NPC_S_KPU1_ETHER, 0xff, NPC_ETYPE_NSH, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_VXLANGPE_P,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_NP_IP6,
+               NPC_VXLANGPE_NP_MASK,
        },
        {
-               NPC_S_KPU1_ETHER, 0xff, 0x0000, 0xfc00,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_VXLANGPE_P,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_NP_ETH,
+               NPC_VXLANGPE_NP_MASK,
        },
        {
-               NPC_S_KPU1_ETHER, 0xff, 0x0400, 0xfe00,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_VXLANGPE_P,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_NP_NSH,
+               NPC_VXLANGPE_NP_MASK,
        },
        {
-               NPC_S_KPU1_ETHER, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_VXLANGPE_P,
+               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
+               NPC_VXLANGPE_NP_MPLS,
+               NPC_VXLANGPE_NP_MASK,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_VXLANGPE_P,
+               NPC_VXLANGPE_P,
+               0x0000,
+               0x0000,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               NPC_VXLANGPE_P,
+               0x0000,
+               0x0000,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_ARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_GENEVE, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_ETYPE_TRANS_ETH_BR,
+               0xffff,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_RARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_GENEVE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_GENEVE_F_OAM,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_ETYPE_TRANS_ETH_BR,
+               0xffff,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_PTP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_GENEVE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_GENEVE_F_CRI_OPT,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_ETYPE_TRANS_ETH_BR,
+               0xffff,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_FCOE, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_GENEVE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_ETYPE_TRANS_ETH_BR,
+               0xffff,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_GENEVE, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_ETYPE_IP,
+               0xffff,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_GENEVE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_GENEVE_F_OAM,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_ETYPE_IP,
+               0xffff,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_GENEVE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_GENEVE_F_CRI_OPT,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_ETYPE_IP,
+               0xffff,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_ETAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_GENEVE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_ETYPE_IP,
+               0xffff,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_GENEVE, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_ETYPE_IP6,
+               0xffff,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               0x0010, 0x0010, 0x0000, 0xffff,
+               NPC_S_KPU9_GENEVE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_GENEVE_F_OAM,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_ETYPE_IP6,
+               0xffff,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               0x0010, 0x0010, 0x0000, 0xffff,
+               NPC_S_KPU9_GENEVE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_GENEVE_F_CRI_OPT,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_ETYPE_IP6,
+               0xffff,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, NPC_ETYPE_NSH, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_GENEVE, 0xff,
+               0x0000,
+               0x0000,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
+               NPC_ETYPE_IP6,
+               0xffff,
        },
        {
-               NPC_S_KPU1_PKI, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_GTPC, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
        {
-               NPC_S_NA, 0X00, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU9_GTPU, 0xff,
+               0x0000,
+               0x0000,
+               NPC_GTP_PT_GTP | NPC_GTP_VER1 | NPC_GTP_MT_G_PDU,
+               NPC_GTP_PT_MASK | NPC_GTP_VER_MASK | NPC_GTP_MT_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_GTPU, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_UDP, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_UDP, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_UDP, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+       },
+       {
+               NPC_S_KPU9_TU_MPLS_IN_UDP, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
 };
 
-static struct npc_kpu_profile_cam kpu2_cam_entries[] = {
+static struct npc_kpu_profile_cam kpu10_cam_entries[] = {
        {
-               NPC_S_KPU2_CTAG, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU10_TU_MPLS, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_MPLS, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_MPLS, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_MPLS, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_MPLS, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_MPLS_PL, 0xff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_MPLS_PL, 0xff,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_MPLS_PL, 0xff,
+               0x0000,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_MPLS_PL, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_MPLS_IN_VXLANGPE, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_MPLS_IN_VXLANGPE, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_MPLS_IN_VXLANGPE, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+       },
+       {
+               NPC_S_KPU10_TU_MPLS_IN_VXLANGPE, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               NPC_MPLS_S,
+       },
+       {
+               NPC_S_KPU10_TU_NSH_IN_VXLANGPE, 0xff,
+               NPC_NSH_NP_IP,
+               NPC_NSH_NP_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_NSH_IN_VXLANGPE, 0xff,
+               NPC_NSH_NP_IP6,
+               NPC_NSH_NP_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_NSH_IN_VXLANGPE, 0xff,
+               NPC_NSH_NP_ETH,
+               NPC_NSH_NP_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU10_TU_NSH_IN_VXLANGPE, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu11_cam_entries[] = {
        {
-               NPC_S_KPU2_CTAG, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_SBTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               NPC_ETYPE_CTAG,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               NPC_ETYPE_IP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               NPC_ETYPE_IP6,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               NPC_ETYPE_ARP,
+               0xffff,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               NPC_ETYPE_QINQ,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_PPP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_MPLS, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_MPLS, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_MPLS, 0xff,
+               NPC_MPLS_S,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_MPLS, 0xff,
+               0x0000,
+               NPC_MPLS_S,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_MPLS_PL, 0xff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_MPLS_PL, 0xff,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_MPLS_PL, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU11_TU_ETHER_IN_NSH, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu12_cam_entries[] = {
        {
-               NPC_S_KPU2_CTAG, 0xff, NPC_ETYPE_ARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_TCP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_UDP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_SCTP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_ICMP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_IGMP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_ESP,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_AH,
+               0x00ff,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_IP_VER_4|NPC_IP_HDR_LEN_5,
+               NPC_IP_VER_MASK|NPC_IP_HDR_LEN_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_TCP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_UDP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_SCTP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_ICMP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_IGMP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_ESP,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               NPC_IPNH_AH,
+               0x00ff,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_IP_VER_4,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_ARP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP6, 0xff,
+               NPC_IPNH_TCP << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP6, 0xff,
+               NPC_IPNH_UDP << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP6, 0xff,
+               NPC_IPNH_SCTP << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP6, 0xff,
+               NPC_IPNH_ICMP << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP6, 0xff,
+               NPC_IPNH_ICMP6 << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP6, 0xff,
+               NPC_IPNH_ESP << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP6, 0xff,
+               NPC_IPNH_AH << 8,
+               0xff00,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP6, 0xff,
+               0x0000,
+               0x0000,
+               NPC_IP_VER_6,
+               NPC_IP_VER_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU12_TU_IP6, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu13_cam_entries[] = {
        {
-               NPC_S_KPU2_CTAG, 0xff, NPC_ETYPE_RARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU13_TU_IP6_EXT, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu14_cam_entries[] = {
        {
-               NPC_S_KPU2_CTAG, 0xff, NPC_ETYPE_PTP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU14_TU_IP6_EXT, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu15_cam_entries[] = {
        {
-               NPC_S_KPU2_CTAG, 0xff, NPC_ETYPE_FCOE, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU15_TU_TCP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_TCP_FLAGS_FIN,
+               NPC_TCP_FLAGS_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               NPC_TCP_FLAGS_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_TCP_FLAGS_RST|NPC_TCP_FLAGS_FIN,
+               NPC_TCP_FLAGS_RST|NPC_TCP_FLAGS_FIN,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_TCP_FLAGS_URG|NPC_TCP_FLAGS_SYN,
+               NPC_TCP_FLAGS_URG|NPC_TCP_FLAGS_SYN,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_TCP_FLAGS_RST|NPC_TCP_FLAGS_SYN,
+               NPC_TCP_FLAGS_RST|NPC_TCP_FLAGS_SYN,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_TCP_FLAGS_SYN|NPC_TCP_FLAGS_FIN,
+               NPC_TCP_FLAGS_SYN|NPC_TCP_FLAGS_FIN,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               NPC_TCP_PORT_HTTP,
+               0xffff,
+               NPC_TCP_DATA_OFFSET_5,
+               NPC_TCP_DATA_OFFSET_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               NPC_TCP_PORT_HTTPS,
+               0xffff,
+               NPC_TCP_DATA_OFFSET_5,
+               NPC_TCP_DATA_OFFSET_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               NPC_TCP_PORT_PPTP,
+               0xffff,
+               NPC_TCP_DATA_OFFSET_5,
+               NPC_TCP_DATA_OFFSET_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               0x0000,
+               0x0000,
+               NPC_TCP_DATA_OFFSET_5,
+               NPC_TCP_DATA_OFFSET_MASK,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               NPC_TCP_PORT_HTTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               NPC_TCP_PORT_HTTPS,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               NPC_TCP_PORT_PPTP,
+               0xffff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_TCP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_UDP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_SCTP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_ICMP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_IGMP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_ICMP6, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_ESP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU15_TU_AH, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_NA, 0X00,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_cam kpu16_cam_entries[] = {
        {
-               NPC_S_KPU2_CTAG, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_S_KPU16_TCP_DATA, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU16_HTTP_DATA, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU16_HTTPS_DATA, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU16_PPTP_DATA, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU16_UDP_DATA, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+       },
+       {
+               NPC_S_KPU16_UDP_PTP, 0xff,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
+               0x0000,
        },
+};
+
+static struct npc_kpu_profile_action kpu1_action_entries[] = {
        {
-               NPC_S_KPU2_CTAG, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 3, 0,
+               NPC_S_KPU5_IP, 14, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_CTAG, 0xff, NPC_ETYPE_NSH, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 3, 0,
+               NPC_S_KPU5_IP6, 14, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_CTAG, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_ARP, 14, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_RARP, 14, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP6, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_PTP, 14, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_ARP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_FCOE, 14, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_RARP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 12, 0, 0, 0,
+               NPC_S_KPU2_CTAG2, 12, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               NPC_F_LA_U_HAS_TAG | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_PTP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 0, 0, 0,
+               NPC_S_KPU2_CTAG, 12, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               NPC_F_LA_U_HAS_TAG | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_FCOE, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 22, 0, 0,
+               NPC_S_KPU2_SBTAG, 12, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               NPC_F_LA_U_HAS_TAG | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_MPLSU, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 0, 0, 0,
+               NPC_S_KPU2_QINQ, 12, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               NPC_F_LA_U_HAS_TAG | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_MPLSM, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 12, 26, 0, 0,
+               NPC_S_KPU2_ETAG, 12, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               NPC_F_LA_U_HAS_TAG | NPC_F_LA_L_WITH_ETAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_NSH, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               18, 22, 26, 0, 0,
+               NPC_S_KPU2_ITAG, 12, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               NPC_F_LA_U_HAS_TAG | NPC_F_LA_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 2, 0,
+               NPC_S_KPU4_MPLS, 14, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               NPC_F_LA_L_WITH_MPLS,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 2, 0,
+               NPC_S_KPU4_MPLS, 14, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               NPC_F_LA_L_WITH_MPLS,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_SBTAG, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 2, 0,
+               NPC_S_KPU4_NSH, 14, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               NPC_F_LA_L_WITH_NSH,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_IP, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 12, 0, 1, 0,
+               NPC_S_KPU3_DSA, 12, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_IP6, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LA, NPC_LT_LA_8023,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_ARP, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LA, NPC_LT_LA_8023,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_RARP, 0xffff,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_PTP, 0xffff,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_FCOE, 0xffff,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_MPLSU, 0xffff,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_MPLSM, 0xffff,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_NSH, 0xffff,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_SBTAG, 0xffff,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_CTAG, 0xffff,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_ARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_RARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_PTP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_FCOE, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, NPC_ETYPE_NSH, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_SBTAG, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP6, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_ARP, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_RARP, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_PTP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               NPC_F_LA_L_UNK_ETYPE,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_FCOE, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 3, 0,
+               NPC_S_KPU5_IP, 22, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_MPLSU, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 3, 0,
+               NPC_S_KPU5_IP6, 22, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_MPLSM, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_ARP, 22, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_NSH, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_RARP, 22, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_PTP, 22, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_FCOE, 22, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               NPC_ETYPE_QINQ, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 12, 0, 0, 0,
+               NPC_S_KPU2_CTAG2, 20, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_TAG
+                       | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 0, 0, 0,
+               NPC_S_KPU2_CTAG, 20, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_TAG
+                       | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 22, 0, 0,
+               NPC_S_KPU2_SBTAG, 20, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_TAG
+                       | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_ARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 0, 0, 0,
+               NPC_S_KPU2_QINQ, 20, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_TAG
+                       | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_RARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 12, 26, 0, 0,
+               NPC_S_KPU2_ETAG, 20, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_TAG
+                       | NPC_F_LA_L_WITH_ETAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_PTP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               18, 22, 26, 0, 0,
+               NPC_S_KPU2_ITAG, 20, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_TAG
+                       | NPC_F_LA_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_FCOE, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 2, 0,
+               NPC_S_KPU4_MPLS, 22, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_L_WITH_MPLS,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 2, 0,
+               NPC_S_KPU4_MPLS, 22, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_L_WITH_MPLS,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 2, 0,
+               NPC_S_KPU4_NSH, 22, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_L_WITH_NSH,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, NPC_ETYPE_NSH, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_L_UNK_ETYPE,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_QINQ, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 14, 16, 0, 0,
+               NPC_S_KPU2_PREHEADER, 8, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_8_ETHER,
+               0,
+               1, 0xff, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 14, 16, 0, 0,
+               NPC_S_KPU2_PREHEADER, 4, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_4_ETHER,
+               0,
+               1, 0xff, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 14, 16, 0, 0,
+               NPC_S_KPU2_PREHEADER, 2, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_2_ETHER,
+               0,
+               1, 0xff, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_ARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_LA, NPC_EC_IH_LENGTH,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               NPC_F_LA_L_UNK_ETYPE,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_RARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 16, 0, 0,
+               NPC_S_KPU2_EXDSA, 12, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_PTP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_LA, NPC_EC_EDSA_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LA, NPC_LT_LA_ETHER,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_FCOE, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 3, 0,
+               NPC_S_KPU5_IP, 30, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 3, 0,
+               NPC_S_KPU5_IP6, 30, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_ARP, 30, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_NSH, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_RARP, 30, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_PTP, 30, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_ITAG, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_FCOE, 30, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 12, 0, 0, 0,
+               NPC_S_KPU2_CTAG2, 28, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2 | NPC_F_LA_U_HAS_TAG
+                       | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 0, 0, 0,
+               NPC_S_KPU2_CTAG, 28, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2 | NPC_F_LA_U_HAS_TAG
+                       | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_IP, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 22, 0, 0,
+               NPC_S_KPU2_SBTAG, 28, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2 | NPC_F_LA_U_HAS_TAG
+                       | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_IP6, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 0, 0, 0,
+               NPC_S_KPU2_QINQ, 28, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2 | NPC_F_LA_U_HAS_TAG
+                       | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_ARP, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 12, 26, 0, 0,
+               NPC_S_KPU2_ETAG, 28, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2 | NPC_F_LA_U_HAS_TAG
+                       | NPC_F_LA_L_WITH_ETAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_SBTAG, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               18, 22, 26, 0, 0,
+               NPC_S_KPU2_ITAG, 28, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2 | NPC_F_LA_U_HAS_TAG
+                       | NPC_F_LA_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, NPC_ETYPE_CTAG, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 2, 0,
+               NPC_S_KPU4_MPLS, 30, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2 | NPC_F_LA_L_WITH_MPLS,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, NPC_ETYPE_ITAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 2, 0,
+               NPC_S_KPU4_MPLS, 30, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2 | NPC_F_LA_L_WITH_MPLS,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ETAG, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 2, 0,
+               NPC_S_KPU4_NSH, 30, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2 | NPC_F_LA_L_WITH_NSH,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LA, NPC_LT_LA_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_HIGIG2 | NPC_F_LA_L_UNK_ETYPE,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 3, 0,
+               NPC_S_KPU5_IP, 38, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_ARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 3, 0,
+               NPC_S_KPU5_IP6, 38, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_RARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_ARP, 38, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, NPC_ETYPE_IP, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_RARP, 38, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, NPC_ETYPE_IP6, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_PTP, 38, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, NPC_ETYPE_ARP, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 3, 0,
+               NPC_S_KPU5_FCOE, 38, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 12, 0, 0, 0,
+               NPC_S_KPU2_CTAG2, 36, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2
+                       | NPC_F_LA_U_HAS_TAG | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_IP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 0, 0, 0,
+               NPC_S_KPU2_CTAG, 36, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2
+                       | NPC_F_LA_U_HAS_TAG | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_IP6, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 22, 0, 0,
+               NPC_S_KPU2_SBTAG, 36, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2
+                       | NPC_F_LA_U_HAS_TAG | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_ARP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 0, 0, 0,
+               NPC_S_KPU2_QINQ, 36, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2
+                       | NPC_F_LA_U_HAS_TAG | NPC_F_LA_L_WITH_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 12, 26, 0, 0,
+               NPC_S_KPU2_ETAG, 36, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2
+                       | NPC_F_LA_U_HAS_TAG | NPC_F_LA_L_WITH_ETAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               18, 22, 26, 0, 0,
+               NPC_S_KPU2_ITAG, 36, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2
+                       | NPC_F_LA_U_HAS_TAG | NPC_F_LA_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP6, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 2, 0,
+               NPC_S_KPU4_MPLS, 38, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2
+                       | NPC_F_LA_L_WITH_MPLS,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_ARP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 2, 0,
+               NPC_S_KPU4_MPLS, 38, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2
+                       | NPC_F_LA_L_WITH_MPLS,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 2, 0,
+               NPC_S_KPU4_NSH, 38, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2
+                       | NPC_F_LA_L_WITH_NSH,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU2_ITAG, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LA, NPC_LT_LA_IH_NIX_HIGIG2_ETHER,
+               NPC_F_LA_U_HAS_IH_NIX | NPC_F_LA_U_HAS_HIGIG2
+                       | NPC_F_LA_L_UNK_ETYPE,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_NA, 0X00, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_LA, NPC_EC_L2_K1,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LA, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
 };
 
-static struct npc_kpu_profile_cam kpu3_cam_entries[] = {
-       {
-               NPC_S_KPU3_CTAG, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU3_CTAG, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU3_CTAG, 0xff, NPC_ETYPE_ARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU3_CTAG, 0xff, NPC_ETYPE_RARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU3_CTAG, 0xff, NPC_ETYPE_PTP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
+static struct npc_kpu_profile_action kpu2_action_entries[] = {
        {
-               NPC_S_KPU3_CTAG, 0xff, NPC_ETYPE_FCOE, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 6, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_CTAG, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 6, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_CTAG, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 6, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_CTAG, 0xff, NPC_ETYPE_NSH, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_RARP, 6, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_CTAG, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_PTP, 6, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_FCOE, 6, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP6, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 6, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_ARP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 6, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_RARP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 1, 0,
+               NPC_S_KPU4_NSH, 6, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_PTP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               NPC_F_LB_U_UNK_ETYPE,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_FCOE, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_MPLSU, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_MPLSM, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_NSH, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_RARP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_PTP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_FCOE, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_ARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_RARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 1, 0,
+               NPC_S_KPU4_NSH, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG_UNK,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, NPC_ETYPE_NSH, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 0, 0, 0,
+               NPC_S_KPU3_CTAG, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_STAG_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_STAG, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 0, 0, 0,
+               NPC_S_KPU3_STAG, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_STAG_STAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_BTAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP6, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_BTAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_ARP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_BTAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_RARP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_RARP, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_BTAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_PTP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_PTP, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_BTAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_FCOE, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_FCOE, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_BTAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_MPLSU, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_BTAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_MPLSM, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_BTAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_NSH, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 1, 0,
+               NPC_S_KPU4_NSH, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_BTAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU3_STAG, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_BTAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG_STAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU3_CTAG, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_BTAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_ARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_BTAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG_UNK,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_RARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_UNK_ETYPE,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_PTP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_FCOE, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_RARP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, NPC_ETYPE_NSH, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_PTP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_QINQ, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_FCOE, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_ARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 1, 0,
+               NPC_S_KPU4_NSH, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_RARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_CTAG_UNK,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, NPC_ETYPE_IP, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 0, 0, 0,
+               NPC_S_KPU3_CTAG, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_QINQ_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, NPC_ETYPE_IP6, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 0, 0, 0,
+               NPC_S_KPU3_QINQ, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_QINQ_QINQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, NPC_ETYPE_ARP, 0xffff,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_UNK_ETYPE,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_IP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_IP6, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_ARP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_RARP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_PTP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_FCOE, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP6, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               1,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_ARP, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_NSH, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               2,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU3_ITAG, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU3_CTAG, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_NA, 0X00, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               16, 20, 24, 0, 0,
+               NPC_S_KPU3_ITAG, 14, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_BTAG_ITAG,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_cam kpu4_cam_entries[] = {
        {
-               NPC_S_KPU4_MPLS, 0xff, NPC_MPLS_S, NPC_MPLS_S,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 0, 0, 0,
+               NPC_S_KPU3_STAG, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_STAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU4_MPLS, 0xff, 0x0000, NPC_MPLS_S,
-               NPC_MPLS_S, NPC_MPLS_S, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 0, 0, 0,
+               NPC_S_KPU3_QINQ, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_QINQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU4_MPLS, 0xff, 0x0000, NPC_MPLS_S,
-               0x0000, NPC_MPLS_S, NPC_MPLS_S, NPC_MPLS_S,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 28, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU4_MPLS, 0xff, 0x0000, NPC_MPLS_S,
-               0x0000, NPC_MPLS_S, 0x0000, NPC_MPLS_S,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 28, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU4_NSH, 0xff, NPC_NSH_NP_IP, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 28, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU4_NSH, 0xff, NPC_NSH_NP_IP6, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU3_STAG, 28, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG_STAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU4_NSH, 0xff, NPC_NSH_NP_ETH, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU3_CTAG, 28, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU4_NSH, 0xff, NPC_NSH_NP_NSH, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_ITAG_UNK,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU4_NSH, 0xff, NPC_NSH_NP_MPLS, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_ETAG,
+               NPC_F_LB_U_UNK_ETYPE,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_NA, 0X00, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 20, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               0,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_cam kpu5_cam_entries[] = {
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_TCP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 20, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_UDP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 20, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_SCTP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_RARP, 20, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_ICMP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 28, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_STAG_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_IGMP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 28, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_STAG_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_ESP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 28, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_STAG_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_AH, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_GRE, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_STAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_IP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_STAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_IP6, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_STAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_MPLS, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, 0x0000, 0x0000,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_TCP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_UDP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 24, 1,
+               NPC_LID_LB, NPC_LT_LB_ITAG,
+               NPC_F_LB_U_MORE_TAG|NPC_F_LB_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_SCTP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_ICMP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_IGMP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_ESP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_AH, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_GRE, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_RARP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_IP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_PTP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_IP6, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_FCOE, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, NPC_IPNH_MPLS, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, 0x0000, 0x0000,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 1, 0,
+               NPC_S_KPU4_NSH, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_ARP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 0, 0, 0,
+               NPC_S_KPU3_QINQ, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_MORE_TAG | NPC_F_LB_L_WITH_QINQ_QINQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_RARP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               NPC_F_LB_U_UNK_ETYPE,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_PTP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 14, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_FCOE, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 14, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP6, 0xff, NPC_IPNH_TCP << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 14, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP6, 0xff, NPC_IPNH_UDP << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_RARP, 14, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP6, 0xff, NPC_IPNH_SCTP << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_PTP, 14, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP6, 0xff, NPC_IPNH_ICMP << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_FCOE, 14, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP6, 0xff, NPC_IPNH_ICMP6 << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 0, 0, 0,
+               NPC_S_KPU3_CTAG_C, 14, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP6, 0xff, NPC_IPNH_ESP << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 20, 0, 0,
+               NPC_S_KPU3_STAG_C, 14, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP6, 0xff, NPC_IPNH_AH << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 0, 0, 0,
+               NPC_S_KPU3_QINQ_C, 14, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP6, 0xff, NPC_IPNH_GRE << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 14, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP6, 0xff, NPC_IPNH_IP6 << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU4_MPLS, 14, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP6, 0xff, NPC_IPNH_MPLS << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 1, 0,
+               NPC_S_KPU4_NSH, 14, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP6, 0xff, 0x0000, 0x0000,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 18, 1,
+               NPC_LID_LB, NPC_LT_LB_EDSA,
+               NPC_F_LB_L_EDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_IP6, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 18, 1,
+               NPC_LID_LB, NPC_LT_LB_EDSA,
+               NPC_F_LB_L_EDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_MPLS, 0xff, NPC_MPLS_S, NPC_MPLS_S,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 18, 1,
+               NPC_LID_LB, NPC_LT_LB_EDSA,
+               NPC_F_LB_L_EDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_MPLS, 0xff, NPC_MPLS_S, NPC_MPLS_S,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_RARP, 18, 1,
+               NPC_LID_LB, NPC_LT_LB_EDSA,
+               NPC_F_LB_L_EDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_MPLS, 0xff, NPC_MPLS_S, NPC_MPLS_S,
-               0x0000, 0xffff, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_PTP, 18, 1,
+               NPC_LID_LB, NPC_LT_LB_EDSA,
+               NPC_F_LB_L_EDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_MPLS, 0xff, NPC_MPLS_S, NPC_MPLS_S,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_FCOE, 18, 1,
+               NPC_LID_LB, NPC_LT_LB_EDSA,
+               NPC_F_LB_L_EDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_MPLS, 0xff, 0x0000, NPC_MPLS_S,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 0, 0, 0,
+               NPC_S_KPU3_CTAG, 16, 1,
+               NPC_LID_LB, NPC_LT_LB_EDSA_VLAN,
+               NPC_F_LB_L_EDSA_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_MPLS_PL, 0xff, NPC_IP_VER_4, NPC_IP_VER_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_EDSA,
+               NPC_F_LB_U_UNK_ETYPE | NPC_F_LB_L_EDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_MPLS_PL, 0xff, NPC_IP_VER_6, NPC_IP_VER_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_EXDSA,
+               NPC_F_LB_L_EXDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_MPLS_PL, 0xff, 0x0000, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_EXDSA,
+               NPC_F_LB_L_EXDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_MPLS_PL, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_EXDSA,
+               NPC_F_LB_L_EXDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_NSH, 0xff, NPC_NSH_NP_IP, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_RARP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_EXDSA,
+               NPC_F_LB_L_EXDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_NSH, 0xff, NPC_NSH_NP_IP6, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_PTP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_EXDSA,
+               NPC_F_LB_L_EXDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_NSH, 0xff, NPC_NSH_NP_ETH, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_FCOE, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_EXDSA,
+               NPC_F_LB_L_EXDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_NSH, 0xff, NPC_NSH_NP_NSH, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               4, 8, 0, 0, 0,
+               NPC_S_KPU3_CTAG, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_EXDSA_VLAN,
+               NPC_F_LB_L_EXDSA_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU5_NSH, 0xff, NPC_NSH_NP_MPLS, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_EXDSA,
+               NPC_F_LB_U_UNK_ETYPE | NPC_F_LB_L_EXDSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_NA, 0X00, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
 };
 
-static struct npc_kpu_profile_cam kpu6_cam_entries[] = {
+static struct npc_kpu_profile_action kpu3_action_entries[] = {
        {
-               NPC_S_KPU6_IP6_EXT, 0xff, 0x0000, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_cam kpu7_cam_entries[] = {
        {
-               NPC_S_KPU7_IP6_EXT, 0xff, 0x0000, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_cam kpu8_cam_entries[] = {
        {
-               NPC_S_KPU8_TCP, 0xff, NPC_TCP_PORT_HTTP, 0xffff,
-               NPC_TCP_DATA_OFFSET_5, NPC_TCP_DATA_OFFSET_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU8_TCP, 0xff, NPC_TCP_PORT_HTTPS, 0xffff,
-               NPC_TCP_DATA_OFFSET_5, NPC_TCP_DATA_OFFSET_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_RARP, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU8_TCP, 0xff, NPC_TCP_PORT_PPTP, 0xffff,
-               NPC_TCP_DATA_OFFSET_5, NPC_TCP_DATA_OFFSET_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_PTP, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU8_TCP, 0xff, 0x0000, 0x0000,
-               NPC_TCP_DATA_OFFSET_5, NPC_TCP_DATA_OFFSET_MASK, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_FCOE, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU8_TCP, 0xff, NPC_TCP_PORT_HTTP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_TCP, 0xff, NPC_TCP_PORT_HTTPS, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_TCP, 0xff, NPC_TCP_PORT_PPTP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_TCP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLAN, 0xffff,
-               NPC_VXLAN_I, NPC_VXLAN_I, 0x0000, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLAN, 0xffff,
-               0x0000, 0xffff, 0x0000, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLAN, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLANGPE, 0xffff,
-               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_NP_IP, NPC_VXLANGPE_NP_MASK,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLANGPE, 0xffff,
-               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_NP_IP6, NPC_VXLANGPE_NP_MASK,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLANGPE, 0xffff,
-               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_NP_ETH, NPC_VXLANGPE_NP_MASK,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLANGPE, 0xffff,
-               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_NP_NSH, NPC_VXLANGPE_NP_MASK,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLANGPE, 0xffff,
-               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_NP_MPLS, NPC_VXLANGPE_NP_MASK,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLANGPE, 0xffff,
-               NPC_VXLANGPE_P, NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_NP_IP, NPC_VXLANGPE_NP_MASK,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLANGPE, 0xffff,
-               NPC_VXLANGPE_P, NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_NP_IP6, NPC_VXLANGPE_NP_MASK,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLANGPE, 0xffff,
-               NPC_VXLANGPE_P, NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_NP_ETH, NPC_VXLANGPE_NP_MASK,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLANGPE, 0xffff,
-               NPC_VXLANGPE_P, NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_NP_NSH, NPC_VXLANGPE_NP_MASK,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLANGPE, 0xffff,
-               NPC_VXLANGPE_P, NPC_VXLANGPE_P | NPC_VXLANGPE_I,
-               NPC_VXLANGPE_NP_MPLS, NPC_VXLANGPE_NP_MASK,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLANGPE, 0xffff,
-               NPC_VXLANGPE_P, NPC_VXLANGPE_P, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_VXLANGPE, 0xffff,
-               0x0000, NPC_VXLANGPE_P, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GENEVE, 0xffff,
-               0x0000, NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
-               NPC_ETYPE_TRANS_ETH_BR, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GENEVE, 0xffff,
-               NPC_GENEVE_F_OAM, NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
-               NPC_ETYPE_TRANS_ETH_BR, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GENEVE, 0xffff,
-               NPC_GENEVE_F_CRI_OPT, NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
-               NPC_ETYPE_TRANS_ETH_BR, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GENEVE, 0xffff,
-               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
-               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
-               NPC_ETYPE_TRANS_ETH_BR, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GENEVE, 0xffff,
-               0x0000, NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
-               NPC_ETYPE_IP, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GENEVE, 0xffff,
-               NPC_GENEVE_F_OAM, NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
-               NPC_ETYPE_IP, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GENEVE, 0xffff,
-               NPC_GENEVE_F_CRI_OPT, NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
-               NPC_ETYPE_IP, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GENEVE, 0xffff,
-               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
-               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT, NPC_ETYPE_IP, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GENEVE, 0xffff,
-               0x0000, NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
-               NPC_ETYPE_IP6, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GENEVE, 0xffff,
-               NPC_GENEVE_F_OAM, NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
-               NPC_ETYPE_IP6, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GENEVE, 0xffff,
-               NPC_GENEVE_F_CRI_OPT,
-               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT, NPC_ETYPE_IP6, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GENEVE, 0xffff,
-               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
-               NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT, NPC_ETYPE_IP6, 0xffff,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GTPC, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GTPU, 0xffff,
-               NPC_GTP_PT_GTP | NPC_GTP_VER1 | NPC_GTP_MT_G_PDU,
-               NPC_GTP_PT_MASK | NPC_GTP_VER_MASK | NPC_GTP_MT_MASK,
-               0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, NPC_UDP_PORT_GTPU, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_UDP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_SCTP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_ICMP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_IGMP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_ICMP6, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_ESP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_AH, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_TRANS_ETH_BR, 0xffff,
-               NPC_GRE_F_KEY, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_TRANS_ETH_BR, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               0x0000, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               NPC_GRE_F_CSUM, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               NPC_GRE_F_KEY, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_KEY, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               NPC_GRE_F_KEY | NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSU, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_KEY | NPC_GRE_F_SEQ,
-               0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               0x0000, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               NPC_GRE_F_CSUM, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               NPC_GRE_F_KEY, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_KEY, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               NPC_GRE_F_KEY | NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_MPLSM, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_KEY | NPC_GRE_F_SEQ,
-               0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_NSH, 0xffff,
-               0x0000, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_NSH, 0xffff,
-               NPC_GRE_F_CSUM, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_NSH, 0xffff,
-               NPC_GRE_F_KEY, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_NSH, 0xffff,
-               NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_NSH, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_KEY, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_NSH, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_NSH, 0xffff,
-               NPC_GRE_F_KEY | NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_NSH, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_KEY | NPC_GRE_F_SEQ,
-               0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP, 0xffff,
-               NPC_GRE_F_CSUM, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP, 0xffff,
-               NPC_GRE_F_KEY, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP, 0xffff,
-               NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_KEY, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP, 0xffff,
-               NPC_GRE_F_KEY | NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_KEY | NPC_GRE_F_SEQ,
-               0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP6, 0xffff,
-               NPC_GRE_F_CSUM, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP6, 0xffff,
-               NPC_GRE_F_KEY, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP6, 0xffff,
-               NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP6, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_KEY, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP6, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP6, 0xffff,
-               NPC_GRE_F_KEY | NPC_GRE_F_SEQ, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_IP6, 0xffff,
-               NPC_GRE_F_CSUM | NPC_GRE_F_KEY | NPC_GRE_F_SEQ,
-               0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, 0x0000, 0xffff,
-               NPC_GRE_F_ROUTE, 0x4fff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, 0x0000, 0xffff,
-               0x0000, 0x4fff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, 0x0000, 0xffff,
-               0x0000, 0x0003, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_PPP, 0xffff,
-               NPC_GRE_F_KEY | NPC_GRE_VER_1, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_PPP, 0xffff,
-               NPC_GRE_F_KEY | NPC_GRE_F_SEQ | NPC_GRE_VER_1,
-               0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_PPP, 0xffff,
-               NPC_GRE_F_KEY | NPC_GRE_F_ACK | NPC_GRE_VER_1,
-               0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, NPC_ETYPE_PPP, 0xffff,
-               NPC_GRE_F_KEY | NPC_GRE_F_SEQ | NPC_GRE_F_ACK | NPC_GRE_VER_1,
-               0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, 0x0000, 0xffff,
-               0x2001, 0xef7f, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU8_GRE, 0xff, 0x0000, 0xffff,
-               0x0001, 0x0003, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_NA, 0X00, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-};
-
-static struct npc_kpu_profile_cam kpu9_cam_entries[] = {
-       {
-               NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 0xff, NPC_MPLS_S, NPC_MPLS_S,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 0xff, 0x0000, NPC_MPLS_S,
-               NPC_MPLS_S, NPC_MPLS_S, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 0xff, 0x0000, NPC_MPLS_S,
-               0x0000, NPC_MPLS_S, NPC_MPLS_S, NPC_MPLS_S,
-       },
-       {
-               NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 0xff, 0x0000, NPC_MPLS_S,
-               0x0000, NPC_MPLS_S, 0x0000, NPC_MPLS_S,
-       },
-       {
-               NPC_S_KPU9_TU_MPLS, 0xff, NPC_MPLS_S, NPC_MPLS_S,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU9_TU_MPLS, 0xff, 0x0000, NPC_MPLS_S,
-               NPC_MPLS_S, NPC_MPLS_S, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU9_TU_MPLS, 0xff, 0x0000, NPC_MPLS_S,
-               0x0000, NPC_MPLS_S, NPC_MPLS_S, NPC_MPLS_S,
-       },
-       {
-               NPC_S_KPU9_TU_MPLS, 0xff, 0x0000, NPC_MPLS_S,
-               0x0000, NPC_MPLS_S, 0x0000, NPC_MPLS_S,
-       },
-       {
-               NPC_S_KPU9_TU_NSH, 0xff, NPC_NSH_NP_IP, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU9_TU_NSH, 0xff, NPC_NSH_NP_IP6, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU9_TU_NSH, 0xff, NPC_NSH_NP_ETH, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU9_TU_NSH, 0xff, NPC_NSH_NP_NSH, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU9_TU_NSH, 0xff, NPC_NSH_NP_MPLS, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_NA, 0X00, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-};
-
-static struct npc_kpu_profile_cam kpu10_cam_entries[] = {
-       {
-               NPC_S_KPU10_TU_MPLS, 0xff, NPC_MPLS_S, NPC_MPLS_S,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_MPLS, 0xff, NPC_MPLS_S, NPC_MPLS_S,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_MPLS, 0xff, NPC_MPLS_S, NPC_MPLS_S,
-               0x0000, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_MPLS, 0xff, NPC_MPLS_S, NPC_MPLS_S,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_MPLS, 0xff, 0x0000, NPC_MPLS_S,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_MPLS_PL, 0xff, NPC_IP_VER_4, NPC_IP_VER_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_MPLS_PL, 0xff, NPC_IP_VER_6, NPC_IP_VER_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_MPLS_PL, 0xff, 0x0000, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_MPLS_PL, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_NSH, 0xff, NPC_NSH_NP_IP, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_NSH, 0xff, NPC_NSH_NP_IP6, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_NSH, 0xff, NPC_NSH_NP_ETH, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_NSH, 0xff, NPC_NSH_NP_NSH, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU10_TU_NSH, 0xff, NPC_NSH_NP_MPLS, NPC_NSH_NP_MASK,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_NA, 0X00, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-};
-
-static struct npc_kpu_profile_cam kpu11_cam_entries[] = {
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_IP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_IP6, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_ARP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_IP6, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               NPC_ETYPE_ARP, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_CTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, NPC_ETYPE_IP, 0xffff,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, NPC_ETYPE_IP6, 0xffff,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, NPC_ETYPE_ARP, 0xffff,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_IP, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_IP6, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               NPC_ETYPE_ARP, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_SBTAG, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, NPC_ETYPE_IP, 0xffff,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, NPC_ETYPE_IP6, 0xffff,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, NPC_ETYPE_ARP, 0xffff,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               NPC_ETYPE_CTAG, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               NPC_ETYPE_IP, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               NPC_ETYPE_IP6, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               NPC_ETYPE_ARP, 0xffff, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, NPC_ETYPE_QINQ, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_ETHER, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_PPP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_MPLS_IN_NSH, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU11_TU_3RD_NSH, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_NA, 0X00, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-};
-
-static struct npc_kpu_profile_cam kpu12_cam_entries[] = {
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_TCP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_UDP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_SCTP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_ICMP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_IGMP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_ESP, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_AH, 0x00ff,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, 0x0000, 0x0000,
-               NPC_IP_VER_4 | NPC_IP_HDR_LEN_5,
-               NPC_IP_VER_MASK | NPC_IP_HDR_LEN_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_TCP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_UDP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_SCTP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_ICMP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_IGMP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_ESP, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, NPC_IPNH_AH, 0x00ff,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, 0x0000, 0x0000,
-               NPC_IP_VER_4, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_ARP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP6, 0xff, NPC_IPNH_TCP << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP6, 0xff, NPC_IPNH_UDP << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP6, 0xff, NPC_IPNH_SCTP << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP6, 0xff, NPC_IPNH_ICMP << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP6, 0xff, NPC_IPNH_ICMP6 << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP6, 0xff, NPC_IPNH_ESP << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP6, 0xff, NPC_IPNH_AH << 8, 0xff00,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP6, 0xff, 0x0000, 0x0000,
-               NPC_IP_VER_6, NPC_IP_VER_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU12_TU_IP6, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_NA, 0X00, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-};
-
-static struct npc_kpu_profile_cam kpu13_cam_entries[] = {
-       {
-               NPC_S_KPU13_TU_IP6_EXT, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-};
-
-static struct npc_kpu_profile_cam kpu14_cam_entries[] = {
-       {
-               NPC_S_KPU14_TU_IP6_EXT, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-};
-
-static struct npc_kpu_profile_cam kpu15_cam_entries[] = {
-       {
-               NPC_S_KPU15_TU_TCP, 0xff, NPC_TCP_PORT_HTTP, 0xffff,
-               NPC_TCP_DATA_OFFSET_5, NPC_TCP_DATA_OFFSET_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU15_TU_TCP, 0xff, NPC_TCP_PORT_HTTPS, 0xffff,
-               NPC_TCP_DATA_OFFSET_5, NPC_TCP_DATA_OFFSET_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU15_TU_TCP, 0xff, NPC_TCP_PORT_PPTP, 0xffff,
-               NPC_TCP_DATA_OFFSET_5, NPC_TCP_DATA_OFFSET_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU15_TU_TCP, 0xff, 0x0000, 0x0000,
-               NPC_TCP_DATA_OFFSET_5, NPC_TCP_DATA_OFFSET_MASK, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU15_TU_TCP, 0xff, NPC_TCP_PORT_HTTP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU15_TU_TCP, 0xff, NPC_TCP_PORT_HTTPS, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU15_TU_TCP, 0xff, NPC_TCP_PORT_PPTP, 0xffff,
-               0x0000, 0x0000, 0x0000, 0x0000,
-       },
-       {
-               NPC_S_KPU15_TU_TCP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU15_TU_UDP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU15_TU_SCTP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU4_NSH, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU15_TU_ICMP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU15_TU_IGMP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU15_TU_ICMP6, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU15_TU_ESP, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU15_TU_AH, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_RARP, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_NA, 0X00, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_PTP, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_cam kpu16_cam_entries[] = {
        {
-               NPC_S_KPU16_TCP_DATA, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_FCOE, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU16_HTTP_DATA, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU16_HTTPS_DATA, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU16_PPTP_DATA, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU4_NSH, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_S_KPU16_UDP_DATA, 0xff, 0x0000, 0x0000,
-               0x0000, 0x0000, 0x0000, 0x0000,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_action kpu1_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU5_IP, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU5_IP6, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               3, 0, NPC_S_KPU5_ARP, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_RARP, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               3, 0, NPC_S_KPU5_RARP, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               3, 0, NPC_S_KPU5_PTP, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               3, 0, NPC_S_KPU5_FCOE, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU4_NSH, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 0,
-               0, 0, NPC_S_KPU2_CTAG, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_ETHER_VLAN, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 20,
-               0, 0, NPC_S_KPU2_SBTAG, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_ETHER_VLAN, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 0,
-               0, 0, NPC_S_KPU2_QINQ, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_ETHER_VLAN, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 10, 24,
-               0, 0, NPC_S_KPU2_ETAG, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_ETHER_ETAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 16, 20, 24,
-               0, 0, NPC_S_KPU2_ITAG, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_ETHER_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_RARP, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               2, 0, NPC_S_KPU4_MPLS, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_ETHER_MPLS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_PTP, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               2, 0, NPC_S_KPU4_MPLS, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_ETHER_MPLS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_FCOE, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               2, 0, NPC_S_KPU4_NSH, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_ETHER_NSH, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LA, NPC_LT_LA_8023, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LA, NPC_LT_LA_8023, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU4_NSH, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_ETYPE_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU5_IP, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU5_IP6, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               3, 0, NPC_S_KPU5_ARP, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_RARP, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               3, 0, NPC_S_KPU5_RARP, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_PTP, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               3, 0, NPC_S_KPU5_PTP, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_FCOE, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               3, 0, NPC_S_KPU5_FCOE, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 0,
-               0, 0, NPC_S_KPU2_CTAG, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI_VLAN, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 20,
-               0, 0, NPC_S_KPU2_SBTAG, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI_VLAN, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU4_NSH, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 0,
-               0, 0, NPC_S_KPU2_QINQ, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI_VLAN, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 10, 24,
-               0, 0, NPC_S_KPU2_ETAG, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI_ETAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU5_IP, 18, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 16, 20, 24,
-               0, 0, NPC_S_KPU2_ITAG, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU5_IP6, 18, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               2, 0, NPC_S_KPU4_MPLS, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI_MPLS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_ARP, 18, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               2, 0, NPC_S_KPU4_MPLS, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI_MPLS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU5_RARP, 18, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               2, 0, NPC_S_KPU4_NSH, 14, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_PKI_NSH, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 26, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LA, NPC_LT_LA_ETHER, NPC_F_ETYPE_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 26, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LA, NPC_EC_L2_K1, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LA, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 26, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_action kpu2_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_CTAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 22, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_CTAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 22, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_CTAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 22, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_RARP, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_CTAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_PTP, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_CTAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_FCOE, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_CTAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 22, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_CTAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 22, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_CTAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 22, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               1, 0, NPC_S_KPU4_NSH, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_CTAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LB, NPC_LT_LB_CTAG, NPC_F_ETYPE_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_RARP, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_RARP, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_PTP, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_PTP, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_FCOE, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_FCOE, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               1, 0, NPC_S_KPU4_NSH, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU4_NSH, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_STAG_CTAG_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_CTAG,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 0,
-               0, 0, NPC_S_KPU3_CTAG, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_STAG_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 0,
-               0, 0, NPC_S_KPU3_STAG, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_STAG_STAG_STAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_BTAG, NPC_F_BTAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_BTAG, NPC_F_BTAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_RARP, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_BTAG, NPC_F_BTAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_PTP, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_RARP, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_BTAG, NPC_F_BTAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_FCOE, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_PTP, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_BTAG, NPC_F_BTAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_FCOE, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_BTAG, NPC_F_BTAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_BTAG, NPC_F_BTAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU4_NSH, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_BTAG, NPC_F_BTAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               1, 0, NPC_S_KPU4_NSH, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_BTAG, NPC_F_BTAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU3_STAG, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_BTAG, NPC_F_BTAG_ITAG_STAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU3_CTAG, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_BTAG, NPC_F_BTAG_ITAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_RARP, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LB, NPC_LT_LB_BTAG, NPC_F_BTAG_ITAG_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU4_NSH, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_RARP, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_PTP, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_FCOE, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_RARP, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_PTP, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               1, 0, NPC_S_KPU4_NSH, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_FCOE, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LB, NPC_LT_LB_STAG, NPC_F_ETYPE_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU4_NSH, 8, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_RARP, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_PTP, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_FCOE, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_RARP, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_PTP, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_FCOE, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               1, 0, NPC_S_KPU4_NSH, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_QINQ_CTAG_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU4_MPLS, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 0,
-               0, 0, NPC_S_KPU3_CTAG, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_QINQ_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU4_NSH, 4, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 0,
-               0, 0, NPC_S_KPU3_QINQ, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_QINQ_QINQ_QINQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA,
+               NPC_F_LB_L_DSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA,
+               NPC_F_LB_L_DSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA,
+               NPC_F_LB_L_DSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_RARP, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_RARP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA,
+               NPC_F_LB_L_DSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_PTP, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_PTP, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA,
+               NPC_F_LB_L_DSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_FCOE, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_FCOE, 10, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA,
+               NPC_F_LB_L_DSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU5_IP, 14, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA_VLAN,
+               NPC_F_LB_L_DSA_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU5_IP6, 14, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA_VLAN,
+               NPC_F_LB_L_DSA_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               1, 0, NPC_S_KPU4_NSH, 4, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_ARP, 14, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA_VLAN,
+               NPC_F_LB_L_DSA_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LB, NPC_LT_LB_QINQ, NPC_F_ETYPE_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_RARP, 14, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA_VLAN,
+               NPC_F_LB_L_DSA_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_PTP, 14, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA_VLAN,
+               NPC_F_LB_L_DSA_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU5_FCOE, 14, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA_VLAN,
+               NPC_F_LB_L_DSA_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA_VLAN,
+               NPC_F_LB_U_UNK_ETYPE | NPC_F_LB_L_DSA,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_RARP, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LB, NPC_LT_LB_DSA,
+               NPC_F_LB_U_UNK_ETYPE | NPC_F_LB_L_DSA_VLAN,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_PTP, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LB, NPC_EC_L2_K3,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
+};
+
+static struct npc_kpu_profile_action kpu4_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_FCOE, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU5_MPLS_PL, 4, 1,
+               NPC_LID_LC, NPC_LT_LC_MPLS,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, 1, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU5_MPLS_PL, 8, 1,
+               NPC_LID_LC, NPC_LT_LC_MPLS,
+               NPC_F_LC_L_MPLS_2_LABELS,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_MPLS, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, 2, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU5_MPLS_PL, 12, 1,
+               NPC_LID_LC, NPC_LT_LC_MPLS,
+               NPC_F_LC_L_MPLS_3_LABELS,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               1, 0, NPC_S_KPU4_NSH, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, 2, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 4, 0, 0, 0,
+               NPC_S_KPU5_MPLS, 12, 1,
+               NPC_LID_LC, NPC_LT_LC_MPLS,
+               NPC_F_LC_L_MPLS_4_LABELS,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU3_CTAG, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, NPC_F_ETAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 7, 0,
+               NPC_S_KPU12_TU_IP, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_NSH,
+               0,
+               1, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 16, 20, 24,
-               0, 0, NPC_S_KPU3_ITAG, 12, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, NPC_F_ETAG_BTAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 7, 0,
+               NPC_S_KPU12_TU_IP6, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_NSH,
+               0,
+               1, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 0,
-               0, 0, NPC_S_KPU3_STAG, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, NPC_F_ETAG_STAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 6, 0,
+               NPC_S_KPU11_TU_ETHER, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_NSH,
+               0,
+               1, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 0,
-               0, 0, NPC_S_KPU3_QINQ, 8, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, NPC_F_ETAG_QINQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 4, 0,
+               NPC_S_KPU9_TU_MPLS_IN_NSH, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_NSH,
+               0,
+               1, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 26, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, NPC_F_ETAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LC, NPC_EC_NSH_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_NSH,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 26, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, NPC_F_ETAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LB, NPC_EC_L2_K4,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
+};
+
+static struct npc_kpu_profile_action kpu5_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 26, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, NPC_F_ETAG_ITAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LC, NPC_EC_IP_TTL_0,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU3_STAG, 26, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, NPC_F_ETAG_ITAG_STAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LC, NPC_EC_IP_FRAG_OFFSET_1,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               NPC_F_LC_U_IP_FRAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU3_CTAG, 26, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, NPC_F_ETAG_ITAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 12, 0, 2, 0,
+               NPC_S_KPU8_TCP, 20, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, NPC_F_ETAG_ITAG_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 2, 0,
+               NPC_S_KPU8_UDP, 20, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LB, NPC_LT_LB_ETAG, NPC_F_ETYPE_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_SCTP, 20, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 18, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_ICMP, 20, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 18, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_IGMP, 20, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 18, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_ESP, 20, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_RARP, 18, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_AH, 20, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 26, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, NPC_F_ITAG_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 2, 0,
+               NPC_S_KPU8_GRE, 20, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 26, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, NPC_F_ITAG_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 6, 0,
+               NPC_S_KPU12_TU_IP, 20, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               NPC_F_LC_L_IP_IN_IP,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 26, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, NPC_F_ITAG_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 6, 0,
+               NPC_S_KPU12_TU_IP6, 20, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               NPC_F_LC_L_6TO4,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 3, 0,
+               NPC_S_KPU9_TU_MPLS_IN_IP, 20, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               NPC_F_LC_L_MPLS_IN_IP,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, NPC_F_ITAG_STAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               NPC_F_LC_U_UNK_PROTO,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, NPC_F_ITAG_STAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               NPC_F_LC_U_IP_FRAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, NPC_F_ITAG_STAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 12, 0, 2, 0,
+               NPC_S_KPU8_TCP, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               0,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 8, 10, 2, 0,
+               NPC_S_KPU8_UDP, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               0,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, NPC_F_ITAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_SCTP, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               0,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, NPC_F_ITAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_ICMP, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               0,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 22, 1,
-               NPC_LID_LB, NPC_LT_LB_ITAG, NPC_F_ITAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_IGMP, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               0,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_ESP, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               0,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_AH, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               0,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 2, 0,
+               NPC_S_KPU8_GRE, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               0,
+               0, 0xf, 0, 2,
        },
-};
-
-static struct npc_kpu_profile_action kpu3_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               1, 0, NPC_S_KPU5_IP, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 6, 0,
+               NPC_S_KPU12_TU_IP, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               NPC_F_LC_L_IP_IN_IP,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               1, 0, NPC_S_KPU5_IP6, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 6, 0,
+               NPC_S_KPU12_TU_IP6, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               NPC_F_LC_L_6TO4,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_ARP, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 3, 0,
+               NPC_S_KPU9_TU_MPLS_IN_IP, 20, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               NPC_F_LC_L_MPLS_IN_IP,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_RARP, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               NPC_F_LC_U_UNK_PROTO,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_PTP, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP_OPT,
+               NPC_F_LC_U_IP_FRAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_FCOE, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LC, NPC_EC_IP_VER,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU4_MPLS, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_ARP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU4_MPLS, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_RARP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU4_NSH, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_PTP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_FCOE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               1, 0, NPC_S_KPU5_IP, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LC, NPC_EC_IP6_HOP_0,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               1, 0, NPC_S_KPU5_IP6, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 12, 0, 2, 0,
+               NPC_S_KPU8_TCP, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_ARP, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 2, 0,
+               NPC_S_KPU8_UDP, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_RARP, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_SCTP, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_PTP, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_ICMP, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_FCOE, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_ICMP6, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU4_MPLS, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_GRE, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU4_MPLS, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 6, 0,
+               NPC_S_KPU12_TU_IP6, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6,
+               NPC_F_LC_L_IP6_TUN_IP6,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU4_NSH, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 3, 0,
+               NPC_S_KPU9_TU_MPLS_IN_IP, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6,
+               NPC_F_LC_L_IP6_MPLS_IN_IP,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               1, 0, NPC_S_KPU5_IP, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU6_IP6_HOP_DEST, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6_EXT,
+               NPC_F_LC_L_EXT_HOP,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               1, 0, NPC_S_KPU5_IP6, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU6_IP6_HOP_DEST, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6_EXT,
+               NPC_F_LC_L_EXT_DEST,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_ARP, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU6_IP6_ROUT, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6_EXT,
+               NPC_F_LC_L_EXT_ROUT,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_RARP, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 2, 0, 0, 0,
+               NPC_S_KPU6_IP6_FRAG, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6_EXT,
+               NPC_F_LC_U_IP6_FRAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU4_MPLS, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_ESP, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6_EXT,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU4_MPLS, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU8_AH, 40, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6_EXT,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU4_NSH, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6_EXT,
+               NPC_F_LC_L_EXT_MOBILITY,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6_EXT,
+               NPC_F_LC_L_EXT_HOSTID,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               1, 0, NPC_S_KPU5_IP, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6_EXT,
+               NPC_F_LC_L_EXT_SHIM6,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               1, 0, NPC_S_KPU5_IP6, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6,
+               NPC_F_LC_U_UNK_PROTO,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_ARP, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LC, NPC_EC_IP6_VER,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LC, NPC_LT_LC_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_RARP, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 6, 0,
+               NPC_S_KPU12_TU_IP, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_PTP, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 6, 0,
+               NPC_S_KPU12_TU_IP6, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_FCOE, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 5, 0,
+               NPC_S_KPU11_TU_ETHER, 8, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU4_MPLS, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 5, 0,
+               NPC_S_KPU11_TU_ETHER, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU4_MPLS, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LB, NPC_EC_MPLS_2MANY,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU4_NSH, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 6, 0,
+               NPC_S_KPU12_TU_IP, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               1, 0, NPC_S_KPU5_IP, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 6, 0,
+               NPC_S_KPU12_TU_IP6, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               1, 0, NPC_S_KPU5_IP6, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 5, 0,
+               NPC_S_KPU11_TU_ETHER, 4, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_ARP, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 5, 0,
+               NPC_S_KPU11_TU_ETHER, 0, 0,
+               NPC_LID_LB, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_RARP, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LC, NPC_EC_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
+};
+
+static struct npc_kpu_profile_action kpu6_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_PTP, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_FCOE, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 12, 0, 1, 0,
+               NPC_S_KPU8_TCP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU4_MPLS, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 8, 10, 1, 0,
+               NPC_S_KPU8_UDP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU4_MPLS, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_SCTP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU4_NSH, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_ICMP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_ICMP6, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU5_IP, 18, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_ESP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU5_IP6, 18, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_AH, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_ARP, 18, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_GRE, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU5_RARP, 18, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 5, 0,
+               NPC_S_KPU12_TU_IP6, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               1, 0, NPC_S_KPU5_IP, 26, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 2, 0,
+               NPC_S_KPU9_TU_MPLS_IN_IP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               1, 0, NPC_S_KPU5_IP6, 26, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_ARP, 26, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 12, 0, 1, 0,
+               NPC_S_KPU8_TCP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               1, 0, NPC_S_KPU5_IP, 22, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 8, 10, 1, 0,
+               NPC_S_KPU8_UDP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               1, 0, NPC_S_KPU5_IP6, 22, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_SCTP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_ARP, 22, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_ICMP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_ICMP6, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_ESP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               1, 0, NPC_S_KPU5_IP, 22, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_AH, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               1, 0, NPC_S_KPU5_IP6, 22, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_GRE, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU5_ARP, 22, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 5, 0,
+               NPC_S_KPU12_TU_IP6, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 2, 0,
+               NPC_S_KPU9_TU_MPLS_IN_IP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3_ETYPE_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU7_IP6_ROUT, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K3, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 2, 0, 0, 0,
+               NPC_S_KPU7_IP6_FRAG, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
-};
-
-static struct npc_kpu_profile_action kpu4_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU5_MPLS_PL, 4, 1,
-               NPC_LID_LC, NPC_LT_LC_MPLS, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU5_MPLS_PL, 8, 1,
-               NPC_LID_LC, NPC_LT_LC_MPLS, NPC_F_MPLS_2_LABELS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 12, 0, 1, 0,
+               NPC_S_KPU8_TCP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU5_MPLS_PL, 12, 1,
-               NPC_LID_LC, NPC_LT_LC_MPLS, NPC_F_MPLS_3_LABELS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 8, 10, 1, 0,
+               NPC_S_KPU8_UDP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 4, 0,
-               0, 0, NPC_S_KPU5_MPLS, 12, 1,
-               NPC_LID_LC, NPC_LT_LC_MPLS, NPC_F_MPLS_4_LABELS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_SCTP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               7, 0, NPC_S_KPU12_TU_IP, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_NSH, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_ICMP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               7, 0, NPC_S_KPU12_TU_IP6, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_NSH, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_ICMP6, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               6, 0, NPC_S_KPU11_TU_ETHER, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_NSH, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_ESP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU5_NSH, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_NSH, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_AH, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               4, 0, NPC_S_KPU9_TU_MPLS, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_NSH, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 1, 0,
+               NPC_S_KPU8_GRE, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_K4, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LC, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 5, 0,
+               NPC_S_KPU12_TU_IP6, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
-};
-
-static struct npc_kpu_profile_action kpu5_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 12, 0,
-               2, 0, NPC_S_KPU8_TCP, 20, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 2, 0,
+               NPC_S_KPU9_TU_MPLS_IN_IP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 8, 10,
-               2, 0, NPC_S_KPU8_UDP, 20, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 2, 0, 0, 0,
+               NPC_S_KPU7_IP6_FRAG, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU8_SCTP, 20, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU8_ICMP, 20, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LC, NPC_EC_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
+};
+
+static struct npc_kpu_profile_action kpu7_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU8_IGMP, 20, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU8_ESP, 20, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 12, 0, 0, 0,
+               NPC_S_KPU8_TCP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU8_AH, 20, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 8, 10, 0, 0,
+               NPC_S_KPU8_UDP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               2, 0, NPC_S_KPU8_GRE, 20, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU8_SCTP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               6, 0, NPC_S_KPU12_TU_IP, 20, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_IP_IN_IP, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU8_ICMP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               6, 0, NPC_S_KPU12_TU_IP6, 20, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_6TO4, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU8_ICMP6, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               3, 0, NPC_S_KPU9_TU_MPLS, 20, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_MPLS_IN_IP, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU8_ESP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_UNK_PROTO, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU8_AH, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 12, 0,
-               2, 0, NPC_S_KPU8_TCP, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU8_GRE, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 8, 10,
-               2, 0, NPC_S_KPU8_UDP, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 4, 0,
+               NPC_S_KPU12_TU_IP6, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU8_SCTP, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU9_TU_MPLS_IN_IP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               1, 0xff, 0, 3,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU8_ICMP, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU8_IGMP, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 12, 0, 0, 0,
+               NPC_S_KPU8_TCP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU8_ESP, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 8, 10, 0, 0,
+               NPC_S_KPU8_UDP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU8_AH, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU8_SCTP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               2, 0, NPC_S_KPU8_GRE, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU8_ICMP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               6, 0, NPC_S_KPU12_TU_IP, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_IP_IN_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU8_ICMP6, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               6, 0, NPC_S_KPU12_TU_IP6, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_6TO4_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU8_ESP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               3, 0, NPC_S_KPU9_TU_MPLS, 20, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_MPLS_IN_IP_HAS_OPTIONS,
-               0, 0xf, 0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU8_AH, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, NPC_F_IP_UNK_PROTO_HAS_OPTIONS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU8_GRE, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LC, NPC_EC_IP_VER, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 4, 0,
+               NPC_S_KPU12_TU_IP6, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_ARP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 1, 0,
+               NPC_S_KPU9_TU_MPLS_IN_IP, 8, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_RARP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_PTP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LC, NPC_EC_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
+};
+
+static struct npc_kpu_profile_action kpu8_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_FCOE, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LD, NPC_EC_TCP_FLAGS_FIN_ONLY,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 12, 0,
-               2, 0, NPC_S_KPU8_TCP, 40, 1,
-               NPC_LID_LC, NPC_LT_LC_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LD, NPC_EC_TCP_FLAGS_ZERO,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 8, 10,
-               2, 0, NPC_S_KPU8_UDP, 40, 1,
-               NPC_LID_LC, NPC_LT_LC_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LD, NPC_EC_TCP_FLAGS_RST_FIN,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU8_SCTP, 40, 1,
-               NPC_LID_LC, NPC_LT_LC_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LD, NPC_EC_TCP_FLAGS_URG_SYN,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU8_ICMP, 40, 1,
-               NPC_LID_LC, NPC_LT_LC_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LD, NPC_EC_TCP_FLAGS_RST_SYN,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU8_ICMP6, 40, 1,
-               NPC_LID_LC, NPC_LT_LC_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LD, NPC_EC_TCP_FLAGS_SYN_FIN,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU8_ESP, 40, 1,
-               NPC_LID_LC, NPC_LT_LC_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 7, 0,
+               NPC_S_KPU16_HTTP_DATA, 20, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU8_AH, 40, 1,
-               NPC_LID_LC, NPC_LT_LC_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 7, 0,
+               NPC_S_KPU16_HTTPS_DATA, 20, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU8_GRE, 40, 1,
-               NPC_LID_LC, NPC_LT_LC_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 7, 0,
+               NPC_S_KPU16_PPTP_DATA, 20, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               6, 0, NPC_S_KPU12_TU_IP6, 40, 1,
-               NPC_LID_LC, NPC_LT_LC_IP6, NPC_F_IP6_TUN_IP6, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 7, 0,
+               NPC_S_KPU16_TCP_DATA, 20, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               NPC_F_LD_L_TCP_UNK_PORT,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               3, 0, NPC_S_KPU9_TU_MPLS, 40, 1,
-               NPC_LID_LC, NPC_LT_LC_IP6, NPC_F_IP6_MPLS_IN_IP, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 7, 0,
+               NPC_S_KPU16_HTTP_DATA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               NPC_F_LD_L_TCP_HAS_OPTIONS,
+               12, 0xf0, 1, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU6_IP6_EXT, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP6, NPC_F_IP6_HAS_EXT, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 7, 0,
+               NPC_S_KPU16_HTTPS_DATA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               NPC_F_LD_L_TCP_HAS_OPTIONS,
+               12, 0xf0, 1, 2,
        },
        {
-               NPC_ERRLEV_LC, NPC_EC_IP6_VER, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LC, NPC_LT_LC_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 7, 0,
+               NPC_S_KPU16_PPTP_DATA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               NPC_F_LD_L_TCP_HAS_OPTIONS,
+               12, 0xf0, 1, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               6, 0, NPC_S_KPU12_TU_IP, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 7, 0,
+               NPC_S_KPU16_TCP_DATA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_TCP,
+               NPC_F_LD_L_TCP_UNK_PORT_HAS_OPTIONS,
+               12, 0xf0, 1, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               6, 0, NPC_S_KPU12_TU_IP6, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 2, 0, 0,
+               NPC_S_KPU9_VXLAN, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               5, 0, NPC_S_KPU11_TU_ETHER, 8, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 2, 0, 0,
+               NPC_S_KPU9_VXLANGPE, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               5, 0, NPC_S_KPU11_TU_ETHER, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 2, 0, 0,
+               NPC_S_KPU9_GENEVE, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_MPLS_2MANY, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 2, 0, 0,
+               NPC_S_KPU9_GTPC, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               6, 0, NPC_S_KPU12_TU_IP, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 2, 0, 0,
+               NPC_S_KPU9_GTPU, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               6, 0, NPC_S_KPU12_TU_IP6, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_KPU16_UDP_PTP, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               5, 0, NPC_S_KPU11_TU_ETHER, 4, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_KPU16_UDP_PTP, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               5, 0, NPC_S_KPU11_TU_ETHER, 0, 0,
-               NPC_LID_LB, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_UDP, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               6, 0, NPC_S_KPU12_TU_IP, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 7, 0,
+               NPC_S_KPU16_UDP_DATA, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               6, 0, NPC_S_KPU12_TU_IP6, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_SCTP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               5, 0, NPC_S_KPU11_TU_ETHER, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_ICMP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               5, 0, NPC_S_KPU11_TU_3RD_NSH, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_IGMP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               3, 0, NPC_S_KPU9_TU_MPLS, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_ICMP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LC, NPC_EC_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LC, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_ESP,
+               0,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_action kpu6_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LC, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_AH,
+               0,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_action kpu7_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LC, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 2, 0,
+               NPC_S_KPU11_TU_ETHER, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_NVGRE,
+               NPC_F_LD_L_GRE_NVGRE,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_action kpu8_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               7, 0, NPC_S_KPU16_HTTP_DATA, 20, 1,
-               NPC_LID_LD, NPC_LT_LD_TCP, NPC_F_TCP_HTTP, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LD, NPC_EC_NVGRE,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LD, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               7, 0, NPC_S_KPU16_HTTPS_DATA, 20, 1,
-               NPC_LID_LD, NPC_LT_LD_TCP, NPC_F_TCP_HTTPS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 4, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               7, 0, NPC_S_KPU16_PPTP_DATA, 20, 1,
-               NPC_LID_LD, NPC_LT_LD_TCP, NPC_F_TCP_PPTP, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               7, 0, NPC_S_KPU16_TCP_DATA, 20, 1,
-               NPC_LID_LD, NPC_LT_LD_TCP, NPC_F_TCP_UNK_PORT, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_KEY,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               7, 0, NPC_S_KPU16_HTTP_DATA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_TCP, NPC_F_TCP_HTTP_HAS_OPTIONS,
-               12, 0xf0, 1, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               7, 0, NPC_S_KPU16_HTTPS_DATA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_TCP, NPC_F_TCP_HTTPS_HAS_OPTIONS,
-               12, 0xf0, 1, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_KEY,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               7, 0, NPC_S_KPU16_PPTP_DATA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_TCP, NPC_F_TCP_PPTP_HAS_OPTIONS,
-               12, 0xf0, 1, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               7, 0, NPC_S_KPU16_TCP_DATA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_TCP, NPC_F_TCP_UNK_PORT_HAS_OPTIONS,
-               12, 0xf0, 1, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_KEY_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               2, 0, NPC_S_KPU11_TU_ETHER, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLAN, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 16, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_KEY_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               2, 0, NPC_S_KPU11_TU_ETHER, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLAN_NOVNI, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 4, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LD, NPC_EC_VXLAN, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLANGPE, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_KEY,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLANGPE, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               2, 0, NPC_S_KPU11_TU_ETHER, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLANGPE, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_KEY,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU9_TU_NSH, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLANGPE_NSH, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLANGPE_MPLS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_KEY_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLANGPE_NOVNI, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU9_TU_MPLS_IN_GRE, 16, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_KEY_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLANGPE_NOVNI, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU9_TU_NSH_IN_GRE, 4, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               2, 0, NPC_S_KPU11_TU_ETHER, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLANGPE_NOVNI, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU9_TU_NSH_IN_GRE, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU9_TU_NSH, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLANGPE_NOVNI_NSH, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU9_TU_NSH_IN_GRE, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_KEY,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLANGPE_NOVNI_MPLS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU9_TU_NSH_IN_GRE, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLANGPE_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU9_TU_NSH_IN_GRE, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_KEY,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_VXLANGPE_NONP, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU9_TU_NSH_IN_GRE, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               2, 0, NPC_S_KPU11_TU_ETHER, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GENEVE, 8, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU9_TU_NSH_IN_GRE, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_KEY_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               2, 0, NPC_S_KPU11_TU_ETHER, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GENEVE_OAM, 8, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU9_TU_NSH_IN_GRE, 16, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_KEY_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               2, 0, NPC_S_KPU11_TU_ETHER, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GENEVE_CRI_OPT, 8, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 3, 0,
+               NPC_S_KPU12_TU_IP, 4, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               2, 0, NPC_S_KPU11_TU_ETHER, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GENEVE_OAM_CRI_OPT,
-               8, 0x3f, 0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 3, 0,
+               NPC_S_KPU12_TU_IP, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GENEVE, 8, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 3, 0,
+               NPC_S_KPU12_TU_IP, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_KEY,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GENEVE_OAM,
-               8, 0x3f, 0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 3, 0,
+               NPC_S_KPU12_TU_IP, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GENEVE_CRI_OPT,
-               8, 0x3f, 0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 3, 0,
+               NPC_S_KPU12_TU_IP, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_KEY,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GENEVE_OAM_CRI_OPT,
-               8, 0x3f, 0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 3, 0,
+               NPC_S_KPU12_TU_IP, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GENEVE, 8, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 3, 0,
+               NPC_S_KPU12_TU_IP, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_KEY_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GENEVE_OAM, 8, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 3, 0,
+               NPC_S_KPU12_TU_IP, 16, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_KEY_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GENEVE_CRI_OPT,
-               8, 0x3f, 0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 3, 0,
+               NPC_S_KPU12_TU_IP6, 4, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GENEVE_OAM_CRI_OPT,
-               8, 0x3f, 0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 3, 0,
+               NPC_S_KPU12_TU_IP6, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GTP_GTPC, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 3, 0,
+               NPC_S_KPU12_TU_IP6, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_KEY,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GTP_GTPU_G_PDU, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 3, 0,
+               NPC_S_KPU12_TU_IP6, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_GTP_GTPU_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 3, 0,
+               NPC_S_KPU12_TU_IP6, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_KEY,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               7, 0, NPC_S_KPU16_UDP_DATA, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_UDP, NPC_F_UDP_UNK_PORT, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 3, 0,
+               NPC_S_KPU12_TU_IP6, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_SCTP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 3, 0,
+               NPC_S_KPU12_TU_IP6, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_KEY_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_ICMP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 3, 0,
+               NPC_S_KPU12_TU_IP6, 16, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_CSUM_KEY_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_IGMP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_HAS_ROUTE,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_ICMP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_UNK_PROTO,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_ESP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LD, NPC_EC_GRE,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LD, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_AH, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU11_TU_PPP, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_VER1,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               2, 0, NPC_S_KPU11_TU_ETHER, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_NVGRE, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU11_TU_PPP, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_VER1_HAS_SEQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LD, NPC_EC_NVGRE, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU11_TU_PPP, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_VER1_HAS_ACK,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 4, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU11_TU_PPP, 16, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_VER1_HAS_SEQ_ACK,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_CSUM, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LD, NPC_LT_LD_GRE,
+               NPC_F_LD_L_GRE_VER1_UNK_PROTO,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_KEY, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LD, NPC_EC_GRE_VER1,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LD, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LD, NPC_EC_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LD, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
+};
+
+static struct npc_kpu_profile_action kpu9_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_CSUM_KEY, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS_PL, 4, 1,
+               NPC_LID_LE, NPC_LT_LE_TU_MPLS_IN_GRE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_CSUM_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS_PL, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_TU_MPLS_IN_GRE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_KEY_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS_PL, 12, 1,
+               NPC_LID_LE, NPC_LT_LE_TU_MPLS_IN_GRE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_CSUM_KEY_SEQ,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 4, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS, 12, 1,
+               NPC_LID_LE, NPC_LT_LE_TU_MPLS_IN_GRE,
+               0,
                0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 4, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS_PL, 4, 1,
+               NPC_LID_LD, NPC_LT_LD_TU_MPLS_IN_NSH,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_CSUM, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS_PL, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_TU_MPLS_IN_NSH,
+               NPC_F_LD_L_MPLS_2_LABELS,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_KEY, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS_PL, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_TU_MPLS_IN_NSH,
+               NPC_F_LD_L_MPLS_3_LABELS,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 4, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_TU_MPLS_IN_NSH,
+               NPC_F_LD_L_MPLS_4_LABELS,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_CSUM_KEY, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS_PL, 4, 1,
+               NPC_LID_LD, NPC_LT_LD_TU_MPLS_IN_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_CSUM_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS_PL, 8, 1,
+               NPC_LID_LD, NPC_LT_LD_TU_MPLS_IN_IP,
+               NPC_F_LD_L_MPLS_2_LABELS,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_KEY_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS_PL, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_TU_MPLS_IN_IP,
+               NPC_F_LD_L_MPLS_3_LABELS,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 6, 10,
-               0, 0, NPC_S_KPU9_TU_MPLS_IN_GRE_VXLAN, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_MPLS, NPC_F_GRE_HAS_CSUM_KEY_SEQ,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 4, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS, 12, 1,
+               NPC_LID_LD, NPC_LT_LD_TU_MPLS_IN_IP,
+               NPC_F_LD_L_MPLS_4_LABELS,
                0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU9_TU_NSH, 4, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_NSH, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU12_TU_IP, 0, 1,
+               NPC_LID_LE, NPC_LT_LE_TU_NSH_IN_GRE,
+               0,
+               1, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU9_TU_NSH, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_NSH, NPC_F_GRE_HAS_CSUM, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU12_TU_IP6, 0, 1,
+               NPC_LID_LE, NPC_LT_LE_TU_NSH_IN_GRE,
+               0,
+               1, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU9_TU_NSH, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_NSH, NPC_F_GRE_HAS_KEY, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 1, 0,
+               NPC_S_KPU11_TU_ETHER, 0, 1,
+               NPC_LID_LE, NPC_LT_LE_TU_NSH_IN_GRE,
+               0,
+               1, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU9_TU_NSH, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_NSH, NPC_F_GRE_HAS_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LE, NPC_EC_NSH_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LE, NPC_LT_LE_TU_NSH_IN_GRE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU9_TU_NSH, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_NSH, NPC_F_GRE_HAS_CSUM_KEY, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 1, 0,
+               NPC_S_KPU11_TU_ETHER, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLAN,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU9_TU_NSH, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_NSH, NPC_F_GRE_HAS_CSUM_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 1, 0,
+               NPC_S_KPU11_TU_ETHER, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLAN,
+               NPC_F_LE_L_VXLAN_NOVNI,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU9_TU_NSH, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_NSH, NPC_F_GRE_HAS_KEY_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LE, NPC_EC_VXLAN,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LE, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU9_TU_NSH, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE_NSH, NPC_F_GRE_HAS_CSUM_KEY_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU12_TU_IP, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLANGPE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 4, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU12_TU_IP6, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLANGPE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_CSUM, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 1, 0,
+               NPC_S_KPU11_TU_ETHER, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLANGPE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_KEY, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_NSH_IN_VXLANGPE, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLANGPE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU10_TU_MPLS_IN_VXLANGPE, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLANGPE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_CSUM_KEY, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU12_TU_IP, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLANGPE,
+               NPC_F_LE_L_VXLANGPE_NOVNI,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_CSUM_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU12_TU_IP6, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLANGPE,
+               NPC_F_LE_L_VXLANGPE_NOVNI,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_KEY_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 1, 0,
+               NPC_S_KPU11_TU_ETHER, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLANGPE,
+               NPC_F_LE_L_VXLANGPE_NOVNI,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_CSUM_KEY_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_NSH_IN_VXLANGPE, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLANGPE,
+               NPC_F_LE_L_VXLANGPE_NOVNI,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 4, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 6, 10, 0, 0,
+               NPC_S_KPU10_TU_MPLS_IN_VXLANGPE, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLANGPE,
+               NPC_F_LE_L_VXLANGPE_NOVNI,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_CSUM, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLANGPE,
+               NPC_F_LE_L_VXLANGPE_UNK,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_KEY, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LE, NPC_LT_LE_VXLANGPE,
+               NPC_F_LE_L_VXLANGPE_NONP,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 1, 0,
+               NPC_S_KPU11_TU_ETHER, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GENEVE,
+               0,
+               0, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_CSUM_KEY, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 1, 0,
+               NPC_S_KPU11_TU_ETHER, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GENEVE,
+               NPC_F_LE_L_GENEVE_OAM,
+               0, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_CSUM_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 1, 0,
+               NPC_S_KPU11_TU_ETHER, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GENEVE,
+               NPC_F_LE_L_GENEVE_CRI_OPT,
+               0, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_KEY_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 1, 0,
+               NPC_S_KPU11_TU_ETHER, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GENEVE,
+               NPC_F_LE_L_GENEVE_OAM_CRI_OPT,
+               0, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               3, 0, NPC_S_KPU12_TU_IP6, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_CSUM_KEY_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU12_TU_IP, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GENEVE,
+               0,
+               0, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_HAS_ROUTE, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU12_TU_IP, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GENEVE,
+               NPC_F_LE_L_GENEVE_OAM,
+               0, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_UNK_PROTO, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU12_TU_IP, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GENEVE,
+               NPC_F_LE_L_GENEVE_CRI_OPT,
+               0, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_LD, NPC_EC_GRE, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU12_TU_IP, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GENEVE,
+               NPC_F_LE_L_GENEVE_OAM_CRI_OPT,
+               0, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU11_TU_PPP, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_VER1, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU12_TU_IP6, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GENEVE,
+               0,
+               0, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU11_TU_PPP, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_VER1_HAS_SEQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU12_TU_IP6, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GENEVE,
+               NPC_F_LE_L_GENEVE_OAM,
+               0, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU11_TU_PPP, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_VER1_HAS_ACK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU12_TU_IP6, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GENEVE,
+               NPC_F_LE_L_GENEVE_CRI_OPT,
+               0, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU11_TU_PPP, 16, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_VER1_HAS_SEQ_ACK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 2, 0,
+               NPC_S_KPU12_TU_IP6, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GENEVE,
+               NPC_F_LE_L_GENEVE_OAM_CRI_OPT,
+               0, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LD, NPC_LT_LD_GRE, NPC_F_GRE_VER1_UNK_PROTO, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LE, NPC_LT_LE_GTPC,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LD, NPC_EC_GRE_VER1, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 2, 0,
+               NPC_S_KPU12_TU_IP, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_GTPU,
+               NPC_F_LE_L_GTPU_G_PDU,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LD, NPC_EC_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LE, NPC_LT_LE_GTPU,
+               NPC_F_LE_L_GTPU_UNK,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_action kpu9_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU10_TU_MPLS_PL, 4, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS_PL, 4, 1,
+               NPC_LID_LE, NPC_LT_LE_TU_MPLS_IN_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU10_TU_MPLS_PL, 8, 0,
-               NPC_LID_LD, NPC_LT_NA, NPC_F_MPLS_2_LABELS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS_PL, 8, 1,
+               NPC_LID_LE, NPC_LT_LE_TU_MPLS_IN_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU10_TU_MPLS_PL, 12, 0,
-               NPC_LID_LD, NPC_LT_NA, NPC_F_MPLS_3_LABELS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS_PL, 12, 1,
+               NPC_LID_LE, NPC_LT_LE_TU_MPLS_IN_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 4, 0,
-               0, 0, NPC_S_KPU10_TU_MPLS, 12, 0,
-               NPC_LID_LD, NPC_LT_NA, NPC_F_MPLS_4_LABELS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 4, 0, 0, 0,
+               NPC_S_KPU10_TU_MPLS, 12, 1,
+               NPC_LID_LE, NPC_LT_LE_TU_MPLS_IN_UDP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU10_TU_MPLS_PL, 4, 1,
-               NPC_LID_LD, NPC_LT_LD_TU_MPLS, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LE, NPC_EC_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LE, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
+};
+
+static struct npc_kpu_profile_action kpu10_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU10_TU_MPLS_PL, 8, 1,
-               NPC_LID_LD, NPC_LT_LD_TU_MPLS, NPC_F_MPLS_2_LABELS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU12_TU_IP, 4, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU10_TU_MPLS_PL, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_TU_MPLS, NPC_F_MPLS_3_LABELS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU12_TU_IP6, 4, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 4, 0,
-               0, 0, NPC_S_KPU10_TU_MPLS, 12, 1,
-               NPC_LID_LD, NPC_LT_LD_TU_MPLS, NPC_F_MPLS_4_LABELS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU11_TU_ETHER, 8, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               2, 0, NPC_S_KPU12_TU_IP, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU11_TU_ETHER, 4, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               2, 0, NPC_S_KPU12_TU_IP6, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_LE, NPC_EC_MPLS_2MANY,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               1, 0, NPC_S_KPU11_TU_ETHER, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU12_TU_IP, 0, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU10_TU_NSH, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU12_TU_IP6, 0, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               1, 0, NPC_S_KPU11_TU_MPLS_IN_NSH, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU11_TU_ETHER, 4, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LE, NPC_EC_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               12, 16, 20, 0, 0,
+               NPC_S_KPU11_TU_ETHER, 0, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_action kpu10_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               1, 0, NPC_S_KPU12_TU_IP, 4, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU11_TU_MPLS_PL, 4, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_MPLS_IN_VXLANGPE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               1, 0, NPC_S_KPU12_TU_IP6, 4, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU11_TU_MPLS_PL, 8, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_MPLS_IN_VXLANGPE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               0, 0, NPC_S_KPU11_TU_ETHER, 8, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU11_TU_MPLS_PL, 12, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_MPLS_IN_VXLANGPE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               0, 0, NPC_S_KPU11_TU_ETHER, 4, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 4, 0, 0, 0,
+               NPC_S_KPU11_TU_MPLS, 12, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_MPLS_IN_VXLANGPE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LB, NPC_EC_L2_MPLS_2MANY, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 1, 0,
+               NPC_S_KPU12_TU_IP, 0, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_NSH_IN_VXLANGPE,
+               0,
+               1, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               1, 0, NPC_S_KPU12_TU_IP, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 1, 0,
+               NPC_S_KPU12_TU_IP6, 0, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_NSH_IN_VXLANGPE,
+               0,
+               1, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               1, 0, NPC_S_KPU12_TU_IP6, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 0, 0,
+               NPC_S_KPU11_TU_ETHER_IN_NSH, 0, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_NSH_IN_VXLANGPE,
+               0,
+               1, 0x3f, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               0, 0, NPC_S_KPU11_TU_ETHER, 4, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LF, NPC_EC_NSH_UNK,
+               6, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_NSH_IN_VXLANGPE,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               0, 0, NPC_S_KPU11_TU_ETHER, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LE, NPC_EC_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
+};
+
+static struct npc_kpu_profile_action kpu11_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               1, 0, NPC_S_KPU12_TU_IP, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 0, 0,
+               NPC_S_KPU12_TU_IP, 14, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               1, 0, NPC_S_KPU12_TU_IP6, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_IP6, 14, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20,
-               0, 0, NPC_S_KPU11_TU_ETHER, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_ARP, 14, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU11_TU_3RD_NSH, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 0, 0,
+               NPC_S_KPU12_TU_IP, 18, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU11_TU_MPLS_IN_NSH, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 1, 0x3f,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_IP6, 18, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LE, NPC_EC_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LD, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_ARP, 18, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
-};
-
-static struct npc_kpu_profile_action kpu11_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               0, 0, NPC_S_KPU12_TU_IP, 14, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_U_UNK_ETYPE | NPC_F_LF_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               0, 0, NPC_S_KPU12_TU_IP6, 14, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 0, 0,
+               NPC_S_KPU12_TU_IP, 22, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_STAG_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU12_TU_ARP, 14, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_IP6, 22, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_STAG_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               0, 0, NPC_S_KPU12_TU_IP, 18, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_ARP, 22, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_STAG_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               0, 0, NPC_S_KPU12_TU_IP6, 18, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_U_UNK_ETYPE | NPC_F_LF_L_WITH_STAG_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU12_TU_ARP, 18, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 0, 0,
+               NPC_S_KPU12_TU_IP, 18, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_CTAG_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_IP6, 18, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               0, 0, NPC_S_KPU12_TU_IP, 22, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_ARP, 18, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               0, 0, NPC_S_KPU12_TU_IP6, 22, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_U_UNK_ETYPE | NPC_F_LF_L_WITH_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU12_TU_ARP, 22, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_STAG_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 0, 0,
+               NPC_S_KPU12_TU_IP, 22, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_QINQ_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER,
-               NPC_F_TU_ETHER_STAG_CTAG_UNK, 0, 0, 0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_IP6, 22, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_QINQ_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               0, 0, NPC_S_KPU12_TU_IP, 18, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_STAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_ARP, 22, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_QINQ_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               0, 0, NPC_S_KPU12_TU_IP6, 18, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_STAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_U_UNK_ETYPE | NPC_F_LF_L_WITH_QINQ_CTAG,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU12_TU_ARP, 18, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_STAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 0, 0,
+               NPC_S_KPU12_TU_IP, 18, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_QINQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_STAG_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_IP6, 18, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_QINQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               0, 0, NPC_S_KPU12_TU_IP, 22, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_ARP, 18, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_L_WITH_QINQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               0, 0, NPC_S_KPU12_TU_IP6, 22, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_U_UNK_ETYPE | NPC_F_LF_L_WITH_QINQ,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU12_TU_ARP, 22, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_QINQ_CTAG, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_ETHER,
+               NPC_F_LF_U_UNK_ETYPE,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER,
-               NPC_F_TU_ETHER_QINQ_CTAG_UNK, 0, 0, 0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LF, NPC_LT_LF_TU_PPP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 8, 0, 0,
-               0, 0, NPC_S_KPU12_TU_IP, 18, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_QINQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 0, 0,
+               NPC_S_KPU12_TU_IP, 4, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 6, 0, 0,
-               0, 0, NPC_S_KPU12_TU_IP6, 18, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_QINQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_IP6, 4, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU12_TU_ARP, 18, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_QINQ, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LF, NPC_EC_MPLS_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_QINQ_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LF, NPC_EC_MPLS_2MANY,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_ETHER, NPC_F_TU_ETHER_UNK, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               8, 0, 6, 0, 0,
+               NPC_S_KPU12_TU_IP, 0, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_PPP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               6, 0, 0, 0, 0,
+               NPC_S_KPU12_TU_IP6, 0, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_MPLS_IN_NSH, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LF, NPC_EC_MPLS_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LE, NPC_LT_LE_TU_3RD_NSH, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_ETHER_IN_NSH,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LE, NPC_EC_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LE, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LF, NPC_EC_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LF, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
 };
 
 static struct npc_kpu_profile_action kpu12_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 12, 0,
-               2, 0, NPC_S_KPU15_TU_TCP, 20, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 12, 0, 2, 0,
+               NPC_S_KPU15_TU_TCP, 20, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               2, 0, NPC_S_KPU15_TU_UDP, 20, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_UDP, 20, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_SCTP, 20, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_SCTP, 20, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_ICMP, 20, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_ICMP, 20, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_IGMP, 20, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_IGMP, 20, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_ESP, 20, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_ESP, 20, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_AH, 20, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_AH, 20, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, NPC_F_IP_UNK_PROTO, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               NPC_F_LG_U_UNK_IP_PROTO,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 12, 0,
-               2, 0, NPC_S_KPU15_TU_TCP, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 12, 0, 2, 0,
+               NPC_S_KPU15_TU_TCP, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               NPC_F_LG_U_IP_HAS_OPTIONS,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               2, 0, NPC_S_KPU15_TU_UDP, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_UDP, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               NPC_F_LG_U_IP_HAS_OPTIONS,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_SCTP, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_SCTP, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               NPC_F_LG_U_IP_HAS_OPTIONS,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_ICMP, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_ICMP, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               NPC_F_LG_U_IP_HAS_OPTIONS,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_IGMP, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_IGMP, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               NPC_F_LG_U_IP_HAS_OPTIONS,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_ESP, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_ESP, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               NPC_F_LG_U_IP_HAS_OPTIONS,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_AH, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, NPC_F_IP_HAS_OPTIONS, 0, 0xf,
-               0, 2,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_AH, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               NPC_F_LG_U_IP_HAS_OPTIONS,
+               0, 0xf, 0, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP,
-               NPC_F_IP_UNK_PROTO_HAS_OPTIONS, 0, 0, 0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               NPC_F_LG_U_IP_HAS_OPTIONS | NPC_F_LG_U_UNK_IP_PROTO,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LF, NPC_EC_IP_VER, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LF, NPC_EC_IP_VER,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_ARP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_ARP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 12, 0,
-               2, 0, NPC_S_KPU15_TU_TCP, 40, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 12, 0, 2, 0,
+               NPC_S_KPU15_TU_TCP, 40, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               2, 0, NPC_S_KPU15_TU_UDP, 40, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_UDP, 40, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_SCTP, 40, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_SCTP, 40, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_ICMP, 40, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_ICMP, 40, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_ICMP6, 40, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_ICMP6, 40, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_ESP, 40, 1,
-               NPC_LID_LC, NPC_LT_LF_TU_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_ESP, 40, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               2, 0, NPC_S_KPU15_TU_AH, 40, 1,
-               NPC_LID_LC, NPC_LT_LF_TU_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 2, 0,
+               NPC_S_KPU15_TU_AH, 40, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 2, 0, 0,
-               0, 0, NPC_S_KPU13_TU_IP6_EXT, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP6, NPC_F_IP6_HAS_EXT, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               2, 0, 0, 0, 0,
+               NPC_S_KPU13_TU_IP6_EXT, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP6,
+               NPC_F_LG_U_IP6_HAS_EXT,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LF, NPC_EC_IP6_VER, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LF, NPC_LT_LF_TU_IP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LF, NPC_EC_IP6_VER,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LG, NPC_LT_LG_TU_IP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LF, NPC_EC_UNK, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LF, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LF, NPC_EC_UNK,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LG, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
 };
 
 static struct npc_kpu_profile_action kpu13_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LC, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
 };
 
 static struct npc_kpu_profile_action kpu14_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LC, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LC, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
 };
 
 static struct npc_kpu_profile_action kpu15_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU16_HTTP_DATA, 20, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_TCP, NPC_F_TCP_HTTP, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LG, NPC_EC_TCP_FLAGS_FIN_ONLY,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               0,
+               0, 0, 0, 0,
+       },
+       {
+               NPC_ERRLEV_LG, NPC_EC_TCP_FLAGS_ZERO,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               0,
+               0, 0, 0, 0,
+       },
+       {
+               NPC_ERRLEV_LG, NPC_EC_TCP_FLAGS_RST_FIN,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               0,
+               0, 0, 0, 0,
+       },
+       {
+               NPC_ERRLEV_LG, NPC_EC_TCP_FLAGS_URG_SYN,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               0,
+               0, 0, 0, 0,
+       },
+       {
+               NPC_ERRLEV_LG, NPC_EC_TCP_FLAGS_RST_SYN,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               0,
+               0, 0, 0, 0,
+       },
+       {
+               NPC_ERRLEV_LG, NPC_EC_TCP_FLAGS_SYN_FIN,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               0,
+               0, 0, 0, 0,
+       },
+       {
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU16_HTTP_DATA, 20, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               NPC_F_LH_L_TCP_HTTP,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU16_HTTPS_DATA, 20, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_TCP, NPC_F_TCP_HTTPS, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU16_HTTPS_DATA, 20, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               NPC_F_LH_L_TCP_HTTP,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU16_PPTP_DATA, 20, 1,
-               NPC_LID_LD, NPC_LT_LG_TU_TCP, NPC_F_TCP_PPTP, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU16_PPTP_DATA, 20, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               NPC_F_LH_L_TCP_PPTP,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU16_TCP_DATA, 20, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_TCP, NPC_F_TCP_UNK_PORT, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU16_TCP_DATA, 20, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               NPC_F_LH_L_TCP_UNK_PORT,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU16_HTTP_DATA, 0, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_TCP, NPC_F_TCP_HTTP_HAS_OPTIONS,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU16_HTTP_DATA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               NPC_F_LH_U_TCP_HAS_OPTIONS | NPC_F_LH_L_TCP_HTTP,
                12, 0xf0, 1, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU16_HTTPS_DATA, 0, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_TCP, NPC_F_TCP_HTTPS_HAS_OPTIONS,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU16_HTTPS_DATA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               NPC_F_LH_U_TCP_HAS_OPTIONS | NPC_F_LH_L_TCP_HTTPS,
                12, 0xf0, 1, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU16_PPTP_DATA, 0, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_TCP, NPC_F_TCP_PPTP_HAS_OPTIONS,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU16_PPTP_DATA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               NPC_F_LH_U_TCP_HAS_OPTIONS | NPC_F_LH_L_TCP_PPTP,
                12, 0xf0, 1, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU16_TCP_DATA, 0, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_TCP, NPC_F_TCP_UNK_PORT_HAS_OPTIONS,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU16_TCP_DATA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_TCP,
+               NPC_F_LH_U_TCP_HAS_OPTIONS | NPC_F_LH_L_TCP_UNK_PORT,
                12, 0xf0, 1, 2,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 0, NPC_S_KPU16_UDP_DATA, 8, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_UDP, NPC_F_UDP_UNK_PORT, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 0,
+               NPC_S_KPU16_UDP_DATA, 8, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_UDP,
+               NPC_F_LH_L_UDP_UNK_PORT,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_SCTP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_SCTP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_ICMP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_ICMP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_IGMP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_IGMP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_ICMP6, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_ICMP6,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_ESP, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_ESP,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LG, NPC_LT_LG_TU_AH, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 1,
+               NPC_LID_LH, NPC_LT_LH_TU_AH,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_LG, NPC_EC_L4, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 0,
-               NPC_LID_LG, NPC_LT_NA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_LG, NPC_EC_L4,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LH, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
 };
 
 static struct npc_kpu_profile_action kpu16_action_entries[] = {
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LH, NPC_LT_LH_TCP_DATA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LH, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
+       },
+       {
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LH, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LH, NPC_LT_LH_HTTP_DATA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LH, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LH, NPC_LT_LH_HTTPS_DATA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LH, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LH, NPC_LT_LH_PPTP_DATA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LH, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
        {
-               NPC_ERRLEV_RE, NPC_EC_NOERR, 0, 0, 0,
-               0, 1, NPC_S_NA, 0, 1,
-               NPC_LID_LH, NPC_LT_LH_UDP_DATA, 0, 0, 0,
-               0, 0,
+               NPC_ERRLEV_RE, NPC_EC_NOERR,
+               0, 0, 0, 0, 1,
+               NPC_S_NA, 0, 0,
+               NPC_LID_LH, NPC_LT_NA,
+               0,
+               0, 0, 0, 0,
        },
 };
 
index 4a7609fd6dd07bba4180f5b39d860ad717cc215b..b88180885f318f28033549c9120debf343b2630f 100644 (file)
@@ -2763,23 +2763,23 @@ int rvu_nix_init(struct rvu *rvu)
                rvu_write64(rvu, blkaddr, NIX_AF_RX_DEF_OIP4,
                            (NPC_LID_LC << 8) | (NPC_LT_LC_IP << 4) | 0x0F);
                rvu_write64(rvu, blkaddr, NIX_AF_RX_DEF_IIP4,
-                           (NPC_LID_LF << 8) | (NPC_LT_LF_TU_IP << 4) | 0x0F);
+                           (NPC_LID_LG << 8) | (NPC_LT_LG_TU_IP << 4) | 0x0F);
                rvu_write64(rvu, blkaddr, NIX_AF_RX_DEF_OIP6,
                            (NPC_LID_LC << 8) | (NPC_LT_LC_IP6 << 4) | 0x0F);
                rvu_write64(rvu, blkaddr, NIX_AF_RX_DEF_IIP6,
-                           (NPC_LID_LF << 8) | (NPC_LT_LF_TU_IP6 << 4) | 0x0F);
+                           (NPC_LID_LG << 8) | (NPC_LT_LG_TU_IP6 << 4) | 0x0F);
                rvu_write64(rvu, blkaddr, NIX_AF_RX_DEF_OTCP,
                            (NPC_LID_LD << 8) | (NPC_LT_LD_TCP << 4) | 0x0F);
                rvu_write64(rvu, blkaddr, NIX_AF_RX_DEF_ITCP,
-                           (NPC_LID_LG << 8) | (NPC_LT_LG_TU_TCP << 4) | 0x0F);
+                           (NPC_LID_LH << 8) | (NPC_LT_LH_TU_TCP << 4) | 0x0F);
                rvu_write64(rvu, blkaddr, NIX_AF_RX_DEF_OUDP,
                            (NPC_LID_LD << 8) | (NPC_LT_LD_UDP << 4) | 0x0F);
                rvu_write64(rvu, blkaddr, NIX_AF_RX_DEF_IUDP,
-                           (NPC_LID_LG << 8) | (NPC_LT_LG_TU_UDP << 4) | 0x0F);
+                           (NPC_LID_LH << 8) | (NPC_LT_LH_TU_UDP << 4) | 0x0F);
                rvu_write64(rvu, blkaddr, NIX_AF_RX_DEF_OSCTP,
                            (NPC_LID_LD << 8) | (NPC_LT_LD_SCTP << 4) | 0x0F);
                rvu_write64(rvu, blkaddr, NIX_AF_RX_DEF_ISCTP,
-                           (NPC_LID_LG << 8) | (NPC_LT_LG_TU_SCTP << 4) |
+                           (NPC_LID_LH << 8) | (NPC_LT_LH_TU_SCTP << 4) |
                            0x0F);
 
                err = nix_rx_flowkey_alg_cfg(rvu, blkaddr);
index e300abbd36974ecc400a5792357ba388c8b5d306..ce4472915c984b6da7882426bf19b99a335b7979 100644 (file)
@@ -354,8 +354,8 @@ void rvu_npc_install_ucast_entry(struct rvu *rvu, u16 pcifunc,
                              NIX_INTF_RX, &entry, true);
 
        /* add VLAN matching, setup action and save entry back for later */
-       entry.kw[0] |= (NPC_LT_LB_STAG | NPC_LT_LB_CTAG) << 20;
-       entry.kw_mask[0] |= (NPC_LT_LB_STAG & NPC_LT_LB_CTAG) << 20;
+       entry.kw[0] |= (NPC_LT_LB_STAG_QINQ | NPC_LT_LB_CTAG) << 20;
+       entry.kw_mask[0] |= (NPC_LT_LB_STAG_QINQ & NPC_LT_LB_CTAG) << 20;
 
        entry.vtag_action = VTAG0_VALID_BIT |
                            FIELD_PREP(VTAG0_TYPE_MASK, 0) |
@@ -704,8 +704,7 @@ static void npc_config_ldata_extract(struct rvu *rvu, int blkaddr)
        /* Layer B: Stacked VLAN (STAG|QinQ) */
        /* CTAG VLAN[2..3] + Ethertype, 4 bytes, KW0[63:32] */
        cfg = KEX_LD_CFG(0x03, 0x4, 0x1, 0x0, 0x4);
-       SET_KEX_LD(NIX_INTF_RX, NPC_LID_LB, NPC_LT_LB_STAG, 0, cfg);
-       SET_KEX_LD(NIX_INTF_RX, NPC_LID_LB, NPC_LT_LB_QINQ, 0, cfg);
+       SET_KEX_LD(NIX_INTF_RX, NPC_LID_LB, NPC_LT_LB_STAG_QINQ, 0, cfg);
 
        /* Layer C: IPv4 */
        /* SIP+DIP: 8 bytes, KW2[63:0] */
@@ -1151,7 +1150,7 @@ int rvu_npc_init(struct rvu *rvu)
 
        /* Config Inner IPV4 NPC layer info */
        rvu_write64(rvu, blkaddr, NPC_AF_PCK_DEF_IIP4,
-                   (NPC_LID_LF << 8) | (NPC_LT_LF_TU_IP << 4) | 0x0F);
+                   (NPC_LID_LG << 8) | (NPC_LT_LG_TU_IP << 4) | 0x0F);
 
        /* Enable below for Rx pkts.
         * - Outer IPv4 header checksum validation.