net/bnxt: add context list for timers
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_mapper.h
index b7399b8..4c5dd4b 100644 (file)
@@ -22,11 +22,12 @@ struct bnxt_ulp_mapper_glb_resource_entry {
        enum bnxt_ulp_resource_func     resource_func;
        uint32_t                        resource_type; /* TF_ enum type */
        uint64_t                        resource_hndl;
+       bool                            shared;
 };
 
 struct bnxt_ulp_mapper_data {
        struct bnxt_ulp_mapper_glb_resource_entry
-               glb_res_tbl[TF_DIR_MAX][BNXT_ULP_GLB_RESOURCE_TBL_MAX_SZ];
+               glb_res_tbl[TF_DIR_MAX][BNXT_ULP_GLB_RF_IDX_LAST];
        struct ulp_mapper_gen_tbl_list gen_tbl_list[BNXT_ULP_GEN_TBL_MAX_SZ];
 };
 
@@ -47,7 +48,6 @@ struct bnxt_ulp_mapper_parms {
        struct ulp_rte_field_bitmap             *fld_bitmap;
        uint32_t                                *comp_fld;
        struct ulp_regfile                      *regfile;
-       struct tf                               *tfp;
        struct bnxt_ulp_context                 *ulp_ctx;
        uint32_t                                fid;
        enum bnxt_ulp_fdb_type                  flow_type;
@@ -58,6 +58,9 @@ struct bnxt_ulp_mapper_parms {
        uint8_t                                 tun_idx;
        uint32_t                                app_priority;
        uint64_t                                shared_hndl;
+       uint32_t                                flow_pattern_id;
+       uint32_t                                act_pattern_id;
+       uint8_t                                 app_id;
 };
 
 struct bnxt_ulp_mapper_create_parms {
@@ -80,6 +83,12 @@ struct bnxt_ulp_mapper_create_parms {
        /* if set then create a parent flow */
        uint32_t                        parent_flow;
        uint8_t                         tun_idx;
+       uint64_t                        shared_hndl;
+
+       /* support pattern based rejection */
+       uint32_t                        flow_pattern_id;
+       uint32_t                        act_pattern_id;
+       uint8_t                         app_id;
 };
 
 /* Function to initialize any dynamic mapper data. */
@@ -113,4 +122,10 @@ ulp_mapper_resources_free(struct bnxt_ulp_context *ulp_ctx,
                          enum bnxt_ulp_fdb_type flow_type,
                          uint32_t fid);
 
+int32_t
+ulp_mapper_get_shared_fid(struct bnxt_ulp_context *ulp,
+                         uint32_t id,
+                         uint16_t key,
+                         uint32_t *fid);
+
 #endif /* _ULP_MAPPER_H_ */