net/bnxt: use hashing for flow template match
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_field_db.h
index 1bc4449..587de8a 100644 (file)
 /* SPDX-License-Identifier: BSD-3-Clause
  * Copyright(c) 2014-2020 Broadcom
- * All rights reserved_
+ * All rights reserved.
  */
 
-/* date: Mon Mar  9 02:37:53 2020
- * version: 0_0
- */
-
-#ifndef _ULP_HDR_FIELD_ENUMS_H_
-#define _ULP_HDR_FIELD_ENUMS_H_
+#ifndef ULP_HDR_FIELD_ENUMS_H_
+#define ULP_HDR_FIELD_ENUMS_H_
 
 enum bnxt_ulp_hf0 {
-       BNXT_ULP_HF0_MPLS_TAG_NUM = 0,
-       BNXT_ULP_HF0_O_VTAG_NUM = 1,
-       BNXT_ULP_HF0_I_VTAG_NUM = 2,
-       BNXT_ULP_HF0_SVIF_INDEX = 3,
-       BNXT_ULP_HF0_O_ETH_DMAC = 4,
-       BNXT_ULP_HF0_O_ETH_SMAC = 5,
-       BNXT_ULP_HF0_O_ETH_TYPE = 6,
-       BNXT_ULP_HF0_OO_VLAN_CFI_PRI = 7,
-       BNXT_ULP_HF0_OO_VLAN_VID = 8,
-       BNXT_ULP_HF0_OO_VLAN_TYPE = 9,
-       BNXT_ULP_HF0_OI_VLAN_CFI_PRI = 10,
-       BNXT_ULP_HF0_OI_VLAN_VID = 11,
-       BNXT_ULP_HF0_OI_VLAN_TYPE = 12,
-       BNXT_ULP_HF0_O_IPV4_VER = 13,
-       BNXT_ULP_HF0_O_IPV4_TOS = 14,
-       BNXT_ULP_HF0_O_IPV4_LEN = 15,
-       BNXT_ULP_HF0_O_IPV4_FRAG_ID = 16,
-       BNXT_ULP_HF0_O_IPV4_FRAG_OFF = 17,
-       BNXT_ULP_HF0_O_IPV4_TTL = 18,
-       BNXT_ULP_HF0_O_IPV4_NEXT_PID = 19,
-       BNXT_ULP_HF0_O_IPV4_CSUM = 20,
-       BNXT_ULP_HF0_O_IPV4_SRC_ADDR = 21,
-       BNXT_ULP_HF0_O_IPV4_DST_ADDR = 22,
-       BNXT_ULP_HF0_O_UDP_SRC_PORT = 23,
-       BNXT_ULP_HF0_O_UDP_DST_PORT = 24,
-       BNXT_ULP_HF0_O_UDP_LENGTH = 25,
-       BNXT_ULP_HF0_O_UDP_CSUM = 26,
-       BNXT_ULP_HF0_T_VXLAN_FLAGS = 27,
-       BNXT_ULP_HF0_T_VXLAN_RSVD0 = 28,
-       BNXT_ULP_HF0_T_VXLAN_VNI = 29,
-       BNXT_ULP_HF0_T_VXLAN_RSVD1 = 30,
-       BNXT_ULP_HF0_I_ETH_DMAC = 31,
-       BNXT_ULP_HF0_I_ETH_SMAC = 32,
-       BNXT_ULP_HF0_I_ETH_TYPE = 33,
-       BNXT_ULP_HF0_IO_VLAN_CFI_PRI = 34,
-       BNXT_ULP_HF0_IO_VLAN_VID = 35,
-       BNXT_ULP_HF0_IO_VLAN_TYPE = 36,
-       BNXT_ULP_HF0_II_VLAN_CFI_PRI = 37,
-       BNXT_ULP_HF0_II_VLAN_VID = 38,
-       BNXT_ULP_HF0_II_VLAN_TYPE = 39,
-       BNXT_ULP_HF0_I_IPV4_VER = 40,
-       BNXT_ULP_HF0_I_IPV4_TOS = 41,
-       BNXT_ULP_HF0_I_IPV4_LEN = 42,
-       BNXT_ULP_HF0_I_IPV4_FRAG_ID = 43,
-       BNXT_ULP_HF0_I_IPV4_FRAG_OFF = 44,
-       BNXT_ULP_HF0_I_IPV4_TTL = 45,
-       BNXT_ULP_HF0_I_IPV4_NEXT_PID = 46,
-       BNXT_ULP_HF0_I_IPV4_CSUM = 47,
-       BNXT_ULP_HF0_I_IPV4_SRC_ADDR = 48,
-       BNXT_ULP_HF0_I_IPV4_DST_ADDR = 49,
-       BNXT_ULP_HF0_I_UDP_SRC_PORT = 50,
-       BNXT_ULP_HF0_I_UDP_DST_PORT = 51,
-       BNXT_ULP_HF0_I_UDP_LENGTH = 52,
-       BNXT_ULP_HF0_I_UDP_CSUM = 53
-};
-
-enum bnxt_ulp_hf1 {
-       BNXT_ULP_HF1_MPLS_TAG_NUM = 0,
-       BNXT_ULP_HF1_O_VTAG_NUM = 1,
-       BNXT_ULP_HF1_I_VTAG_NUM = 2,
-       BNXT_ULP_HF1_SVIF_INDEX = 3,
-       BNXT_ULP_HF1_O_ETH_DMAC = 4,
-       BNXT_ULP_HF1_O_ETH_SMAC = 5,
-       BNXT_ULP_HF1_O_ETH_TYPE = 6,
-       BNXT_ULP_HF1_OO_VLAN_CFI_PRI = 7,
-       BNXT_ULP_HF1_OO_VLAN_VID = 8,
-       BNXT_ULP_HF1_OO_VLAN_TYPE = 9,
-       BNXT_ULP_HF1_OI_VLAN_CFI_PRI = 10,
-       BNXT_ULP_HF1_OI_VLAN_VID = 11,
-       BNXT_ULP_HF1_OI_VLAN_TYPE = 12,
-       BNXT_ULP_HF1_O_IPV4_VER = 13,
-       BNXT_ULP_HF1_O_IPV4_TOS = 14,
-       BNXT_ULP_HF1_O_IPV4_LEN = 15,
-       BNXT_ULP_HF1_O_IPV4_FRAG_ID = 16,
-       BNXT_ULP_HF1_O_IPV4_FRAG_OFF = 17,
-       BNXT_ULP_HF1_O_IPV4_TTL = 18,
-       BNXT_ULP_HF1_O_IPV4_NEXT_PID = 19,
-       BNXT_ULP_HF1_O_IPV4_CSUM = 20,
-       BNXT_ULP_HF1_O_IPV4_SRC_ADDR = 21,
-       BNXT_ULP_HF1_O_IPV4_DST_ADDR = 22,
-       BNXT_ULP_HF1_O_UDP_SRC_PORT = 23,
-       BNXT_ULP_HF1_O_UDP_DST_PORT = 24,
-       BNXT_ULP_HF1_O_UDP_LENGTH = 25,
-       BNXT_ULP_HF1_O_UDP_CSUM = 26
+       BNXT_ULP_HF0_IDX_SVIF_INDEX              = 0,
+       BNXT_ULP_HF0_IDX_O_ETH_DMAC              = 1,
+       BNXT_ULP_HF0_IDX_O_ETH_SMAC              = 2,
+       BNXT_ULP_HF0_IDX_O_ETH_TYPE              = 3,
+       BNXT_ULP_HF0_IDX_OO_VLAN_CFI_PRI         = 4,
+       BNXT_ULP_HF0_IDX_OO_VLAN_VID             = 5,
+       BNXT_ULP_HF0_IDX_OO_VLAN_TYPE            = 6,
+       BNXT_ULP_HF0_IDX_OI_VLAN_CFI_PRI         = 7,
+       BNXT_ULP_HF0_IDX_OI_VLAN_VID             = 8,
+       BNXT_ULP_HF0_IDX_OI_VLAN_TYPE            = 9,
+       BNXT_ULP_HF0_IDX_O_IPV4_VER              = 10,
+       BNXT_ULP_HF0_IDX_O_IPV4_TOS              = 11,
+       BNXT_ULP_HF0_IDX_O_IPV4_LEN              = 12,
+       BNXT_ULP_HF0_IDX_O_IPV4_FRAG_ID          = 13,
+       BNXT_ULP_HF0_IDX_O_IPV4_FRAG_OFF         = 14,
+       BNXT_ULP_HF0_IDX_O_IPV4_TTL              = 15,
+       BNXT_ULP_HF0_IDX_O_IPV4_NEXT_PID         = 16,
+       BNXT_ULP_HF0_IDX_O_IPV4_CSUM             = 17,
+       BNXT_ULP_HF0_IDX_O_IPV4_SRC_ADDR         = 18,
+       BNXT_ULP_HF0_IDX_O_IPV4_DST_ADDR         = 19,
+       BNXT_ULP_HF0_IDX_O_UDP_SRC_PORT          = 20,
+       BNXT_ULP_HF0_IDX_O_UDP_DST_PORT          = 21,
+       BNXT_ULP_HF0_IDX_O_UDP_LENGTH            = 22,
+       BNXT_ULP_HF0_IDX_O_UDP_CSUM              = 23
 };
 
