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 locks in flow database
[dpdk.git]
/
drivers
/
net
/
bnxt
/
tf_ulp
/
bnxt_ulp.h
diff --git
a/drivers/net/bnxt/tf_ulp/bnxt_ulp.h
b/drivers/net/bnxt/tf_ulp/bnxt_ulp.h
index
8a2825a
..
36405ae
100644
(file)
--- a/
drivers/net/bnxt/tf_ulp/bnxt_ulp.h
+++ b/
drivers/net/bnxt/tf_ulp/bnxt_ulp.h
@@
-16,7
+16,13
@@
/* NAT defines to reuse existing inner L2 SMAC and DMAC */
#define BNXT_ULP_NAT_INNER_L2_HEADER_SMAC 0x2000
/* NAT defines to reuse existing inner L2 SMAC and DMAC */
#define BNXT_ULP_NAT_INNER_L2_HEADER_SMAC 0x2000
+#define BNXT_ULP_NAT_OUTER_MOST_L2_HDR_SMAC 0x6000
+#define BNXT_ULP_NAT_OUTER_MOST_L2_VLAN_TAGS 0xc00
#define BNXT_ULP_NAT_INNER_L2_HEADER_DMAC 0x100
#define BNXT_ULP_NAT_INNER_L2_HEADER_DMAC 0x100
+#define BNXT_ULP_NAT_OUTER_MOST_L2_HDR_DMAC 0x300
+#define BNXT_ULP_NAT_OUTER_MOST_FLAGS (BNXT_ULP_NAT_OUTER_MOST_L2_HDR_SMAC |\
+ BNXT_ULP_NAT_OUTER_MOST_L2_VLAN_TAGS |\
+ BNXT_ULP_NAT_OUTER_MOST_L2_HDR_DMAC)
/* defines for the ulp_flags */
#define BNXT_ULP_VF_REP_ENABLED 0x1
/* defines for the ulp_flags */
#define BNXT_ULP_VF_REP_ENABLED 0x1
@@
-41,6
+47,7
@@
struct bnxt_ulp_data {
uint32_t dev_id; /* Hardware device id */
uint32_t ref_cnt;
struct bnxt_ulp_flow_db *flow_db;
uint32_t dev_id; /* Hardware device id */
uint32_t ref_cnt;
struct bnxt_ulp_flow_db *flow_db;
+ pthread_mutex_t flow_db_lock;
void *mapper_data;
struct bnxt_ulp_port_db *port_db;
struct bnxt_ulp_fc_info *fc_info;
void *mapper_data;
struct bnxt_ulp_port_db *port_db;
struct bnxt_ulp_fc_info *fc_info;
@@
-83,12
+90,9
@@
struct ulp_tlv_param {
/*
* Allow the deletion of context only for the bnxt device that
* created the session
/*
* Allow the deletion of context only for the bnxt device that
* created the session
- * TBD - The implementation of the function should change to
- * using the reference count once tf_session_attach functionality
- * is fixed.
*/
bool
*/
bool
-ulp_ctx_deinit_allowed(
void *bp
);
+ulp_ctx_deinit_allowed(
struct bnxt_ulp_context *ulp_ctx
);
/* Function to set the device id of the hardware. */
int32_t
/* Function to set the device id of the hardware. */
int32_t
@@
-193,4
+197,10
@@
struct bnxt_ulp_vfr_rule_info*
bnxt_ulp_cntxt_ptr2_ulp_vfr_info_get(struct bnxt_ulp_context *ulp_ctx,
uint32_t port_id);
bnxt_ulp_cntxt_ptr2_ulp_vfr_info_get(struct bnxt_ulp_context *ulp_ctx,
uint32_t port_id);
+int32_t
+bnxt_ulp_cntxt_acquire_fdb_lock(struct bnxt_ulp_context *ulp_ctx);
+
+void
+bnxt_ulp_cntxt_release_fdb_lock(struct bnxt_ulp_context *ulp_ctx);
+
#endif /* _BNXT_ULP_H_ */
#endif /* _BNXT_ULP_H_ */