X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fbnxt%2Ftf_ulp%2Fulp_flow_db.h;h=67afca8872bd1226043177a4f43784199a5fc762;hb=f787952d13d20b7eceaf6d1742ea591239b63ba1;hp=10e69bae4509200b2726013bbc64062b4172957d;hpb=640bfd23ce01523f5b8113c324c32c331efd6b9c;p=dpdk.git diff --git a/drivers/net/bnxt/tf_ulp/ulp_flow_db.h b/drivers/net/bnxt/tf_ulp/ulp_flow_db.h index 10e69bae45..67afca8872 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_flow_db.h +++ b/drivers/net/bnxt/tf_ulp/ulp_flow_db.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2019 Broadcom + * Copyright(c) 2014-2021 Broadcom * All rights reserved. */ @@ -13,9 +13,12 @@ #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; }; }; @@ -60,6 +63,8 @@ struct ulp_fdb_parent_info { uint64_t pkt_count; uint64_t byte_count; uint64_t *child_fid_bitset; + uint32_t f2_cnt; + uint8_t tun_idx; }; /* Structure to maintain parent-child flow relationships */ @@ -84,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; }; @@ -388,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 @@ -400,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_ */