net: dsa: hellcreek: Fix insertion of static FDB entries
[ Upstream commit 4db4c3ea56978086ca367a355e440de17d534827 ] The insertion of static FDB entries ignores the pass_blocked bit. That bit is evaluated with regards to STP. Add the missing functionality. Fixes: e4b27ebc780f ("net: dsa: Add DSA driver for Hirschmann Hellcreek switches") Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de> Reviewed-by: Vladimir Oltean <olteanv@gmail.com> Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
307ac652e9
commit
06baf7c33c
@ -710,8 +710,9 @@ static int __hellcreek_fdb_add(struct hellcreek *hellcreek,
|
||||
u16 meta = 0;
|
||||
|
||||
dev_dbg(hellcreek->dev, "Add static FDB entry: MAC=%pM, MASK=0x%02x, "
|
||||
"OBT=%d, REPRIO_EN=%d, PRIO=%d\n", entry->mac, entry->portmask,
|
||||
entry->is_obt, entry->reprio_en, entry->reprio_tc);
|
||||
"OBT=%d, PASS_BLOCKED=%d, REPRIO_EN=%d, PRIO=%d\n", entry->mac,
|
||||
entry->portmask, entry->is_obt, entry->pass_blocked,
|
||||
entry->reprio_en, entry->reprio_tc);
|
||||
|
||||
/* Add mac address */
|
||||
hellcreek_write(hellcreek, entry->mac[1] | (entry->mac[0] << 8), HR_FDBWDH);
|
||||
@ -722,6 +723,8 @@ static int __hellcreek_fdb_add(struct hellcreek *hellcreek,
|
||||
meta |= entry->portmask << HR_FDBWRM0_PORTMASK_SHIFT;
|
||||
if (entry->is_obt)
|
||||
meta |= HR_FDBWRM0_OBT;
|
||||
if (entry->pass_blocked)
|
||||
meta |= HR_FDBWRM0_PASS_BLOCKED;
|
||||
if (entry->reprio_en) {
|
||||
meta |= HR_FDBWRM0_REPRIO_EN;
|
||||
meta |= entry->reprio_tc << HR_FDBWRM0_REPRIO_TC_SHIFT;
|
||||
|
Loading…
x
Reference in New Issue
Block a user