Message ID | 20201213140710.1198050-8-vladimir.oltean@nxp.com (mailing list archive) |
---|---|
State | Deferred |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Offload software learnt bridge addresses to DSA | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for net-next |
netdev/subject_prefix | success | Link |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 7 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/header_inline | success | Link |
netdev/stable | success | Stable not CCed |
On Sun, Dec 13, 2020 at 04:07:10PM +0200, Vladimir Oltean wrote: > Given the following setup: > > ip link add br0 type bridge > ip link set eno0 master br0 > ip link set swp0 master br0 > ip link set swp1 master br0 > ip link set swp2 master br0 > ip link set swp3 master br0 > > Currently, packets received on a DSA slave interface (such as swp0) > which should be routed by the software bridge towards a non-switch port > (such as eno0) are also flooded towards the other switch ports (swp1, > swp2, swp3) because the destination is unknown to the hardware switch. > > This patch addresses the issue by monitoring the addresses learnt by the > software bridge on eno0, and adding/deleting them as static FDB entries > on the CPU port accordingly. > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> > Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
diff --git a/drivers/net/dsa/ocelot/felix.c b/drivers/net/dsa/ocelot/felix.c index 7dc230677b78..90c3c76f21b2 100644 --- a/drivers/net/dsa/ocelot/felix.c +++ b/drivers/net/dsa/ocelot/felix.c @@ -629,6 +629,7 @@ static int felix_setup(struct dsa_switch *ds) ds->mtu_enforcement_ingress = true; ds->configure_vlan_while_not_filtering = true; + ds->assisted_learning_on_cpu_port = true; return 0; }