net/ice: save rule on switch filter creation
[dpdk.git] / drivers / net / bnxt / tf_core / tf_ext_flow_handle.h
index 417a99c..bf6dbcd 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2019-2020 Broadcom
+ * Copyright(c) 2019-2021 Broadcom
  * All rights reserved.
  */
 
@@ -19,6 +19,9 @@
 #define TF_HASH_TYPE_FLOW_HANDLE_MASK          0x0000000100000000ULL
 #define TF_HASH_TYPE_FLOW_HANDLE_SFT           32
 
+#define TF_FLAGS_FLOW_HANDLE_INTERNAL          0x2
+#define TF_FLAGS_FLOW_HANDLE_EXTERNAL          0x0
+
 #define TF_FLOW_HANDLE_MASK (TF_NUM_KEY_ENTRIES_FLOW_HANDLE_MASK |     \
                                TF_FLOW_TYPE_FLOW_HANDLE_MASK |         \
                                TF_FLAGS_FLOW_HANDLE_MASK |             \
@@ -90,6 +93,26 @@ do {                                                                 \
                     TF_HASH_TYPE_FLOW_HANDLE_SFT);                     \
 } while (0)
 
+#define TF_GET_NUM_KEY_ENTRIES_FROM_FLOW_HANDLE(flow_handle,           \
+                                         num_key_entries)              \
+do {                                                                   \
+       (num_key_entries =                                              \
+               (((flow_handle) & TF_NUM_KEY_ENTRIES_FLOW_HANDLE_MASK) >> \
+                    TF_NUM_KEY_ENTRIES_FLOW_HANDLE_SFT));              \
+} while (0)
+
+#define TF_GET_ENTRY_NUM_FROM_FLOW_HANDLE(flow_handle,         \
+                                         entry_num)            \
+do {                                                                   \
+       (entry_num =                                            \
+               (((flow_handle) & TF_ENTRY_NUM_FLOW_HANDLE_MASK) >> \
+                    TF_ENTRY_NUM_FLOW_HANDLE_SFT));            \
+} while (0)
+
+#define TF_GET_FLAG_FROM_FLOW_HANDLE(flow_handle, flag)                \
+       (flag = (((flow_handle) & TF_FLAGS_FLOW_HANDLE_MASK) >>\
+                    TF_FLAGS_FLOW_HANDLE_SFT))
+
 /*
  * 32 bit Flow ID handlers
  */