mbox

[pull,request,net-next,V2,00/12] Mellanox, mlx5 updates 2017-11-04

Message ID 20171105043507.10274-1-saeedm@mellanox.com
State Accepted, archived
Delegated to: David Miller
Headers show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2017-11-04

Message

Saeed Mahameed Nov. 5, 2017, 4:34 a.m. UTC
Hi Dave,

The following series provides updates for mlx5 driver which includes
dscp to priority mapping support and some other misc small changes.

For extra information please see tag log below.

Please Pull and let me know if ther's any problem.

V1->V2:
	- Add missing Reviewed-by tags.

Thanks,
Saeed.

---

The following changes since commit 27c565ae9d554fa1c00c799754cff43476c8d3b5:

  ipv6: remove IN6_ADDR_HSIZE from addrconf.h (2017-11-05 09:17:27 +0900)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2017-11-04

for you to fetch changes up to 0088cbbc4b66b287132a8a04b3e2509d44a6387c:

  net/mlx5e: Enable CQE based moderation on TX CQ (2017-11-04 21:27:15 -0700)

----------------------------------------------------------------
mlx5-updates-2017-11-04

This series includes:

From Huy: dscp to priority mapping for Ethernet packet.

===================================================
First six patches enable differentiated services code point (dscp) to
priority mapping for Ethernet packet. Once this feature is
enabled, the packet is routed to the corresponding priority based on its
dscp. User can combine this feature with priority flow control (pfc)
feature to have priority flow control based on the dscp.

Firmware interface:
Mellanox firmware provides two control knobs for this feature:
  QPTS register allow changing the trust state between dscp and
  pcp mode. The default is pcp mode. Once in dscp mode, firmware will
  route the packet based on its dscp value if the dscp field exists.

  QPDPM register allow mapping a specific dscp (0 to 63) to a
  specific priority (0 to 7). By default, all the dscps are mapped to
  priority zero.

Software interface:
This feature is controlled via application priority TLV. IEEE
specification P802.1Qcd/D2.1 defines priority selector id 5 for
application priority TLV. This APP TLV selector defines DSCP to priority
map. This APP TLV can be sent by the switch or can be set locally using
software such as lldptool. In mlx5 drivers, we add the support for net
dcb's getapp and setapp call back. Mlx5 driver only handles the selector
id 5 application entry (dscp application priority application entry).
If user sends multiple dscp to priority APP TLV entries on the same
dscp, the last sent one will take effect. All the previous sent will be
deleted.

The firmware trust state (in QPTS register) is changed based on the
number of dscp to priority application entries. When the first dscp to
priority application entry is added by the user, the trust state is
changed to dscp. When the last dscp to priority application entry is
deleted by the user, the trust state is changed to pcp.

When the port is in DSCP trust state, the transmit queue is selected
based on the dscp of the skb.

When the port is in DSCP trust state and vport inline mode is not NONE,
firmware requires mlx5 driver to copy the IP header to the
wqe ethernet segment inline header if the skb has it.
This is done by changing the transmit queue sq's min inline mode to L3.
Note that the min inline mode of sqs that belong to other features
such as xdpsq, icosq are not modified.
===================================================

Plus to the dscp series, some small misc changes are include as well:

From Inbar, Ethtool msglvl support and some debug prints in DCBNL logic
From Or Gerlitz, Enlarge the NIC TC offload table size
From Rabie, Initialize destination_flow struct to 0
From Feras, Add inner TTC table to IPoIB flow steering
From Tal, Enable CQE based moderation on TX CQ

Thanks,
Saeed.

----------------------------------------------------------------
Feras Daoud (1):
      net/mlx5e: IPoIB, Add inner TTC table to IPoIB flow steering

Gal Pressman (1):
      net/mlx5e: Add support for ethtool msglvl support

Huy Nguyen (6):
      net/dcb: Add dscp to priority selector type
      net/mlx5: QCAM register firmware command support
      net/mlx5: Add MLX5_SET16 and MLX5_GET16
      net/mlx5: QPTS and QPDPM register firmware command support
      net/mlx5e: Add dcbnl dscp to priority support
      net/mlx5e: Support DSCP trust state to Ethernet's IP packet on SQ

Inbar Karmy (1):
      net/mlx5e: DCBNL, Add debug messages log

Or Gerlitz (1):
      net/mlx5: Enlarge the NIC TC offload table size

Rabie Loulou (1):
      net/mlx5: Initialize destination_flow struct to 0

Tal Gilboa (1):
      net/mlx5e: Enable CQE based moderation on TX CQ

 drivers/net/ethernet/mellanox/mlx5/core/en.h       |  39 ++-
 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c  |  10 +-
 .../net/ethernet/mellanox/mlx5/core/en_common.c    |  12 +
 drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c | 265 ++++++++++++++++++++-
 .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |  52 +++-
 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c    |  12 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  59 +++--
 drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c |   8 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    |  15 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_tx.c    |  24 +-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |   2 +-
 .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |   6 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |   4 +-
 drivers/net/ethernet/mellanox/mlx5/core/fw.c       |  10 +
 .../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c  |  12 +-
 .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |   2 +
 drivers/net/ethernet/mellanox/mlx5/core/port.c     | 111 +++++++++
 include/linux/mlx5/device.h                        |  31 +++
 include/linux/mlx5/driver.h                        |   9 +
 include/linux/mlx5/mlx5_ifc.h                      |  60 ++++-
 include/linux/mlx5/port.h                          |   5 +
 include/uapi/linux/dcbnl.h                         |   1 +
 22 files changed, 696 insertions(+), 53 deletions(-)

Comments

David Miller Nov. 5, 2017, 2:25 p.m. UTC | #1
From: Saeed Mahameed <saeedm@mellanox.com>
Date: Sat,  4 Nov 2017 21:34:55 -0700

> The following series provides updates for mlx5 driver which includes
> dscp to priority mapping support and some other misc small changes.
> 
> For extra information please see tag log below.
> 
> Please Pull and let me know if ther's any problem.
> 
> V1->V2:
> 	- Add missing Reviewed-by tags.

Pulled, thank you.