lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