On Mon, 2018-02-26 at 12:36 -0800, Saeed Mahameed wrote: > Hi Doug and Dave, > > This series includes shared code updates for mlx5 core driver for both > netdev and rdma subsystems. This series should be pulled to both > trees so we can continue netdev and rdma specific submissions separately. > > For more information please see tag log below. > > P.S. We expect one more shared code pull requests. > > Since this series contains more work on RDMA than mlx5 eswitch, I would > like to get Doug's or Jason's approval before pulling it in. This series looks OK to me, I'm good to pull it in. > The series doesn't cause any conflict with the latest mlx5 net fixes > series. > > Thanks, > Saeed. > > --- > > The following changes since commit 388ca8be00370db132464e27f745b8a0add19fcb: > > IB/mlx5: Implement fragmented completion queue (CQ) (2018-02-15 00:30:03 -0800) > > are available in the Git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux.git tags/mlx5-updates-2018-02-23 > > for you to fetch changes up to ec9c2fb8ceb5b514c4820f732537cb2982de0620: > > IB/mlx5: Disable self loopback check when in switchdev mode (2018-02-23 12:36:39 -0800) > > ---------------------------------------------------------------- > mlx5-update-2018-02-23 (IB representors) > > From: Mark Bloch <markb@xxxxxxxxxxxx> > ========= > Add IB representor when in switchdev mode > > The following series adds support for an IB (RAW Ethernet only) device > representor which is created when the user switches to switchdev mode. > > Today when switching to switchdev mode the only representors which are > created are net devices. Each netdev is a representor of a virtual > function and any data sent via the representor is received on the virtual > function, and any data sent via the virtual function is received by the > representor. > > For the mlx5 driver the main use of this functionality is to be able to > use Open vSwitch on the hypervisor in order to manage/control traffic > from/to the virtual functions. Open vSwitch can also work with DPDK > devices and not just net devices, this series exposes an IB device, which > Mellanox PMD driver uses, which then can be used by Open vSwitch DPDK. > > An IB device representor exposes only RAW Ethernet QP capabilities and > the ability to create flow rules to direct traffic to its RX queues. The > state of the IB device (ACTIVE/DOWN etc..) is based on the state of the > corresponding net device representor. No other RDMA/RoCE functionality is > currently supported and no GID table is exposed. > ========= > > ---------------------------------------------------------------- > Mark Bloch (15): > net/mlx5: E-Switch, Add callback to get representor device > net/mlx5: E-Switch, Move representors definition to a global scope > net/mlx5: E-Switch, Increase number of FTEs in FDB in switchdev mode > net/mlx5: E-Switch, Optimize HW steering tables in switchdev mode > net/mlx5: E-Switch, Add definition of IB representor > IB/mlx5: Add basic regiser/unregister representors code > IB/mlx5: Allocate flow DB only on PF IB device > IB/mlx5: Add match on vport when in switchdev mode > IB/mlx5: Listen to netdev register/unresiter events in switchdev mode > IB/mlx5: When in switchdev mode, expose only raw packet capabilities > IB/mlx5: Don't expose MR cache in switchdev mode > IB/mlx5: E-Switch, Add rule to forward traffic to vport > IB/mlx5: Add proper representors support > net/mlx5: E-Switch, Reload IB interface when switching devlink modes > IB/mlx5: Disable self loopback check when in switchdev mode > > drivers/infiniband/hw/mlx5/Makefile | 1 + > drivers/infiniband/hw/mlx5/ib_rep.c | 189 +++++++++++ > drivers/infiniband/hw/mlx5/ib_rep.h | 72 ++++ > drivers/infiniband/hw/mlx5/main.c | 361 ++++++++++++++++----- > drivers/infiniband/hw/mlx5/mlx5_ib.h | 32 +- > drivers/infiniband/hw/mlx5/mr.c | 5 +- > drivers/infiniband/hw/mlx5/qp.c | 24 ++ > drivers/net/ethernet/mellanox/mlx5/core/dev.c | 8 + > drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 11 + > drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 23 +- > drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 42 +-- > .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 104 ++++-- > .../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 7 +- > include/linux/mlx5/driver.h | 6 + > include/linux/mlx5/eswitch.h | 58 ++++ > 15 files changed, 796 insertions(+), 147 deletions(-) > create mode 100644 drivers/infiniband/hw/mlx5/ib_rep.c > create mode 100644 drivers/infiniband/hw/mlx5/ib_rep.h > create mode 100644 include/linux/mlx5/eswitch.h -- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD
Attachment:
signature.asc
Description: This is a digitally signed message part