net: dsa: qca8k: add support for mdb_add/del
authorAnsuel Smith <ansuelsmth@gmail.com>
Mon, 22 Nov 2021 15:23:48 +0000 (16:23 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 22 Nov 2021 15:35:16 +0000 (15:35 +0000)
commitba8f870dfa635113ce6e8095a5eb1835ecde2e9e
treee06a236596fa09f71c65e3869160eb6155ddd191
parent6a3bdc5209f45d2af83aa92433ab6e5cf2297aa4
net: dsa: qca8k: add support for mdb_add/del

Add support for mdb add/del function. The ARL table is used to insert
the rule. The rule will be searched, deleted and reinserted with the
port mask updated. The function will check if the rule has to be updated
or insert directly with no deletion of the old rule.
If every port is removed from the port mask, the rule is removed.
The rule is set STATIC in the ARL table (aka it doesn't age) to not be
flushed by fast age function.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/qca8k.c