Re: [PATCH net-next 3/7] net: hibmcge: Add unicast frame filter supported in this module
From: Andrew Lunn
Date: Wed Oct 23 2024 - 10:06:06 EST
> +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