[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54D0E247.5010504@mellanox.com>
Date: Tue, 3 Feb 2015 16:59:19 +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>,
Jiri Pirko <jiri@...nulli.us>,
Jay Vosburgh <j.vosburgh@...il.com>
Subject: Re: [PATCH 00/10] Add HA and LAG support to mlx4 RoCE and SRIOV services
On 2/3/2015 4:48 PM, Or Gerlitz wrote:
> Hi Dave,
>
> This series takes advanges of bonding mlx4 Ethernet devices to support
> a model of High-Availability and Link Aggregation for more environments.
+Jay and Jiri, sorry for not adding you guys, guess you are subscribed...
>
> 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