Commit dcb479fd authored by Subbaraya Sundeep's avatar Subbaraya Sundeep Committed by Paolo Abeni
Browse files

octeontx2-pf: Do not reallocate all ntuple filters



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: 39c46918 ("octeontx2-pf: Add ucast filter count configurability via devlink.")
Signed-off-by: default avatarSubbaraya Sundeep <sbhatta@marvell.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Link: https://patch.msgid.link/1747054357-5850-1-git-send-email-sbhatta@marvell.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 09db7a4d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -356,6 +356,7 @@ struct otx2_flow_config {
	struct list_head	flow_list_tc;
	u8			ucast_flt_cnt;
	bool			ntuple;
	u16			ntuple_cnt;
};

struct dev_hw_ops {
+1 −0
Original line number Diff line number Diff line
@@ -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;
+2 −1
Original line number Diff line number Diff line
@@ -247,7 +247,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;
@@ -307,6 +307,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.