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.

Reply via email to