[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1422974919-28084-1-git-send-email-ogerlitz@mellanox.com>
Date: Tue, 3 Feb 2015 16:48:28 +0200
From: Or Gerlitz <ogerlitz@...lanox.com>
To: "David S. Miller" <davem@...emloft.net>
Cc: netdev@...r.kernel.org, Roland Dreier <roland@...nel.org>,
Amir Vadai <amirv@...lanox.com>, Tal Alon <talal@...lanox.com>,
Or Gerlitz <ogerlitz@...lanox.com>
Subject: [PATCH 00/10] Add HA and LAG support to mlx4 RoCE and SRIOV services
Hi Dave,
This series takes advanges of bonding mlx4 Ethernet devices to support
a model of High-Availability and Link Aggregation for more environments.
The mlx4 driver reacts on netdev events generated by bonding when
slave state changes happen by programming a HW V2P (Virt-to-Phys)
port table. Bonding was extended to expose these state changes
through netdev events.
When an mlx4 interface such as the mlx4 IB/RoCE driver is subject to
this policy, QPs are created over virtual ports which are mapped
to one of the two physical ports. When a failure happens, the
re-programming of the V2P table allows traffic to keep flowing.
The mlx4 Ethernet driver interfaces are not subject to this
policy and act as usual.
A 2nd use-case for this model would be to add HA and Link Aggregation
support to single ported mlx4 Ethernet VFs. In this case, the PF Ethernet
intrfaces are bonded, all the VFs see single port devices (which is
supported already today), and VF QPs are subject to V2P.
Moni and Or.
Moni Shoua (10):
net/core: Add event for a change in slave state
net/bonding: Move slave state changes to a helper function
net/bonding: Notify state change on slaves
net/mlx4_core: Port aggregation low level interface
net/mlx4_core: Port aggregation upper layer interface
net/mlx4_en: Port aggregation configuration
IB/mlx4: Reuse mlx4_mac_to_u64()
IB/mlx4: Add port aggregation support
IB/mlx4: Create mirror flows in port aggregation mode
IB/mlx4: Load balance ports in port aggregation mode
drivers/infiniband/hw/mlx4/ah.c | 1 +
drivers/infiniband/hw/mlx4/main.c | 161 ++++++++++++++++--
drivers/infiniband/hw/mlx4/mlx4_ib.h | 17 ++-
drivers/infiniband/hw/mlx4/qp.c | 31 +++--
drivers/net/bonding/bond_main.c | 106 +++++++++---
drivers/net/ethernet/mellanox/mlx4/cmd.c | 9 +
drivers/net/ethernet/mellanox/mlx4/en_main.c | 8 +
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 176 ++++++++++++++++++++
drivers/net/ethernet/mellanox/mlx4/en_resources.c | 8 +-
drivers/net/ethernet/mellanox/mlx4/fw.c | 56 ++++++-
drivers/net/ethernet/mellanox/mlx4/intf.c | 54 ++++++
drivers/net/ethernet/mellanox/mlx4/main.c | 89 ++++++++++
drivers/net/ethernet/mellanox/mlx4/mlx4.h | 3 +
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 5 +
drivers/net/ethernet/mellanox/mlx4/qp.c | 2 +
.../net/ethernet/mellanox/mlx4/resource_tracker.c | 3 +
include/linux/mlx4/cmd.h | 7 +
include/linux/mlx4/device.h | 11 +-
include/linux/mlx4/driver.h | 19 ++
include/linux/mlx4/qp.h | 1 +
include/linux/netdevice.h | 15 ++
include/net/bonding.h | 17 ++
net/core/dev.c | 20 +++
net/core/rtnetlink.c | 1 +
24 files changed, 756 insertions(+), 64 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists