diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2021-01-07 15:34:48 -0800 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2021-01-07 15:34:48 -0800 |
| commit | c214cc3aa8423ba8e67c7028eeea9b0f48e8a7e6 (patch) | |
| tree | 20804db87f2a25abc0a6b7b5086bc16a8a357fd9 /net/dsa/dsa_priv.h | |
| parent | dd15c4a0ba999905bd53a860ada5ad9d3eb020c2 (diff) | |
| parent | c54913c1d4eeddcd7600a23ed77828c5d7c6e47c (diff) | |
Merge branch 'offload-software-learnt-bridge-addresses-to-dsa'
Vladimir Oltean says:
====================
Offload software learnt bridge addresses to DSA
This series tries to make DSA behave a bit more sanely when bridged with
"foreign" (non-DSA) interfaces and source address learning is not
supported on the hardware CPU port (which would make things work more
seamlessly without software intervention). When a station A connected to
a DSA switch port needs to talk to another station B connected to a
non-DSA port through the Linux bridge, DSA must explicitly add a route
for station B towards its CPU port.
Initial RFC was posted here:
https://patchwork.ozlabs.org/project/netdev/cover/20201108131953.2462644-1-olteanv@gmail.com/
v2 was posted here:
https://patchwork.kernel.org/project/netdevbpf/cover/20201213024018.772586-1-vladimir.oltean@nxp.com/
v3 was posted here:
https://patchwork.kernel.org/project/netdevbpf/cover/20201213140710.1198050-1-vladimir.oltean@nxp.com/
This is a resend of the previous v3 with some added Reviewed-by tags.
====================
Link: https://lore.kernel.org/r/20210106095136.224739-1-olteanv@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/dsa/dsa_priv.h')
| -rw-r--r-- | net/dsa/dsa_priv.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h index 7c96aae9062c..c04225f74929 100644 --- a/net/dsa/dsa_priv.h +++ b/net/dsa/dsa_priv.h @@ -73,6 +73,18 @@ struct dsa_notifier_mtu_info { int mtu; }; +struct dsa_switchdev_event_work { + struct dsa_switch *ds; + int port; + struct work_struct work; + unsigned long event; + /* Specific for SWITCHDEV_FDB_ADD_TO_DEVICE and + * SWITCHDEV_FDB_DEL_TO_DEVICE + */ + unsigned char addr[ETH_ALEN]; + u16 vid; +}; + struct dsa_slave_priv { /* Copy of CPU port xmit for faster access in slave transmit hot path */ struct sk_buff * (*xmit)(struct sk_buff *skb, |