-enum bnxt_ulp_hf2 {
-       BNXT_ULP_HF2_MPLS_TAG_NUM = 0,
-       BNXT_ULP_HF2_O_VTAG_NUM = 1,
-       BNXT_ULP_HF2_I_VTAG_NUM = 2,
-       BNXT_ULP_HF2_SVIF_INDEX = 3,
-       BNXT_ULP_HF2_O_ETH_DMAC = 4,
-       BNXT_ULP_HF2_O_ETH_SMAC = 5,
-       BNXT_ULP_HF2_O_ETH_TYPE = 6,
-       BNXT_ULP_HF2_OO_VLAN_CFI_PRI = 7,
-       BNXT_ULP_HF2_OO_VLAN_VID = 8,
-       BNXT_ULP_HF2_OO_VLAN_TYPE = 9,
-       BNXT_ULP_HF2_OI_VLAN_CFI_PRI = 10,
-       BNXT_ULP_HF2_OI_VLAN_VID = 11,
-       BNXT_ULP_HF2_OI_VLAN_TYPE = 12,
-       BNXT_ULP_HF2_O_IPV4_VER = 13,
-       BNXT_ULP_HF2_O_IPV4_TOS = 14,
-       BNXT_ULP_HF2_O_IPV4_LEN = 15,
-       BNXT_ULP_HF2_O_IPV4_FRAG_ID = 16,
-       BNXT_ULP_HF2_O_IPV4_FRAG_OFF = 17,
-       BNXT_ULP_HF2_O_IPV4_TTL = 18,
-       BNXT_ULP_HF2_O_IPV4_NEXT_PID = 19,
-       BNXT_ULP_HF2_O_IPV4_CSUM = 20,
-       BNXT_ULP_HF2_O_IPV4_SRC_ADDR = 21,
-       BNXT_ULP_HF2_O_IPV4_DST_ADDR = 22,
-       BNXT_ULP_HF2_O_UDP_SRC_PORT = 23,
-       BNXT_ULP_HF2_O_UDP_DST_PORT = 24,
-       BNXT_ULP_HF2_O_UDP_LENGTH = 25,
-       BNXT_ULP_HF2_O_UDP_CSUM = 26
+enum bnxt_ulp_hf_bitmask0 {
+       BNXT_ULP_HF0_BITMASK_SVIF_INDEX          = 0x8000000000000000,
+       BNXT_ULP_HF0_BITMASK_O_ETH_DMAC          = 0x4000000000000000,
+       BNXT_ULP_HF0_BITMASK_O_ETH_SMAC          = 0x2000000000000000,
+       BNXT_ULP_HF0_BITMASK_O_ETH_TYPE          = 0x1000000000000000,
+       BNXT_ULP_HF0_BITMASK_OO_VLAN_CFI_PRI     = 0x0800000000000000,
+       BNXT_ULP_HF0_BITMASK_OO_VLAN_VID         = 0x0400000000000000,
+       BNXT_ULP_HF0_BITMASK_OO_VLAN_TYPE        = 0x0200000000000000,
+       BNXT_ULP_HF0_BITMASK_OI_VLAN_CFI_PRI     = 0x0100000000000000,
+       BNXT_ULP_HF0_BITMASK_OI_VLAN_VID         = 0x0080000000000000,
+       BNXT_ULP_HF0_BITMASK_OI_VLAN_TYPE        = 0x0040000000000000,
+       BNXT_ULP_HF0_BITMASK_O_IPV4_VER          = 0x0020000000000000,
+       BNXT_ULP_HF0_BITMASK_O_IPV4_TOS          = 0x0010000000000000,
+       BNXT_ULP_HF0_BITMASK_O_IPV4_LEN          = 0x0008000000000000,
+       BNXT_ULP_HF0_BITMASK_O_IPV4_FRAG_ID      = 0x0004000000000000,
+       BNXT_ULP_HF0_BITMASK_O_IPV4_FRAG_OFF     = 0x0002000000000000,
+       BNXT_ULP_HF0_BITMASK_O_IPV4_TTL          = 0x0001000000000000,
+       BNXT_ULP_HF0_BITMASK_O_IPV4_NEXT_PID     = 0x0000800000000000,
+       BNXT_ULP_HF0_BITMASK_O_IPV4_CSUM         = 0x0000400000000000,
+       BNXT_ULP_HF0_BITMASK_O_IPV4_SRC_ADDR     = 0x0000200000000000,
+       BNXT_ULP_HF0_BITMASK_O_IPV4_DST_ADDR     = 0x0000100000000000,
+       BNXT_ULP_HF0_BITMASK_O_UDP_SRC_PORT      = 0x0000080000000000,
+       BNXT_ULP_HF0_BITMASK_O_UDP_DST_PORT      = 0x0000040000000000,
+       BNXT_ULP_HF0_BITMASK_O_UDP_LENGTH        = 0x0000020000000000,
+       BNXT_ULP_HF0_BITMASK_O_UDP_CSUM          = 0x0000010000000000
 };
 
 #endif /* _ULP_HDR_FIELD_ENUMS_H_ */