git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/bnxt: add TCAM table processing for search and alloc
[dpdk.git]
/
drivers
/
net
/
bnxt
/
tf_ulp
/
ulp_template_struct.h
diff --git
a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h
b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h
index
5a7a7b9
..
6617ab9
100644
(file)
--- a/
drivers/net/bnxt/tf_ulp/ulp_template_struct.h
+++ b/
drivers/net/bnxt/tf_ulp/ulp_template_struct.h
@@
-30,6
+30,11
@@
#define BNXT_ULP_PROTO_HDR_MAX 128
#define BNXT_ULP_PROTO_HDR_FIELD_SVIF_IDX 0
#define BNXT_ULP_PROTO_HDR_MAX 128
#define BNXT_ULP_PROTO_HDR_FIELD_SVIF_IDX 0
+/* Direction attributes */
+#define BNXT_ULP_FLOW_ATTR_TRANSFER 0x1
+#define BNXT_ULP_FLOW_ATTR_INGRESS 0x2
+#define BNXT_ULP_FLOW_ATTR_EGRESS 0x4
+
struct ulp_rte_hdr_bitmap {
uint64_t bits;
};
struct ulp_rte_hdr_bitmap {
uint64_t bits;
};
@@
-58,6
+63,7
@@
struct ulp_rte_act_prop {
/* Structure to be used for passing all the parser functions */
struct ulp_rte_parser_params {
struct ulp_rte_hdr_bitmap hdr_bitmap;
/* Structure to be used for passing all the parser functions */
struct ulp_rte_parser_params {
struct ulp_rte_hdr_bitmap hdr_bitmap;
+ struct ulp_rte_hdr_bitmap hdr_fp_bit;
struct ulp_rte_field_bitmap fld_bitmap;
struct ulp_rte_hdr_field hdr_field[BNXT_ULP_PROTO_HDR_MAX];
uint32_t comp_fld[BNXT_ULP_CF_IDX_LAST];
struct ulp_rte_field_bitmap fld_bitmap;
struct ulp_rte_hdr_field hdr_field[BNXT_ULP_PROTO_HDR_MAX];
uint32_t comp_fld[BNXT_ULP_CF_IDX_LAST];
@@
-65,7
+71,7
@@
struct ulp_rte_parser_params {
uint32_t vlan_idx;
struct ulp_rte_act_bitmap act_bitmap;
struct ulp_rte_act_prop act_prop;
uint32_t vlan_idx;
struct ulp_rte_act_bitmap act_bitmap;
struct ulp_rte_act_prop act_prop;
- uint32_t dir;
+ uint32_t dir
_attr
;
struct bnxt_ulp_context *ulp_ctx;
};
struct bnxt_ulp_context *ulp_ctx;
};
@@
-165,10
+171,12
@@
struct bnxt_ulp_mapper_tbl_info {
enum bnxt_ulp_resource_func resource_func;
uint32_t resource_type; /* TF_ enum type */
enum bnxt_ulp_resource_sub_type resource_sub_type;
enum bnxt_ulp_resource_func resource_func;
uint32_t resource_type; /* TF_ enum type */
enum bnxt_ulp_resource_sub_type resource_sub_type;
- uint8_t direction;
- uint32_t priority;
- uint8_t srch_b4_alloc;
- enum bnxt_ulp_critical_resource critical_resource;
+ enum bnxt_ulp_cond_opcode cond_opcode;
+ uint32_t cond_operand;
+ uint8_t direction;
+ uint32_t priority;
+ enum bnxt_ulp_search_before_alloc srch_b4_alloc;
+ enum bnxt_ulp_critical_resource critical_resource;
/* Information for accessing the ulp_key_field_list */
uint32_t key_start_idx;
/* Information for accessing the ulp_key_field_list */
uint32_t key_start_idx;
@@
-206,6
+214,8
@@
struct bnxt_ulp_mapper_result_field_info {
enum bnxt_ulp_mapper_opc result_opcode;
uint16_t field_bit_size;
uint8_t result_operand[16];
enum bnxt_ulp_mapper_opc result_opcode;
uint16_t field_bit_size;
uint8_t result_operand[16];
+ uint8_t result_operand_true[16];
+ uint8_t result_operand_false[16];
};
struct bnxt_ulp_mapper_ident_info {
};
struct bnxt_ulp_mapper_ident_info {