DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 00/12] net/mlx5: add bonding configuration support
@ 2019-09-25  7:53 Viacheslav Ovsiienko
  2019-09-25  7:53 ` [dpdk-dev] [PATCH 01/12] net/mlx5: move backing PCI device to private context Viacheslav Ovsiienko
                   ` (13 more replies)
  0 siblings, 14 replies; 17+ messages in thread
From: Viacheslav Ovsiienko @ 2019-09-25  7:53 UTC (permalink / raw)
  To: dev; +Cc: matan, rasland

Multiport Mellanox NICs may support the bonding configurations internally.
Let's suppose there is ConnectX-5 NIC with two physical ports, on the host
it presents two PCI physical functions:

- PF0, say with PCI address 0000:82:00.0 and net interface ens1f0
- PF1, say with PCI address 0000:82:00.1 and net interface ens1f1

Also, let's suppose SR-IOV feature is enabled, swithdev mode is engaged,
and there is some set virtual PCI functions and their representor interfaces.
The physical interfaces may be combined into single bond interface,
supported by NIC HW/FW means directly with standard script:

  modprobe bonding miimon=100 mode=4  # 100 ms link check interval, mode - LACP
  ip link set ens3f0 master bond0
  ip link set ens3f0 master bond1

The dedicated Infiniband devices for single ports is destroyed, the new
multiport Infiniband device is created for bond interface and all
representors for both PFs. The unified E-Switch is created either,
and all representor ports belong to the same unified switch domain.

To use the created bond interface with DPDK application both slave
PCI devices must be specified (in whitelist, if any):

  -w 82:00.0,representor=[0-4]
  -w 82:00.1,representor=[0-7]

Representor enumerations follows the VF enumerations in the same way
as for single device. The two PCI devices will be probed, but eth ports
for only one master device and for all representors will be created.
This ports may reference to different rte_pci_dev but share the
same switch domain ID.

The extra devargs specifying configurations must be compatible
(otherwise error on probing will be arisen). For example, it is not
allowed to specify different values of dv_flow_en parameter for
different PCI devices.

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>

Viacheslav Ovsiienko (12):
  net/mlx5: move backing PCI device to private context
  net/mlx5: update PCI address retrieving routine
  net/mlx5: allocate device list explicitly
  net/mlx5: add VF LAG mode bonding device recognition
  net/mlx5: generate bonding device name
  net/mlx5: check the kernel support for VF LAG bonding
  net/mlx5: query vport index match mode and parameters
  net/mlx5: elaborate E-Switch port parameters query
  net/mlx5: update source and destination vport translations
  net/mlx5: extend switch domain searching range
  net/mlx5: update switch port ID in bonding configuration
  net/mlx5: check sibling device configurations mismatch

 drivers/net/mlx5/Makefile       |   5 +
 drivers/net/mlx5/meson.build    |   2 +
 drivers/net/mlx5/mlx5.c         | 359 +++++++++++++++++++++++++++++++++++++---
 drivers/net/mlx5/mlx5.h         |  23 ++-
 drivers/net/mlx5/mlx5_defs.h    |   4 +
 drivers/net/mlx5/mlx5_ethdev.c  | 128 +++++++-------
 drivers/net/mlx5/mlx5_flow_dv.c |  98 +++++++----
 drivers/net/mlx5/mlx5_prm.h     |   9 +-
 drivers/net/mlx5/mlx5_txq.c     |   2 +-
 9 files changed, 506 insertions(+), 124 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2019-10-01  9:02 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-25  7:53 [dpdk-dev] [PATCH 00/12] net/mlx5: add bonding configuration support Viacheslav Ovsiienko
2019-09-25  7:53 ` [dpdk-dev] [PATCH 01/12] net/mlx5: move backing PCI device to private context Viacheslav Ovsiienko
2019-09-25  7:53 ` [dpdk-dev] [PATCH 02/12] net/mlx5: update PCI address retrieving routine Viacheslav Ovsiienko
2019-09-25  7:53 ` [dpdk-dev] [PATCH 03/12] net/mlx5: allocate device list explicitly Viacheslav Ovsiienko
2019-09-25  7:53 ` [dpdk-dev] [PATCH 04/12] net/mlx5: add VF LAG mode bonding device recognition Viacheslav Ovsiienko
2019-09-30 10:34   ` Ferruh Yigit
2019-10-01  9:02     ` Slava Ovsiienko
2019-09-25  7:53 ` [dpdk-dev] [PATCH 05/12] net/mlx5: generate bonding device name Viacheslav Ovsiienko
2019-09-25  7:53 ` [dpdk-dev] [PATCH 06/12] net/mlx5: check the kernel support for VF LAG bonding Viacheslav Ovsiienko
2019-09-25  7:53 ` [dpdk-dev] [PATCH 07/12] net/mlx5: query vport index match mode and parameters Viacheslav Ovsiienko
2019-09-25  7:53 ` [dpdk-dev] [PATCH 08/12] net/mlx5: elaborate E-Switch port parameters query Viacheslav Ovsiienko
2019-09-25  7:53 ` [dpdk-dev] [PATCH 09/12] net/mlx5: update source and destination vport translations Viacheslav Ovsiienko
2019-09-25  7:53 ` [dpdk-dev] [PATCH 10/12] net/mlx5: extend switch domain searching range Viacheslav Ovsiienko
2019-09-25  7:53 ` [dpdk-dev] [PATCH 11/12] net/mlx5: update switch port ID in bonding configuration Viacheslav Ovsiienko
2019-09-25  7:53 ` [dpdk-dev] [PATCH 12/12] net/mlx5: check sibling device configurations mismatch Viacheslav Ovsiienko
2019-09-25 10:29 ` [dpdk-dev] [PATCH 00/12] net/mlx5: add bonding configuration support Matan Azrad
2019-09-29 11:47 ` Raslan Darawsheh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).