All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch net-next 00/26] bonding/team offload + mlxsw implementation
@ 2015-12-01 13:48 Jiri Pirko
  2015-12-01 13:48 ` [patch net-next 01/26] bonding: add 802.3ad support for 100G speeds Jiri Pirko
                   ` (26 more replies)
  0 siblings, 27 replies; 63+ messages in thread
From: Jiri Pirko @ 2015-12-01 13:48 UTC (permalink / raw)
  To: netdev; +Cc: davem, idosch, eladr, yotamg, ogerlitz

From: Jiri Pirko <jiri@mellanox.com>

This patchset introduces needed infrastructure for link aggregation
offload - for both team and bonding. It also implements the offload
in mlxsw driver.

Particulary, this patchset introduces possibility for upper driver
(bond/team/bridge/..) to pass type-specific info down to notifier listeners.
Info is passed along with NETDEV_CHANGEUPPER/NETDEV_PRECHANGEUPPER
notifiers. Listeners (drivers of netdevs being enslaved) can react
accordingly.

Other extension is for run-time use. This patchset introduces
new netdev notifier type - NETDEV_CHANGELOWERSTATE. Along with this
notification, the upper driver (bond/team/bridge/..) can pass some
information about lower device change, particulary link-up and
TX-enabled states. Listeners (drivers of netdevs being enslaved)
can react accordingly.

The last part of the patchset is implementation of LAG offload in mlxsw,
using both previously introduced infrastructre extensions.

Note that bond-speficic (and ugly) NETDEV_BONDING_INFO used by mlx4
can be removed and mlx4 can use the extensions this patchset adds.
I plan to convert it and get rid of NETDEV_BONDING_INFO in
a follow-up patchset.

Jiri Pirko (26):
  bonding: add 802.3ad support for 100G speeds
  net: add netif_is_team_master helper
  net: add netif_is_team_port helper
  net: add netif_is_lag_master helper
  net: add netif_is_lag_port helper
  net: propagate upper priv via netdev_master_upper_dev_link
  net: add possibility to pass information about upper device via
    notifier
  net: add info struct for LAG changeupper
  team: fill-up LAG changeupper info struct and pass it along
  bonding: fill-up LAG changeupper info struct and pass it along
  net: introduce change lower state notifier
  net: introduce lower state changed info structure for LAG lowers
  team: rtnl_lock for options set
  team: implement lower state change propagation
  bonding: allow notifications for bond_set_slave_link_state
  bonding: implement lower state change propagation
  bonding: set inactive flags on release
  mlxsw: spectrum: Add set_rx_mode ndo stub
  mlxsw: core: Add support for packets received from LAG port
  mlxsw: pci: Implement LAG processing for received packets
  mlxsw: reg: Add link aggregation configuration registers definitions
  mlxsw: reg: Add definition of LAG unicast record for SFD register
  mlxsw: reg: Add definition of LAG unicast record for SFN register
  mlxsw: spectrum: Implement LAG port join/leave
  mlxsw: spectrum: Implement FDB add/remove/dump for LAG
  mlxsw: spectrum: Implement LAG tx enabled lower state change

 drivers/net/bonding/bond_3ad.c                     |  11 +-
 drivers/net/bonding/bond_main.c                    | 109 ++++--
 drivers/net/ethernet/mellanox/mlxsw/core.c         |  79 ++++-
 drivers/net/ethernet/mellanox/mlxsw/core.h         |  14 +-
 drivers/net/ethernet/mellanox/mlxsw/pci.c          |  17 +-
 drivers/net/ethernet/mellanox/mlxsw/pci.h          |   4 +-
 drivers/net/ethernet/mellanox/mlxsw/reg.h          | 394 ++++++++++++++++++++-
 drivers/net/ethernet/mellanox/mlxsw/spectrum.c     | 366 ++++++++++++++++++-
 drivers/net/ethernet/mellanox/mlxsw/spectrum.h     |  35 +-
 .../ethernet/mellanox/mlxsw/spectrum_switchdev.c   | 182 ++++++++--
 drivers/net/team/team.c                            |  55 ++-
 drivers/net/team/team_mode_activebackup.c          |   1 +
 drivers/net/team/team_mode_broadcast.c             |   1 +
 drivers/net/team/team_mode_loadbalance.c           |   1 +
 drivers/net/team/team_mode_random.c                |   1 +
 drivers/net/team/team_mode_roundrobin.c            |   1 +
 drivers/net/vrf.c                                  |   2 +-
 include/linux/if_team.h                            |   1 +
 include/linux/netdevice.h                          |  56 ++-
 include/net/bonding.h                              |  39 +-
 net/batman-adv/hard-interface.c                    |   3 +-
 net/bridge/br_if.c                                 |   2 +-
 net/core/dev.c                                     |  43 ++-
 net/openvswitch/vport-netdev.c                     |   2 +-
 24 files changed, 1274 insertions(+), 145 deletions(-)

-- 
1.9.3

^ permalink raw reply	[flat|nested] 63+ messages in thread

end of thread, other threads:[~2015-12-02 17:35 UTC | newest]

