[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d66c277b-ea1c-4c33-ab2e-8bd1a0400543@lunn.ch>
Date: Wed, 23 Oct 2024 16:05:47 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Jijie Shao <shaojijie@...wei.com>
Cc: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, andrew+netdev@...n.ch, horms@...nel.org,
shenjian15@...wei.com, wangpeiyang1@...wei.com,
liuyonglong@...wei.com, chenhao418@...wei.com,
sudongming1@...wei.com, xujunsheng@...wei.com,
shiyongbang@...wei.com, libaihan@...wei.com,
jonathan.cameron@...wei.com, shameerali.kolothum.thodi@...wei.com,
salil.mehta@...wei.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next 3/7] net: hibmcge: Add unicast frame filter
supported in this module
> +static int hbg_add_mac_to_filter(struct hbg_priv *priv, const u8 *addr)
> +{
> + u32 index;
> +
> + /* already exists */
> + if (!hbg_get_index_from_mac_table(priv, addr, &index))
> + return 0;
> +
> + for (index = 0; index < priv->filter.table_max_len; index++)
> + if (is_zero_ether_addr(priv->filter.mac_table[index].addr)) {
> + hbg_set_mac_to_mac_table(priv, index, addr);
> + return 0;
> + }
> +
> + if (!priv->filter.table_overflow) {
> + priv->filter.table_overflow = true;
> + hbg_update_promisc_mode(priv->netdev);
> + dev_info(&priv->pdev->dev, "mac table is overflow\n");
> + }
> +
> + return -ENOSPC;
I _think_ this is wrong. If you run out of hardware resources, you
should change the interface to promiscuous mode and let the stack do
the filtering. Offloading it to hardware is just an acceleration,
nothing more.
Andrew
Powered by blists - more mailing lists