Re: [PATCH v2 net-next 06/13] octeontx2-pf: Add support for unicast MAC address filtering

From: Naveen Mamindlapalli
Date: Tue Nov 10 2020 - 11:54:10 EST


Hi Saeed,

Thanks for the review!

> -----Original Message-----
> From: Saeed Mahameed <saeed@xxxxxxxxxx>
> Sent: Saturday, November 7, 2020 3:46 AM
> To: Naveen Mamindlapalli <naveenm@xxxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx
> Cc: kuba@xxxxxxxxxx; davem@xxxxxxxxxxxxx; Sunil Kovvuri Goutham
> <sgoutham@xxxxxxxxxxx>; Linu Cherian <lcherian@xxxxxxxxxxx>;
> Geethasowjanya Akula <gakula@xxxxxxxxxxx>; Jerin Jacob Kollanukkaran
> <jerinj@xxxxxxxxxxx>; Subbaraya Sundeep Bhatta <sbhatta@xxxxxxxxxxx>;
> Hariprasad Kelam <hkelam@xxxxxxxxxxx>
> Subject: Re: [PATCH v2 net-next 06/13] octeontx2-pf: Add support for
> unicast MAC address filtering
>
> On Thu, 2020-11-05 at 14:58 +0530, Naveen Mamindlapalli wrote:
> > From: Hariprasad Kelam <hkelam@xxxxxxxxxxx>
> >
> > Add unicast MAC address filtering support using install flow message.
> > Total of 8 MCAM entries are allocated for adding unicast mac filtering
> > rules. If the MCAM allocation fails, the unicast filtering support
> > will not be advertised.
> >
> > Signed-off-by: Hariprasad Kelam <hkelam@xxxxxxxxxxx>
> > Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxxx>
> > Signed-off-by: Naveen Mamindlapalli <naveenm@xxxxxxxxxxx>
> > ---
> > .../ethernet/marvell/octeontx2/nic/otx2_common.h | 10 ++
> > .../ethernet/marvell/octeontx2/nic/otx2_flows.c | 138
> > +++++++++++++++++++--
> > .../net/ethernet/marvell/octeontx2/nic/otx2_pf.c | 5 +
> > 3 files changed, 146 insertions(+), 7 deletions(-)
> >
>
> > +int otx2_add_macfilter(struct net_device *netdev, const u8 *mac) {
> > + struct otx2_nic *pf = netdev_priv(netdev);
> > + int err;
> > +
> > + err = otx2_do_add_macfilter(pf, mac);
> > + if (err) {
> > + netdev->flags |= IFF_PROMISC;
>
> I don't think you are allowed to change netdev->flags inside the driver like this,
> this can easily conflict with other users of this netdev; netdev promiscuity is
> managed by the stack via refcount Please see:
> __dev_set_promiscuity() and dev_set_promiscuity()
>
> And you will need to notify stack and userspace of flags changes.

Understood, will fix in v3.