On Thu, 2020-11-05 at 14:58 +0530, Naveen Mamindlapalli wrote: > From: Hariprasad Kelam <hke...@marvell.com> > > 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 <hke...@marvell.com> > Signed-off-by: Sunil Goutham <sgout...@marvell.com> > Signed-off-by: Naveen Mamindlapalli <nave...@marvell.com> > --- > .../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.