octeontx2-pf: Do not reallocate all ntuple filters
[ Upstream commit dcb479fde00be9a151c047d0a7c0626b64eb0019 ]
If ntuple filters count is modified followed by
unicast filters count using devlink then the ntuple count
set by user is ignored and all the ntuple filters are
being reallocated. Fix this by storing the ntuple count
set by user. Without this patch, say if user tries
to modify ntuple count as 8 followed by ucast filter count as 4
using devlink commands then ntuple count is being reverted to
default value 16 i.e, not retaining user set value 8.
Fixes: 39c469188b ("octeontx2-pf: Add ucast filter count configurability via devlink.")
Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/1747054357-5850-1-git-send-email-sbhatta@marvell.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1977cec5be
commit
7db81acae0
@@ -364,6 +364,7 @@ struct otx2_flow_config {
|
||||
struct list_head flow_list_tc;
|
||||
u8 ucast_flt_cnt;
|
||||
bool ntuple;
|
||||
u16 ntuple_cnt;
|
||||
};
|
||||
|
||||
struct dev_hw_ops {
|
||||
|
||||
@@ -41,6 +41,7 @@ static int otx2_dl_mcam_count_set(struct devlink *devlink, u32 id,
|
||||
if (!pfvf->flow_cfg)
|
||||
return 0;
|
||||
|
||||
pfvf->flow_cfg->ntuple_cnt = ctx->val.vu16;
|
||||
otx2_alloc_mcam_entries(pfvf, ctx->val.vu16);
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -252,7 +252,7 @@ int otx2_mcam_entry_init(struct otx2_nic *pfvf)
|
||||
mutex_unlock(&pfvf->mbox.lock);
|
||||
|
||||
/* Allocate entries for Ntuple filters */
|
||||
count = otx2_alloc_mcam_entries(pfvf, OTX2_DEFAULT_FLOWCOUNT);
|
||||
count = otx2_alloc_mcam_entries(pfvf, flow_cfg->ntuple_cnt);
|
||||
if (count <= 0) {
|
||||
otx2_clear_ntuple_flow_info(pfvf, flow_cfg);
|
||||
return 0;
|
||||
@@ -312,6 +312,7 @@ int otx2_mcam_flow_init(struct otx2_nic *pf)
|
||||
INIT_LIST_HEAD(&pf->flow_cfg->flow_list_tc);
|
||||
|
||||
pf->flow_cfg->ucast_flt_cnt = OTX2_DEFAULT_UNICAST_FLOWS;
|
||||
pf->flow_cfg->ntuple_cnt = OTX2_DEFAULT_FLOWCOUNT;
|
||||
|
||||
/* Allocate bare minimum number of MCAM entries needed for
|
||||
* unicast and ntuple filters.
|
||||
|
||||
Reference in New Issue
Block a user