Thread overview: 63+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-01 13:48 [patch net-next 00/26] bonding/team offload + mlxsw implementation Jiri Pirko
2015-12-01 13:48 ` [patch net-next 01/26] bonding: add 802.3ad support for 100G speeds Jiri Pirko
2015-12-01 13:48 ` [patch net-next 02/26] net: add netif_is_team_master helper Jiri Pirko
2015-12-01 13:48 ` [patch net-next 03/26] net: add netif_is_team_port helper Jiri Pirko
2015-12-01 13:48 ` [patch net-next 04/26] net: add netif_is_lag_master helper Jiri Pirko
2015-12-01 13:48 ` [patch net-next 05/26] net: add netif_is_lag_port helper Jiri Pirko
2015-12-01 13:48 ` [patch net-next 06/26] net: propagate upper priv via netdev_master_upper_dev_link Jiri Pirko
2015-12-01 13:48 ` [patch net-next 07/26] net: add possibility to pass information about upper device via notifier Jiri Pirko
2015-12-02  5:28   ` Or Gerlitz
2015-12-02  7:54     ` Jiri Pirko
2015-12-02  8:17       ` Or Gerlitz
2015-12-02 17:29         ` Jiri Pirko
2015-12-01 13:48 ` [patch net-next 08/26] net: add info struct for LAG changeupper Jiri Pirko
2015-12-02 10:59   ` Nikolay Aleksandrov
2015-12-02 11:06     ` Jiri Pirko
2015-12-02 11:07       ` Nikolay Aleksandrov
2015-12-02 11:11         ` Jiri Pirko
2015-12-01 13:48 ` [patch net-next 09/26] team: fill-up LAG changeupper info struct and pass it along Jiri Pirko
2015-12-02  5:36   ` Or Gerlitz
2015-12-02  7:55     ` Jiri Pirko
2015-12-01 13:48 ` [patch net-next 10/26] bonding: " Jiri Pirko
2015-12-02 11:00   ` Nikolay Aleksandrov
2015-12-02 11:07     ` Jiri Pirko
2015-12-01 13:48 ` [patch net-next 11/26] net: introduce change lower state notifier Jiri Pirko
2015-12-01 13:48 ` [patch net-next 12/26] net: introduce lower state changed info structure for LAG lowers Jiri Pirko
2015-12-01 13:48 ` [patch net-next 13/26] team: rtnl_lock for options set Jiri Pirko
2015-12-01 13:48 ` [patch net-next 14/26] team: implement lower state change propagation Jiri Pirko
2015-12-01 13:48 ` [patch net-next 15/26] bonding: allow notifications for bond_set_slave_link_state Jiri Pirko
2015-12-02 11:27   ` Nikolay Aleksandrov
2015-12-02 11:48     ` Jiri Pirko
2015-12-01 13:48 ` [patch net-next 16/26] bonding: implement lower state change propagation Jiri Pirko
2015-12-02 11:40   ` Nikolay Aleksandrov
2015-12-02 11:47     ` Nikolay Aleksandrov
2015-12-02 11:56     ` Jiri Pirko
2015-12-01 13:48 ` [patch net-next 17/26] bonding: set inactive flags on release Jiri Pirko
2015-12-01 13:48 ` [patch net-next 18/26] mlxsw: spectrum: Add set_rx_mode ndo stub Jiri Pirko
2015-12-01 13:48 ` [patch net-next 19/26] mlxsw: core: Add support for packets received from LAG port Jiri Pirko
2015-12-01 13:48 ` [patch net-next 20/26] mlxsw: pci: Implement LAG processing for received packets Jiri Pirko
2015-12-01 13:48 ` [patch net-next 21/26] mlxsw: reg: Add link aggregation configuration registers definitions Jiri Pirko
2015-12-01 13:49 ` [patch net-next 22/26] mlxsw: reg: Add definition of LAG unicast record for SFD register Jiri Pirko
2015-12-01 13:49 ` [patch net-next 23/26] mlxsw: reg: Add definition of LAG unicast record for SFN register Jiri Pirko
2015-12-01 13:49 ` [patch net-next 24/26] mlxsw: spectrum: Implement LAG port join/leave Jiri Pirko
2015-12-02  5:47   ` Or Gerlitz
2015-12-02  7:57     ` Jiri Pirko
2015-12-02 17:30     ` David Miller
2015-12-02 17:35       ` Jiri Pirko
2015-12-02 14:01   ` Andy Gospodarek
2015-12-02 14:10     ` Jiri Pirko
2015-12-02 14:26       ` Andy Gospodarek
2015-12-02 15:28         ` Jiri Pirko
2015-12-01 13:49 ` [patch net-next 25/26] mlxsw: spectrum: Implement FDB add/remove/dump for LAG Jiri Pirko
2015-12-01 13:49 ` [patch net-next 26/26] mlxsw: spectrum: Implement LAG tx enabled lower state change Jiri Pirko
2015-12-01 14:43 ` [patch net-next 00/26] bonding/team offload + mlxsw implementation Jiri Pirko
2015-12-01 15:06   ` Or Gerlitz
2015-12-01 15:12     ` Jiri Pirko
2015-12-01 16:35       ` Or Gerlitz
2015-12-01 16:47         ` Jiri Pirko
2015-12-02  5:53           ` Or Gerlitz
2015-12-02  7:58             ` Jiri Pirko
2015-12-02  8:21               ` Or Gerlitz
2015-12-02  8:25                 ` Jiri Pirko
2015-12-02  8:25               ` Or Gerlitz
2015-12-02 15:27             ` Andrew Lunn

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.