public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Or Gerlitz <ogerlitz@mellanox•com>
To: "David S. Miller" <davem@davemloft•net>
Cc: <netdev@vger•kernel.org>, Roland Dreier <roland@kernel•org>,
	Amir Vadai <amirv@mellanox•com>, Tal Alon <talal@mellanox•com>,
	Jiri Pirko <jiri@resnulli•us>,
	Jay Vosburgh <j.vosburgh@gmail•com>
Subject: Re: [PATCH 00/10] Add HA and LAG support to mlx4 RoCE and SRIOV services
Date: Tue, 3 Feb 2015 16:59:19 +0200	[thread overview]
Message-ID: <54D0E247.5010504@mellanox.com> (raw)
In-Reply-To: <1422974919-28084-1-git-send-email-ogerlitz@mellanox.com>

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(-)
>

  parent reply	other threads:[~2015-02-03 15:03 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-03 14:48 [PATCH 00/10] Add HA and LAG support to mlx4 RoCE and SRIOV services Or Gerlitz
2015-02-03 14:48 ` [PATCH net-next 01/10] net/core: Add event for a change in slave state Or Gerlitz
2015-02-03 14:48 ` [PATCH net-next 02/10] net/bonding: Move slave state changes to a helper function Or Gerlitz
2015-02-03 14:48 ` [PATCH net-next 03/10] net/bonding: Notify state change on slaves Or Gerlitz
2015-02-03 16:09   ` Nikolay Aleksandrov
2015-02-03 17:17     ` Moni Shoua
2015-02-03 14:48 ` [PATCH net-next 04/10] net/mlx4_core: Port aggregation low level interface Or Gerlitz
2015-02-03 14:48 ` [PATCH net-next 05/10] net/mlx4_core: Port aggregation upper layer interface Or Gerlitz
2015-02-03 14:48 ` [PATCH net-next 06/10] net/mlx4_en: Port aggregation configuration Or Gerlitz
2015-02-03 14:48 ` [PATCH 07/10] IB/mlx4: reuse mlx4_mac_to_u64() Or Gerlitz
2015-02-03 14:48 ` [PATCH net-next 07/10] IB/mlx4: Reuse mlx4_mac_to_u64() Or Gerlitz
2015-02-03 14:48 ` [PATCH net-next 08/10] IB/mlx4: Add port aggregation support Or Gerlitz
2015-02-03 14:48 ` [PATCH net-next 09/10] IB/mlx4: Create mirror flows in port aggregation mode Or Gerlitz
2015-02-03 14:48 ` [PATCH net-next 10/10] IB/mlx4: Load balance ports " Or Gerlitz
2015-02-03 14:59 ` Or Gerlitz [this message]
2015-02-05  0:14 ` [PATCH 00/10] Add HA and LAG support to mlx4 RoCE and SRIOV services David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54D0E247.5010504@mellanox.com \
    --to=ogerlitz@mellanox$(echo .)com \
    --cc=amirv@mellanox$(echo .)com \
    --cc=davem@davemloft$(echo .)net \
    --cc=j.vosburgh@gmail$(echo .)com \
    --cc=jiri@resnulli$(echo .)us \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=roland@kernel$(echo .)org \
    --cc=talal@mellanox$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox