Messages in this thread | | | From | Sunil Kovvuri Goutham <> | Subject | RE: [PATCH net-next] octeontx2-pf: flower: check for unsupported control flags | Date | Tue, 23 Apr 2024 04:54:01 +0000 |
| |
> -----Original Message----- > From: Asbjørn Sloth Tønnesen <ast@fiberby.net> > Sent: Monday, April 22, 2024 8:58 PM > To: netdev@vger.kernel.org > Cc: Asbjørn Sloth Tønnesen <ast@fiberby.net>; linux-kernel@vger.kernel.org; > David S. Miller <davem@davemloft.net>; Eric Dumazet > <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni > <pabeni@redhat.com>; Sunil Kovvuri Goutham <sgoutham@marvell.com>; > Geethasowjanya Akula <gakula@marvell.com>; Subbaraya Sundeep Bhatta > <sbhatta@marvell.com>; Hariprasad Kelam <hkelam@marvell.com>; Suman > Ghosh <sumang@marvell.com> > Subject: [EXTERNAL] [PATCH net-next] octeontx2-pf: flower: check for > unsupported control flags > > Use flow_rule_is_supp_control_flags() to reject filters with unsupported > control flags. > > In case any unsupported control flags are masked, > flow_rule_is_supp_control_flags() sets a NL extended error message, and we > return -EOPNOTSUPP. > > Remove FLOW_DIS_FIRST_FRAG specific error message, and treat it as any > other unsupported control flag. > > Only compile-tested. > > Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net> > --- > drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c > b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c > index 6d4ce2ece8d0..e63cc1eb6d89 100644 > --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c > +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c > @@ -700,10 +700,6 @@ static int otx2_tc_prepare_flow(struct otx2_nic *nic, > struct otx2_tc_flow *node, > u32 val; > > flow_rule_match_control(rule, &match); > - if (match.mask->flags & FLOW_DIS_FIRST_FRAG) { > - NL_SET_ERR_MSG_MOD(extack, "HW doesn't > support frag first/later"); > - return -EOPNOTSUPP; > - } > > if (match.mask->flags & FLOW_DIS_IS_FRAGMENT) { > val = match.key->flags & FLOW_DIS_IS_FRAGMENT; > @@ -721,6 +717,10 @@ static int otx2_tc_prepare_flow(struct otx2_nic *nic, > struct otx2_tc_flow *node, > return -EOPNOTSUPP; > } > } > + > + if > (!flow_rule_is_supp_control_flags(FLOW_DIS_IS_FRAGMENT, > + match.mask->flags, > extack)) > + return -EOPNOTSUPP; > } > > if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { > -- > 2.43.0
Reviewed-by: Sunil Goutham <sgoutham@marvell.com>
| |