ethdev: promote sibling iterators to stable
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_flow_db.h
index 1436927..67afca8 100644 (file)
 #define BNXT_FLOW_DB_DEFAULT_NUM_FLOWS         512
 #define BNXT_FLOW_DB_DEFAULT_NUM_RESOURCES     8
 
+/* Defines for the fdb flag */
+#define ULP_FDB_FLAG_SHARED_SESSION    0x1
+
 /*
  * Structure for the flow database resource information
- * The below structure is based on the below paritions
+ * The below structure is based on the below partitions
  * nxt_resource_idx = dir[31],resource_func_upper[30:28],nxt_resource_idx[27:0]
  * If resource_func is EM_TBL then use resource_em_handle.
  * Else the other part of the union is used and
@@ -30,7 +33,7 @@ struct ulp_fdb_resource_info {
                        uint8_t         resource_func_lower;
                        uint8_t         resource_type;
                        uint8_t         resource_sub_type;
-                       uint8_t         reserved;
+                       uint8_t         fdb_flags;
                        uint32_t        resource_hndl;
                };
        };
@@ -86,7 +89,7 @@ struct ulp_flow_db_res_params {
        enum bnxt_ulp_resource_func     resource_func;
        uint8_t                         resource_type;
        uint8_t                         resource_sub_type;
-       uint8_t                         reserved;
+       uint8_t                         fdb_flags;
        uint8_t                         critical_resource;
        uint64_t                        resource_hndl;
 };
@@ -390,7 +393,8 @@ int32_t
 ulp_flow_db_parent_flow_count_get(struct bnxt_ulp_context *ulp_ctxt,
                                  uint32_t parent_fid,
                                  uint64_t *packet_count,
-                                 uint64_t *byte_count);
+                                 uint64_t *byte_count,
+                                 uint8_t count_reset);
 
 /*
  * reset the parent accumulation counters
@@ -402,4 +406,15 @@ ulp_flow_db_parent_flow_count_get(struct bnxt_ulp_context *ulp_ctxt,
 void
 ulp_flow_db_parent_flow_count_reset(struct bnxt_ulp_context *ulp_ctxt);
 
+/*
+ * Set the shared bit for the flow db entry
+ *
+ * res [in] Ptr to fdb entry
+ * shared [in] shared flag
+ *
+ * returns none
+ */
+void ulp_flow_db_shared_session_set(struct ulp_flow_db_res_params *res,
+                                   enum bnxt_ulp_shared_session shared);
+
 #endif /* _ULP_FLOW_DB_H_ */