/* 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_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
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;
/*
* 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
-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
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_ */