net/bnxt: add shadow table capability with search
[dpdk.git] / drivers / net / bnxt / tf_core / tf_tbl.h
index 2a10b47..930fcc3 100644 (file)
@@ -38,6 +38,13 @@ struct tf_em_caps {
  */
 struct tf_tbl_scope_cb {
        uint32_t tbl_scope_id;
+#ifdef TF_USE_SYSTEM_MEM
+       int lfc_fd;
+       uint32_t bus;
+       uint32_t devfn;
+       int fd[TF_DIR_MAX][TF_MAX_TABLE];
+       bool valid;
+#endif
        int index;
        struct hcapi_cfa_em_ctx_mem_info em_ctx_info[TF_DIR_MAX];
        struct tf_em_caps em_caps[TF_DIR_MAX];
@@ -137,29 +144,31 @@ struct tf_tbl_alloc_search_parms {
         */
        uint32_t tbl_scope_id;
        /**
-        * [in] Enable search for matching entry. If the table type is
-        * internal the shadow copy will be searched before
-        * alloc. Session must be configured with shadow copy enabled.
-        */
-       uint8_t search_enable;
-       /**
-        * [in] Result data to search for (if search_enable)
+        * [in] Result data to search for
         */
        uint8_t *result;
        /**
-        * [in] Result data size in bytes (if search_enable)
+        * [in] Result data size in bytes
         */
        uint16_t result_sz_in_bytes;
+       /**
+        * [in] Whether or not to allocate on MISS, 1 is allocate.
+        */
+       uint8_t alloc;
        /**
         * [out] If search_enable, set if matching entry found
         */
        uint8_t hit;
        /**
-        * [out] Current ref count after allocation (if search_enable)
+        * [out] The status of the search (REJECT, MISS, HIT)
+        */
+       enum tf_search_status search_status;
+       /**
+        * [out] Current ref count after allocation
         */
        uint16_t ref_cnt;
        /**
-        * [out] Idx of allocated entry or found entry (if search_enable)
+        * [out] Idx of allocated entry or found entry
         */
        uint32_t idx;
 };