mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-29 05:55:02 +08:00
f1517f6f1d
The current default Key Extraction(KEX) profile can only use RX packet fields while generating the MCAM search key. The profile can't be used for matching TX packet fields. This patch modifies the default KEX profile to add support for extracting TX packet fields into MCAM search key. Enabled Tx KPU packet parsing by configuring TX PKIND in tx_parse_cfg. Modified the KEX profile to extract 2 bytes of VLAN TCI from an offset of 2 bytes from LB_PTR. The LB_PTR points to the byte offset where the VLAN header starts. The NPC KPU parser profile has been modified to point LB_PTR to the starting byte offset of VLAN header which points to the tpid field. Signed-off-by: Stanislaw Kardach <skardach@marvell.com> Signed-off-by: Sunil Goutham <sgoutham@marvell.com> Signed-off-by: Naveen Mamindlapalli <naveenm@marvell.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
13528 lines
204 KiB
C
13528 lines
204 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Marvell OcteonTx2 RVU Admin Function driver
|
|
*
|
|
* Copyright (C) 2018 Marvell International Ltd.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#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
|
|
#define NPC_ETYPE_RARP 0x8035
|
|
#define NPC_ETYPE_MPLSU 0x8847
|
|
#define NPC_ETYPE_MPLSM 0x8848
|
|
#define NPC_ETYPE_ETAG 0x893f
|
|
#define NPC_ETYPE_CTAG 0x8100
|
|
#define NPC_ETYPE_SBTAG 0x88a8
|
|
#define NPC_ETYPE_ITAG 0x88e7
|
|
#define NPC_ETYPE_PTP 0x88f7
|
|
#define NPC_ETYPE_FCOE 0x8906
|
|
#define NPC_ETYPE_QINQ 0x9100
|
|
#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_IGMP 2
|
|
#define NPC_IPNH_IP 4
|
|
#define NPC_IPNH_TCP 6
|
|
#define NPC_IPNH_UDP 17
|
|
#define NPC_IPNH_IP6 41
|
|
#define NPC_IPNH_ROUT 43
|
|
#define NPC_IPNH_FRAG 44
|
|
#define NPC_IPNH_GRE 47
|
|
#define NPC_IPNH_ESP 50
|
|
#define NPC_IPNH_AH 51
|
|
#define NPC_IPNH_ICMP6 58
|
|
#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_UDP_PORT_ESP 4500
|
|
|
|
#define NPC_VXLANGPE_NP_IP 0x1
|
|
#define NPC_VXLANGPE_NP_IP6 0x2
|
|
#define NPC_VXLANGPE_NP_ETH 0x3
|
|
#define NPC_VXLANGPE_NP_NSH 0x4
|
|
#define NPC_VXLANGPE_NP_MPLS 0x5
|
|
#define NPC_VXLANGPE_NP_GBP 0x6
|
|
#define NPC_VXLANGPE_NP_VBNG 0x7
|
|
|
|
#define NPC_NSH_NP_IP 0x1
|
|
#define NPC_NSH_NP_IP6 0x2
|
|
#define NPC_NSH_NP_ETH 0x3
|
|
#define NPC_NSH_NP_NSH 0x4
|
|
#define NPC_NSH_NP_MPLS 0x5
|
|
|
|
#define NPC_TCP_PORT_HTTP 80
|
|
#define NPC_TCP_PORT_HTTPS 443
|
|
#define NPC_TCP_PORT_PPTP 1723
|
|
|
|
#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_GRE_F_KEY (0x1 << 13)
|
|
#define NPC_GRE_F_SEQ (0x1 << 12)
|
|
#define NPC_GRE_F_ACK (0x1 << 7)
|
|
#define NPC_GRE_FLAG_MASK (NPC_GRE_F_CSUM | NPC_GRE_F_ROUTE | \
|
|
NPC_GRE_F_KEY | NPC_GRE_F_SEQ | NPC_GRE_F_ACK)
|
|
#define NPC_GRE_VER_MASK 0x0003
|
|
#define NPC_GRE_VER_1 0x0001
|
|
|
|
#define NPC_VXLAN_I 0x0800
|
|
|
|
#define NPC_VXLANGPE_VER (0x3 << 12)
|
|
#define NPC_VXLANGPE_I (0x1 << 11)
|
|
#define NPC_VXLANGPE_P (0x1 << 10)
|
|
#define NPC_VXLANGPE_B (0x1 << 9)
|
|
#define NPC_VXLANGPE_NP_MASK 0x00ff
|
|
|
|
#define NPC_NSH_NP_MASK 0x00ff
|
|
|
|
#define NPC_GENEVE_F_OAM (0x1 << 7)
|
|
#define NPC_GENEVE_F_CRI_OPT (0x1 << 6)
|
|
|
|
#define NPC_GTP_PT_GTP (0x1 << 12)
|
|
#define NPC_GTP_PT_MASK (0x1 << 12)
|
|
#define NPC_GTP_VER1 (0x1 << 13)
|
|
#define NPC_GTP_VER_MASK (0x7 << 13)
|
|
#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
|
|
#define NPC_DSA_FDSA 0xc000
|
|
|
|
#define NPC_KEXOF_DMAC 8
|
|
#define MKEX_SIGN 0x19bbfdbd15f /* strtoull of "mkexprof" with base:36 */
|
|
#define KEX_LD_CFG(bytesm1, hdr_ofs, ena, flags_ena, key_ofs) \
|
|
(((bytesm1) << 16) | ((hdr_ofs) << 8) | ((ena) << 7) | \
|
|
((flags_ena) << 6) | ((key_ofs) & 0x3F))
|
|
|
|
/* Rx parse key extract nibble enable */
|
|
#define NPC_PARSE_NIBBLE_INTF_RX (NPC_PARSE_NIBBLE_CHAN | \
|
|
NPC_PARSE_NIBBLE_LA_LTYPE | \
|
|
NPC_PARSE_NIBBLE_LB_LTYPE | \
|
|
NPC_PARSE_NIBBLE_LC_LTYPE | \
|
|
NPC_PARSE_NIBBLE_LD_LTYPE | \
|
|
NPC_PARSE_NIBBLE_LE_LTYPE)
|
|
/* Tx parse key extract nibble enable */
|
|
#define NPC_PARSE_NIBBLE_INTF_TX (NPC_PARSE_NIBBLE_LA_LTYPE | \
|
|
NPC_PARSE_NIBBLE_LB_LTYPE | \
|
|
NPC_PARSE_NIBBLE_LC_LTYPE | \
|
|
NPC_PARSE_NIBBLE_LD_LTYPE | \
|
|
NPC_PARSE_NIBBLE_LE_LTYPE)
|
|
|
|
enum npc_kpu_parser_state {
|
|
NPC_S_NA = 0,
|
|
NPC_S_KPU1_ETHER,
|
|
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_KPU4_FDSA,
|
|
NPC_S_KPU5_IP,
|
|
NPC_S_KPU5_IP6,
|
|
NPC_S_KPU5_ARP,
|
|
NPC_S_KPU5_RARP,
|
|
NPC_S_KPU5_PTP,
|
|
NPC_S_KPU5_FCOE,
|
|
NPC_S_KPU5_MPLS,
|
|
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,
|
|
NPC_S_KPU8_ICMP,
|
|
NPC_S_KPU8_IGMP,
|
|
NPC_S_KPU8_ICMP6,
|
|
NPC_S_KPU8_GRE,
|
|
NPC_S_KPU8_AH,
|
|
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_KPU9_ESP,
|
|
NPC_S_KPU10_TU_MPLS_IN_VXLANGPE,
|
|
NPC_S_KPU10_TU_MPLS_PL,
|
|
NPC_S_KPU10_TU_MPLS,
|
|
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_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,
|
|
NPC_S_KPU13_TU_IP6_EXT,
|
|
NPC_S_KPU14_TU_IP6_EXT,
|
|
NPC_S_KPU15_TU_TCP,
|
|
NPC_S_KPU15_TU_UDP,
|
|
NPC_S_KPU15_TU_SCTP,
|
|
NPC_S_KPU15_TU_ICMP,
|
|
NPC_S_KPU15_TU_IGMP,
|
|
NPC_S_KPU15_TU_ICMP6,
|
|
NPC_S_KPU15_TU_ESP,
|
|
NPC_S_KPU15_TU_AH,
|
|
NPC_S_KPU16_HTTP_DATA,
|
|
NPC_S_KPU16_HTTPS_DATA,
|
|
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_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,
|
|
NPC_F_LB_L_FDSA,
|
|
};
|
|
|
|
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_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 */
|
|
};
|
|
|
|
enum NPC_ERRLEV_E {
|
|
NPC_ERRLEV_RE = 0,
|
|
NPC_ERRLEV_LA = 1,
|
|
NPC_ERRLEV_LB = 2,
|
|
NPC_ERRLEV_LC = 3,
|
|
NPC_ERRLEV_LD = 4,
|
|
NPC_ERRLEV_LE = 5,
|
|
NPC_ERRLEV_LF = 6,
|
|
NPC_ERRLEV_LG = 7,
|
|
NPC_ERRLEV_LH = 8,
|
|
NPC_ERRLEV_R9 = 9,
|
|
NPC_ERRLEV_R10 = 10,
|
|
NPC_ERRLEV_R11 = 11,
|
|
NPC_ERRLEV_R12 = 12,
|
|
NPC_ERRLEV_R13 = 13,
|
|
NPC_ERRLEV_R14 = 14,
|
|
NPC_ERRLEV_NIX = 15,
|
|
NPC_ERRLEV_ENUM_LAST = 16,
|
|
};
|
|
|
|
static const struct npc_kpu_profile_action ikpu_action_entries[] = {
|
|
{
|
|
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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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,
|
|
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,
|
|
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, 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,
|
|
20, 24, 28, 0, 0,
|
|
NPC_S_KPU1_IH_NIX, 0, 0,
|
|
NPC_LID_LA, NPC_LT_NA,
|
|
0,
|
|
0, 0, 0, 0,
|
|
|
|
},
|
|
};
|
|
|
|
static const 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_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,
|
|
0x0000,
|
|
0x0000,
|
|
NPC_DSA_EXTEND,
|
|
NPC_DSA_EXTEND,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
{
|
|
NPC_S_KPU1_EXDSA, 0xff,
|
|
NPC_DSA_FDSA,
|
|
NPC_DSA_FDSA,
|
|
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 const 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 const 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,
|
|
},
|
|
{
|
|
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 const struct npc_kpu_profile_cam kpu4_cam_entries[] = {
|
|
{
|
|
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_KPU4_FDSA, 0xff,
|
|
NPC_ETYPE_IP,
|
|
0xffff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
{
|
|
NPC_S_KPU4_FDSA, 0xff,
|
|
NPC_ETYPE_IP6,
|
|
0xffff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
{
|
|
NPC_S_KPU4_FDSA, 0xff,
|
|
NPC_ETYPE_ARP,
|
|
0xffff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
{
|
|
NPC_S_KPU4_FDSA, 0xff,
|
|
NPC_ETYPE_RARP,
|
|
0xffff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
{
|
|
NPC_S_KPU4_FDSA, 0xff,
|
|
NPC_ETYPE_PTP,
|
|
0xffff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
{
|
|
NPC_S_KPU4_FDSA, 0xff,
|
|
NPC_ETYPE_FCOE,
|
|
0xffff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
{
|
|
NPC_S_KPU4_FDSA, 0xff,
|
|
0x0000,
|
|
NPC_DSA_FDSA,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
{
|
|
NPC_S_NA, 0X00,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
};
|
|
|
|
static const struct npc_kpu_profile_cam kpu5_cam_entries[] = {
|
|
{
|
|
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 const struct npc_kpu_profile_cam kpu6_cam_entries[] = {
|
|
{
|
|
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 const struct npc_kpu_profile_cam kpu7_cam_entries[] = {
|
|
{
|
|
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 const struct npc_kpu_profile_cam kpu8_cam_entries[] = {
|
|
{
|
|
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,
|
|
NPC_UDP_PORT_ESP,
|
|
0xffff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
{
|
|
NPC_S_KPU8_UDP, 0xff,
|
|
0x0000,
|
|
0x0000,
|
|
NPC_UDP_PORT_ESP,
|
|
0xffff,
|
|
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_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 const struct npc_kpu_profile_cam kpu9_cam_entries[] = {
|
|
{
|
|
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_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_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_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_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_KPU9_VXLANGPE, 0xff,
|
|
0x0000,
|
|
0x0000,
|
|
NPC_VXLANGPE_P,
|
|
NPC_VXLANGPE_P | NPC_VXLANGPE_I,
|
|
NPC_VXLANGPE_NP_IP,
|
|
NPC_VXLANGPE_NP_MASK,
|
|
},
|
|
{
|
|
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_KPU9_VXLANGPE, 0xff,
|
|
0x0000,
|
|
0x0000,
|
|
NPC_VXLANGPE_P,
|
|
NPC_VXLANGPE_P | NPC_VXLANGPE_I,
|
|
NPC_VXLANGPE_NP_ETH,
|
|
NPC_VXLANGPE_NP_MASK,
|
|
},
|
|
{
|
|
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_KPU9_VXLANGPE, 0xff,
|
|
0x0000,
|
|
0x0000,
|
|
NPC_VXLANGPE_P,
|
|
NPC_VXLANGPE_P | NPC_VXLANGPE_I,
|
|
NPC_VXLANGPE_NP_MPLS,
|
|
NPC_VXLANGPE_NP_MASK,
|
|
},
|
|
{
|
|
NPC_S_KPU9_VXLANGPE, 0xff,
|
|
0x0000,
|
|
0x0000,
|
|
NPC_VXLANGPE_P,
|
|
NPC_VXLANGPE_P,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
{
|
|
NPC_S_KPU9_VXLANGPE, 0xff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
NPC_VXLANGPE_P,
|
|
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_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_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_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_KPU9_GENEVE, 0xff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
|
|
NPC_ETYPE_IP,
|
|
0xffff,
|
|
},
|
|
{
|
|
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_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_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_KPU9_GENEVE, 0xff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
NPC_GENEVE_F_OAM | NPC_GENEVE_F_CRI_OPT,
|
|
NPC_ETYPE_IP6,
|
|
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_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_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_KPU9_GTPC, 0xff,
|
|
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_KPU9_ESP, 0xff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
{
|
|
NPC_S_NA, 0X00,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
};
|
|
|
|
static const 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_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 const 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, 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 const 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 const struct npc_kpu_profile_cam kpu13_cam_entries[] = {
|
|
{
|
|
NPC_S_KPU13_TU_IP6_EXT, 0xff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
};
|
|
|
|
static const struct npc_kpu_profile_cam kpu14_cam_entries[] = {
|
|
{
|
|
NPC_S_KPU14_TU_IP6_EXT, 0xff,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
0x0000,
|
|
},
|
|
};
|
|
|
|
static const struct npc_kpu_profile_cam kpu15_cam_entries[] = {
|
|
{
|
|
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 const struct npc_kpu_profile_cam kpu16_cam_entries[] = {
|
|
{
|
|
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 const struct npc_kpu_profile_action kpu1_action_entries[] = {
|
|
{
|
|
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_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, 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, 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,
|
|
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,
|
|
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,
|
|
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_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_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_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_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_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_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_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_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_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_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,
|
|
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,
|
|
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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_ERRLEV_RE, NPC_EC_NOERR,
|
|
4, 8, 16, 2, 0,
|
|
NPC_S_KPU4_FDSA, 12, 1,
|
|
NPC_LID_LA, NPC_LT_LA_ETHER,
|
|
0,
|
|
0, 0, 0, 0,
|
|
},
|
|
{
|
|
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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 const struct npc_kpu_profile_action kpu2_action_entries[] = {
|
|
{
|
|
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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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,
|
|
},
|
|
{
|
|
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_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_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_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_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_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_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_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_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_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,
|
|
},
|
|
{
|
|
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_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_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_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_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_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_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, 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_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_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_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, 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_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_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_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_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, 6, 2, 0,
|
|
NPC_S_KPU5_IP, 10, 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, 10, 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, 10, 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, 10, 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, 10, 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, 10, 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, 10, 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, 10, 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, 10, 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, 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 const struct npc_kpu_profile_action kpu3_action_entries[] = {
|
|
{
|
|
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,
|
|
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, 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, 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, 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, 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, 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, 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, 0, 0, 0, 0,
|
|
NPC_S_KPU4_NSH, 4, 0,
|
|
NPC_LID_LB, 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,
|
|
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,
|
|
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, 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,
|
|
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, 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, 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, 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,
|
|
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,
|
|
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, 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, 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, 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, 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,
|
|
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, 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, 0, 0, 0, 0,
|
|
NPC_S_KPU4_NSH, 4, 0,
|
|
NPC_LID_LB, 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,
|
|
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,
|
|
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, 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,
|
|
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, 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, 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, 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,
|
|
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,
|
|
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, 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, 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, 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, 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, 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, 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, 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, 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, 0, 0, 0, 0,
|
|
NPC_S_KPU4_NSH, 4, 0,
|
|
NPC_LID_LB, 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,
|
|
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,
|
|
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, 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, 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,
|
|
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,
|
|
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, 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,
|
|
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, 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_KPU5_ARP, 22, 0,
|
|
NPC_LID_LB, 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_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, 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, 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_KPU5_ARP, 22, 0,
|
|
NPC_LID_LB, 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_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, 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, 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, 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, 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, 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, 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, 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, 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, 0, 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, 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, 8, 1,
|
|
NPC_LID_LB, NPC_LT_LB_STAG_QINQ,
|
|
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, 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,
|
|
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, 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, 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,
|
|
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, 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, 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,
|
|
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,
|
|
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, 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, 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, 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, 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, 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_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, 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,
|
|
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, 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,
|
|
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, 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, 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,
|
|
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, 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, 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,
|
|
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,
|
|
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, 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, 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, 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,
|
|
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, 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, 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, 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_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, 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, 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, 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, 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, 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, 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,
|
|
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,
|
|
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,
|
|
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, 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,
|
|
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,
|
|
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, 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, 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_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 const 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, 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,
|
|
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, 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,
|
|
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,
|
|
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,
|
|
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, 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_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,
|
|
8, 0, 6, 0, 0,
|
|
NPC_S_KPU5_IP, 6, 1,
|
|
NPC_LID_LB, NPC_LT_LB_FDSA,
|
|
NPC_F_LB_L_FDSA,
|
|
0, 0, 0, 0,
|
|
},
|
|
{
|
|
NPC_ERRLEV_RE, NPC_EC_NOERR,
|
|
6, 0, 0, 0, 0,
|
|
NPC_S_KPU5_IP6, 6, 1,
|
|
NPC_LID_LB, NPC_LT_LB_FDSA,
|
|
NPC_F_LB_L_FDSA,
|
|
0, 0, 0, 0,
|
|
},
|
|
{
|
|
NPC_ERRLEV_RE, NPC_EC_NOERR,
|
|
0, 0, 0, 0, 0,
|
|
NPC_S_KPU5_ARP, 6, 1,
|
|
NPC_LID_LB, NPC_LT_LB_FDSA,
|
|
NPC_F_LB_L_FDSA,
|
|
0, 0, 0, 0,
|
|
},
|
|
{
|
|
NPC_ERRLEV_RE, NPC_EC_NOERR,
|
|
8, 0, 6, 0, 0,
|
|
NPC_S_KPU5_RARP, 6, 1,
|
|
NPC_LID_LB, NPC_LT_LB_FDSA,
|
|
NPC_F_LB_L_FDSA,
|
|
0, 0, 0, 0,
|
|
},
|
|
{
|
|
NPC_ERRLEV_RE, NPC_EC_NOERR,
|
|
6, 0, 0, 0, 0,
|
|
NPC_S_KPU5_PTP, 6, 1,
|
|
NPC_LID_LB, NPC_LT_LB_FDSA,
|
|
NPC_F_LB_L_FDSA,
|
|
0, 0, 0, 0,
|
|
},
|
|
{
|
|
NPC_ERRLEV_RE, NPC_EC_NOERR,
|
|
0, 0, 0, 0, 0,
|
|
NPC_S_KPU5_FCOE, 6, 1,
|
|
NPC_LID_LB, NPC_LT_LB_FDSA,
|
|
NPC_F_LB_L_FDSA,
|
|
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_FDSA,
|
|
NPC_F_LB_U_UNK_ETYPE | NPC_F_LB_L_FDSA,
|
|
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 const struct npc_kpu_profile_action kpu5_action_entries[] = {
|
|
{
|
|
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_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, 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, 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, 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, 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,
|
|
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, 3, 0,
|
|
NPC_S_KPU9_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_KPU8_AH, 20, 1,
|
|
NPC_LID_LC, NPC_LT_LC_IP,
|
|
0,
|
|
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,
|
|
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,
|
|
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_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,
|
|
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,
|
|
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, 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_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,
|
|
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,
|
|
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_KPU8_IGMP, 0, 1,
|
|
NPC_LID_LC, NPC_LT_LC_IP_OPT,
|
|
0,
|
|
0, 0xf, 0, 2,
|
|
},
|
|
{
|
|
NPC_ERRLEV_RE, NPC_EC_NOERR,
|
|
0, 0, 0, 3, 0,
|
|
NPC_S_KPU9_ESP, 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_KPU8_AH, 0, 1,
|
|
NPC_LID_LC, NPC_LT_LC_IP_OPT,
|
|
0,
|
|
0, 0xf, 0, 2,
|
|
},
|
|
{
|
|
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,
|
|
},
|
|
{
|
|
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, 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,
|
|
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, 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, 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_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,
|
|
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,
|
|
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, 1,
|
|
NPC_LID_LC, NPC_LT_LC_PTP,
|
|
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_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,
|
|
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,
|
|
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, 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, 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, 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,
|
|
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,
|
|
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, 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,
|
|
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,
|
|
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, 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, 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,
|
|
0, 0, 0, 3, 0,
|
|
NPC_S_KPU9_ESP, 40, 1,
|
|
NPC_LID_LC, NPC_LT_LC_IP6_EXT,
|
|
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,
|
|
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_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,
|
|
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,
|
|
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_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,
|
|
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,
|
|
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,
|
|
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,
|
|
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_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,
|
|
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,
|
|
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,
|
|
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,
|
|
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_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 const 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, 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,
|
|
},
|
|
{
|
|
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,
|
|
},
|
|
{
|
|
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,
|
|
},
|
|
{
|
|
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,
|
|
},
|
|
{
|
|
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,
|
|
},
|
|
{
|
|
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,
|
|
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,
|
|
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,
|
|
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_KPU8_ICMP, 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_KPU8_ICMP6, 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_KPU9_ESP, 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_KPU8_AH, 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_KPU8_GRE, 8, 0,
|
|
NPC_LID_LC, NPC_LT_NA,
|
|
0,
|
|
1, 0xff, 0, 3,
|
|
},
|
|
{
|
|
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_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,
|
|
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_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, 0, 1,
|
|
NPC_S_NA, 0, 0,
|
|
NPC_LID_LC, 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,
|
|
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,
|
|
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_KPU8_ICMP, 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_KPU8_ICMP6, 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_KPU9_ESP, 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_KPU8_AH, 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_KPU8_GRE, 8, 0,
|
|
NPC_LID_LC, NPC_LT_NA,
|
|
0,
|
|
1, 0xff, 0, 3,
|
|
},
|
|
{
|
|
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_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,
|
|
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, 0, 1,
|
|
NPC_S_NA, 0, 0,
|
|
NPC_LID_LC, 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 const 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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
0, 0, 0, 1, 0,
|
|
NPC_S_KPU9_ESP, 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, 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_GRE, 8, 0,
|
|
NPC_LID_LC, NPC_LT_NA,
|
|
0,
|
|
1, 0xff, 0, 3,
|
|
},
|
|
{
|
|
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,
|
|
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, 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,
|
|
},
|
|
{
|
|
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,
|
|
},
|
|
{
|
|
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,
|
|
},
|
|
{
|
|
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,
|
|
},
|
|
{
|
|
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,
|
|
},
|
|
{
|
|
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,
|
|
},
|
|
{
|
|
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 const struct npc_kpu_profile_action kpu8_action_entries[] = {
|
|
{
|
|
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_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_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_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_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_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, 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, 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, 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,
|
|
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,
|
|
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,
|
|
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_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,
|
|
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,
|
|
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,
|
|
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,
|
|
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_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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
0, 0, 0, 0, 0,
|
|
NPC_S_KPU9_ESP, 8, 1,
|
|
NPC_LID_LD, NPC_LT_LD_UDP,
|
|
0,
|
|
0, 0, 0, 0,
|
|
},
|
|
{
|
|
NPC_ERRLEV_RE, NPC_EC_NOERR,
|
|
0, 0, 0, 0, 0,
|
|
NPC_S_KPU9_ESP, 8, 1,
|
|
NPC_LID_LD, NPC_LT_LD_UDP,
|
|
0,
|
|
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,
|
|
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_SCTP,
|
|
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_ICMP,
|
|
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_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_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_AH,
|
|
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,
|
|
},
|
|
{
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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, 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, 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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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, 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, 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,
|
|
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,
|
|
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,
|
|
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_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, 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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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, 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, 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, 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, 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,
|
|
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,
|
|
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, 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, 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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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_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_GRE,
|
|
NPC_F_LD_L_GRE_UNK_PROTO,
|
|
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, 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,
|
|
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_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,
|
|
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,
|
|
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_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_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 const 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, 1,
|
|
NPC_LID_LE, NPC_LT_LE_TU_MPLS_IN_GRE,
|
|
0,
|
|
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,
|
|
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, 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,
|
|
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,
|
|
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,
|
|
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, 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,
|
|
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,
|
|
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,
|
|
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, 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,
|
|
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,
|
|
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,
|
|
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_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,
|
|
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,
|
|
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_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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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, 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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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_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,
|
|
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,
|
|
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,
|
|
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,
|
|
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_LE, NPC_LT_LE_GTPC,
|
|
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_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,
|
|
},
|
|
{
|
|
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, 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, 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, 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, 1,
|
|
NPC_S_NA, 0, 1,
|
|
NPC_LID_LE, NPC_LT_LE_ESP,
|
|
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 const struct npc_kpu_profile_action kpu10_action_entries[] = {
|
|
{
|
|
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,
|
|
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,
|
|
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,
|
|
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_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,
|
|
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,
|
|
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,
|
|
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,
|
|
12, 16, 20, 0, 0,
|
|
NPC_S_KPU11_TU_ETHER, 0, 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_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,
|
|
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,
|
|
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,
|
|
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_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,
|
|
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, 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_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_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 const struct npc_kpu_profile_action kpu11_action_entries[] = {
|
|
{
|
|
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, 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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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, 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_LF, NPC_LT_LF_TU_PPP,
|
|
0,
|
|
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, 4, 0,
|
|
NPC_LID_LF, NPC_LT_NA,
|
|
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_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,
|
|
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,
|
|
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_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_LG, NPC_LT_LG_TU_ETHER_IN_NSH,
|
|
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 const 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_LG, NPC_LT_NA,
|
|
0,
|
|
0, 0, 0, 0,
|
|
},
|
|
};
|
|
|
|
static const 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,
|
|
},
|
|
};
|
|
|
|
static const 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,
|
|
},
|
|
};
|
|
|
|
static const struct npc_kpu_profile_action kpu15_action_entries[] = {
|
|
{
|
|
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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_LH, NPC_LT_NA,
|
|
0,
|
|
0, 0, 0, 0,
|
|
},
|
|
};
|
|
|
|
static const struct npc_kpu_profile_action kpu16_action_entries[] = {
|
|
{
|
|
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, 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, 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,
|
|
},
|
|
};
|
|
|
|
static const struct npc_kpu_profile npc_kpu_profiles[] = {
|
|
{
|
|
ARRAY_SIZE(kpu1_cam_entries),
|
|
ARRAY_SIZE(kpu1_action_entries),
|
|
&kpu1_cam_entries[0],
|
|
&kpu1_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu2_cam_entries),
|
|
ARRAY_SIZE(kpu2_action_entries),
|
|
&kpu2_cam_entries[0],
|
|
&kpu2_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu3_cam_entries),
|
|
ARRAY_SIZE(kpu3_action_entries),
|
|
&kpu3_cam_entries[0],
|
|
&kpu3_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu4_cam_entries),
|
|
ARRAY_SIZE(kpu4_action_entries),
|
|
&kpu4_cam_entries[0],
|
|
&kpu4_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu5_cam_entries),
|
|
ARRAY_SIZE(kpu5_action_entries),
|
|
&kpu5_cam_entries[0],
|
|
&kpu5_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu6_cam_entries),
|
|
ARRAY_SIZE(kpu6_action_entries),
|
|
&kpu6_cam_entries[0],
|
|
&kpu6_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu7_cam_entries),
|
|
ARRAY_SIZE(kpu7_action_entries),
|
|
&kpu7_cam_entries[0],
|
|
&kpu7_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu8_cam_entries),
|
|
ARRAY_SIZE(kpu8_action_entries),
|
|
&kpu8_cam_entries[0],
|
|
&kpu8_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu9_cam_entries),
|
|
ARRAY_SIZE(kpu9_action_entries),
|
|
&kpu9_cam_entries[0],
|
|
&kpu9_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu10_cam_entries),
|
|
ARRAY_SIZE(kpu10_action_entries),
|
|
&kpu10_cam_entries[0],
|
|
&kpu10_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu11_cam_entries),
|
|
ARRAY_SIZE(kpu11_action_entries),
|
|
&kpu11_cam_entries[0],
|
|
&kpu11_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu12_cam_entries),
|
|
ARRAY_SIZE(kpu12_action_entries),
|
|
&kpu12_cam_entries[0],
|
|
&kpu12_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu13_cam_entries),
|
|
ARRAY_SIZE(kpu13_action_entries),
|
|
&kpu13_cam_entries[0],
|
|
&kpu13_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu14_cam_entries),
|
|
ARRAY_SIZE(kpu14_action_entries),
|
|
&kpu14_cam_entries[0],
|
|
&kpu14_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu15_cam_entries),
|
|
ARRAY_SIZE(kpu15_action_entries),
|
|
&kpu15_cam_entries[0],
|
|
&kpu15_action_entries[0],
|
|
},
|
|
{
|
|
ARRAY_SIZE(kpu16_cam_entries),
|
|
ARRAY_SIZE(kpu16_action_entries),
|
|
&kpu16_cam_entries[0],
|
|
&kpu16_action_entries[0],
|
|
},
|
|
};
|
|
|
|
static const struct npc_lt_def_cfg npc_lt_defaults = {
|
|
.rx_ol2 = {
|
|
.lid = NPC_LID_LA,
|
|
.ltype_match = NPC_LT_LA_ETHER,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
.rx_oip4 = {
|
|
.lid = NPC_LID_LC,
|
|
.ltype_match = NPC_LT_LC_IP,
|
|
.ltype_mask = 0x0E,
|
|
},
|
|
.rx_iip4 = {
|
|
.lid = NPC_LID_LG,
|
|
.ltype_match = NPC_LT_LG_TU_IP,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
.rx_oip6 = {
|
|
.lid = NPC_LID_LC,
|
|
.ltype_match = NPC_LT_LC_IP6,
|
|
.ltype_mask = 0x0E,
|
|
},
|
|
.rx_iip6 = {
|
|
.lid = NPC_LID_LG,
|
|
.ltype_match = NPC_LT_LG_TU_IP6,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
.rx_otcp = {
|
|
.lid = NPC_LID_LD,
|
|
.ltype_match = NPC_LT_LD_TCP,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
.rx_itcp = {
|
|
.lid = NPC_LID_LH,
|
|
.ltype_match = NPC_LT_LH_TU_TCP,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
.rx_oudp = {
|
|
.lid = NPC_LID_LD,
|
|
.ltype_match = NPC_LT_LD_UDP,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
.rx_iudp = {
|
|
.lid = NPC_LID_LH,
|
|
.ltype_match = NPC_LT_LH_TU_UDP,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
.rx_osctp = {
|
|
.lid = NPC_LID_LD,
|
|
.ltype_match = NPC_LT_LD_SCTP,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
.rx_isctp = {
|
|
.lid = NPC_LID_LH,
|
|
.ltype_match = NPC_LT_LH_TU_SCTP,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
.rx_ipsec = {
|
|
{
|
|
.lid = NPC_LID_LE,
|
|
.ltype_match = NPC_LT_LE_ESP,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
{
|
|
.spi_offset = 8,
|
|
.lid = NPC_LID_LH,
|
|
.ltype_match = NPC_LT_LH_TU_ESP,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
},
|
|
.pck_ol2 = {
|
|
.lid = NPC_LID_LA,
|
|
.ltype_match = NPC_LT_LA_ETHER,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
.pck_oip4 = {
|
|
.lid = NPC_LID_LC,
|
|
.ltype_match = NPC_LT_LC_IP,
|
|
.ltype_mask = 0x0E,
|
|
},
|
|
.pck_iip4 = {
|
|
.lid = NPC_LID_LG,
|
|
.ltype_match = NPC_LT_LG_TU_IP,
|
|
.ltype_mask = 0x0F,
|
|
},
|
|
};
|
|
|
|
static struct npc_mcam_kex npc_mkex_default = {
|
|
.mkex_sign = MKEX_SIGN,
|
|
.name = "default",
|
|
.kpu_version = NPC_KPU_PROFILE_VER,
|
|
.keyx_cfg = {
|
|
/* nibble: LA..LE (ltype only) + channel */
|
|
[NIX_INTF_RX] = ((u64)NPC_MCAM_KEY_X2 << 32) | NPC_PARSE_NIBBLE_INTF_RX,
|
|
/* nibble: LA..LE (ltype only) */
|
|
[NIX_INTF_TX] = ((u64)NPC_MCAM_KEY_X2 << 32) | NPC_PARSE_NIBBLE_INTF_TX,
|
|
},
|
|
.intf_lid_lt_ld = {
|
|
/* Default RX MCAM KEX profile */
|
|
[NIX_INTF_RX] = {
|
|
[NPC_LID_LA] = {
|
|
/* Layer A: Ethernet: */
|
|
[NPC_LT_LA_ETHER] = {
|
|
/* DMAC: 6 bytes, KW1[47:0] */
|
|
KEX_LD_CFG(0x05, 0x0, 0x1, 0x0, NPC_KEXOF_DMAC),
|
|
/* Ethertype: 2 bytes, KW0[47:32] */
|
|
KEX_LD_CFG(0x01, 0xc, 0x1, 0x0, 0x4),
|
|
},
|
|
},
|
|
[NPC_LID_LB] = {
|
|
/* Layer B: Single VLAN (CTAG) */
|
|
/* CTAG VLAN[2..3] + Ethertype, 4 bytes, KW0[63:32] */
|
|
[NPC_LT_LB_CTAG] = {
|
|
KEX_LD_CFG(0x03, 0x2, 0x1, 0x0, 0x4),
|
|
},
|
|
/* Layer B: Stacked VLAN (STAG|QinQ) */
|
|
[NPC_LT_LB_STAG_QINQ] = {
|
|
/* Outer VLAN: 2 bytes, KW0[63:48] */
|
|
KEX_LD_CFG(0x01, 0x2, 0x1, 0x0, 0x6),
|
|
/* Ethertype: 2 bytes, KW0[47:32] */
|
|
KEX_LD_CFG(0x01, 0x8, 0x1, 0x0, 0x4),
|
|
},
|
|
[NPC_LT_LB_FDSA] = {
|
|
/* SWITCH PORT: 1 byte, KW0[63:48] */
|
|
KEX_LD_CFG(0x0, 0x1, 0x1, 0x0, 0x6),
|
|
/* Ethertype: 2 bytes, KW0[47:32] */
|
|
KEX_LD_CFG(0x01, 0x4, 0x1, 0x0, 0x4),
|
|
},
|
|
},
|
|
[NPC_LID_LC] = {
|
|
/* Layer C: IPv4 */
|
|
[NPC_LT_LC_IP] = {
|
|
/* SIP+DIP: 8 bytes, KW2[63:0] */
|
|
KEX_LD_CFG(0x07, 0xc, 0x1, 0x0, 0x10),
|
|
/* TOS: 1 byte, KW1[63:56] */
|
|
KEX_LD_CFG(0x0, 0x1, 0x1, 0x0, 0xf),
|
|
},
|
|
/* Layer C: IPv6 */
|
|
[NPC_LT_LC_IP6] = {
|
|
/* Everything up to SADDR: 8 bytes, KW2[63:0] */
|
|
KEX_LD_CFG(0x07, 0x0, 0x1, 0x0, 0x10),
|
|
},
|
|
},
|
|
[NPC_LID_LD] = {
|
|
/* Layer D:UDP */
|
|
[NPC_LT_LD_UDP] = {
|
|
/* SPORT+DPORT: 4 bytes, KW3[31:0] */
|
|
KEX_LD_CFG(0x3, 0x0, 0x1, 0x0, 0x18),
|
|
},
|
|
/* Layer D:TCP */
|
|
[NPC_LT_LD_TCP] = {
|
|
/* SPORT+DPORT: 4 bytes, KW3[31:0] */
|
|
KEX_LD_CFG(0x3, 0x0, 0x1, 0x0, 0x18),
|
|
},
|
|
},
|
|
},
|
|
|
|
/* Default TX MCAM KEX profile */
|
|
[NIX_INTF_TX] = {
|
|
[NPC_LID_LA] = {
|
|
/* Layer A: NIX_INST_HDR_S + Ethernet */
|
|
/* NIX appends 8 bytes of NIX_INST_HDR_S at the
|
|
* start of each TX packet supplied to NPC.
|
|
*/
|
|
[NPC_LT_LA_IH_NIX_ETHER] = {
|
|
/* PF_FUNC: 2B , KW0 [47:32] */
|
|
KEX_LD_CFG(0x01, 0x0, 0x1, 0x0, 0x4),
|
|
/* DMAC: 6 bytes, KW1[63:16] */
|
|
KEX_LD_CFG(0x05, 0x8, 0x1, 0x0, 0xa),
|
|
},
|
|
},
|
|
[NPC_LID_LB] = {
|
|
/* Layer B: Single VLAN (CTAG) */
|
|
[NPC_LT_LB_CTAG] = {
|
|
/* CTAG VLAN[2..3] KW0[63:48] */
|
|
KEX_LD_CFG(0x01, 0x2, 0x1, 0x0, 0x6),
|
|
/* CTAG VLAN[2..3] KW1[15:0] */
|
|
KEX_LD_CFG(0x01, 0x4, 0x1, 0x0, 0x8),
|
|
},
|
|
/* Layer B: Stacked VLAN (STAG|QinQ) */
|
|
[NPC_LT_LB_STAG_QINQ] = {
|
|
/* Outer VLAN: 2 bytes, KW0[63:48] */
|
|
KEX_LD_CFG(0x01, 0x2, 0x1, 0x0, 0x6),
|
|
/* Outer VLAN: 2 Bytes, KW1[15:0] */
|
|
KEX_LD_CFG(0x01, 0x8, 0x1, 0x0, 0x8),
|
|
},
|
|
},
|
|
[NPC_LID_LC] = {
|
|
/* Layer C: IPv4 */
|
|
[NPC_LT_LC_IP] = {
|
|
/* SIP+DIP: 8 bytes, KW2[63:0] */
|
|
KEX_LD_CFG(0x07, 0xc, 0x1, 0x0, 0x10),
|
|
/* TOS: 1 byte, KW1[63:56] */
|
|
KEX_LD_CFG(0x0, 0x1, 0x1, 0x0, 0xf),
|
|
},
|
|
/* Layer C: IPv6 */
|
|
[NPC_LT_LC_IP6] = {
|
|
/* Everything up to SADDR: 8 bytes, KW2[63:0] */
|
|
KEX_LD_CFG(0x07, 0x0, 0x1, 0x0, 0x10),
|
|
},
|
|
},
|
|
[NPC_LID_LD] = {
|
|
/* Layer D:UDP */
|
|
[NPC_LT_LD_UDP] = {
|
|
/* SPORT+DPORT: 4 bytes, KW3[31:0] */
|
|
KEX_LD_CFG(0x3, 0x0, 0x1, 0x0, 0x18),
|
|
},
|
|
/* Layer D:TCP */
|
|
[NPC_LT_LD_TCP] = {
|
|
/* SPORT+DPORT: 4 bytes, KW3[31:0] */
|
|
KEX_LD_CFG(0x3, 0x0, 0x1, 0x0, 0x18),
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
#endif /* NPC_PROFILE_H */
|