common/mlx5: add Direct Verbs constants for Windows
[dpdk.git] / drivers / net / bnxt / tf_ulp / bnxt_ulp.h
index b1f090a..006df9c 100644 (file)
@@ -32,6 +32,7 @@
 #define BNXT_ULP_SHARED_SESSION_ENABLED        0x2
 #define BNXT_ULP_APP_DEV_UNSUPPORTED   0x4
 #define BNXT_ULP_HIGH_AVAIL_ENABLED    0x8
+#define BNXT_ULP_APP_UNICAST_ONLY      0x10
 #define ULP_VF_REP_IS_ENABLED(flag)    ((flag) & BNXT_ULP_VF_REP_ENABLED)
 #define ULP_SHARED_SESSION_IS_ENABLED(flag) ((flag) &\
                                             BNXT_ULP_SHARED_SESSION_ENABLED)
@@ -46,6 +47,18 @@ enum bnxt_ulp_flow_mem_type {
        BNXT_ULP_FLOW_MEM_TYPE_LAST = 3
 };
 
+enum bnxt_rte_flow_item_type {
+       BNXT_RTE_FLOW_ITEM_TYPE_END = (uint32_t)INT_MIN,
+       BNXT_RTE_FLOW_ITEM_TYPE_VXLAN_DECAP,
+       BNXT_RTE_FLOW_ITEM_TYPE_LAST
+};
+
+enum bnxt_rte_flow_action_type {
+       BNXT_RTE_FLOW_ACTION_TYPE_END = (uint32_t)INT_MIN,
+       BNXT_RTE_FLOW_ACTION_TYPE_VXLAN_DECAP,
+       BNXT_RTE_FLOW_ACTION_TYPE_LAST
+};
+
 struct bnxt_ulp_df_rule_info {
        uint32_t                        def_port_flow_id;
        uint8_t                         valid;
@@ -77,6 +90,8 @@ struct bnxt_ulp_data {
        struct bnxt_tun_cache_entry     tun_tbl[BNXT_ULP_MAX_TUN_CACHE_ENTRIES];
        bool                            accum_stats;
        uint8_t                         app_id;
+       uint8_t                         num_shared_clients;
+       struct bnxt_flow_app_tun_ent    app_tun[BNXT_ULP_MAX_TUN_CACHE_ENTRIES];
 };
 
 struct bnxt_ulp_context {
@@ -112,6 +127,11 @@ struct ulp_tlv_param {
        uint8_t value[16];
 };
 
+struct ulp_context_list_entry {
+       TAILQ_ENTRY(ulp_context_list_entry)     next;
+       struct bnxt_ulp_context                 *ulp_ctx;
+};
+
 /*
  * Allow the deletion of context only for the bnxt device that
  * created the session
@@ -251,9 +271,6 @@ 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);
 
-int32_t
-ulp_post_process_tun_flow(struct ulp_rte_parser_params *params);
-
 struct bnxt_ulp_glb_resource_info *
 bnxt_ulp_app_glb_resource_info_list_get(uint32_t *num_entries);
 
@@ -285,4 +302,17 @@ bnxt_ulp_cntxt_ptr2_ha_info_get(struct bnxt_ulp_context *ulp_ctx);
 
 bool
 bnxt_ulp_cntxt_ha_enabled(struct bnxt_ulp_context *ulp_ctx);
+
+struct bnxt_ulp_context *
+bnxt_ulp_cntxt_entry_acquire(void);
+
+void
+bnxt_ulp_cntxt_entry_release(void);
+
+uint8_t
+bnxt_ulp_cntxt_num_shared_clients_get(struct bnxt_ulp_context *ulp_ctx);
+
+struct bnxt_flow_app_tun_ent *
+bnxt_ulp_cntxt_ptr2_app_tun_list_get(struct bnxt_ulp_context *ulp);
+
 #endif /* _BNXT_ULP_H_ */