All of lore.kernel.org
 help / color / mirror / Atom feed
* [pull request][net-next 00/12] Mellanox, mlx5 updates 2017-11-04
@ 2017-11-04  8:50 Saeed Mahameed
  2017-11-04  8:50 ` [net-next 01/12] net/dcb: Add dscp to priority selector type Saeed Mahameed
                   ` (11 more replies)
  0 siblings, 12 replies; 20+ messages in thread
From: Saeed Mahameed @ 2017-11-04  8:50 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Saeed Mahameed

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.

Thanks,
Saeed.

---

The following changes since commit 6ee79b6ebf6613f1c5bf2be0c3dca4e51817f2ca:

  Merge branch 'net-mini_Qdisc' (2017-11-03 21:57:35 +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 a5b2e77eab21e56ec7bb16a0ebc8f0fb18799191:

  net/mlx5e: Enable CQE based moderation on TX CQ (2017-11-04 01:33:48 -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(-)

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

end of thread, other threads:[~2017-11-05  4:20 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-04  8:50 [pull request][net-next 00/12] Mellanox, mlx5 updates 2017-11-04 Saeed Mahameed
2017-11-04  8:50 ` [net-next 01/12] net/dcb: Add dscp to priority selector type Saeed Mahameed
2017-11-04  8:50 ` [net-next 02/12] net/mlx5: QCAM register firmware command support Saeed Mahameed
2017-11-04  9:04   ` Or Gerlitz
2017-11-04  8:50 ` [net-next 03/12] net/mlx5: Add MLX5_SET16 and MLX5_GET16 Saeed Mahameed
2017-11-04  9:05   ` Or Gerlitz
2017-11-04  9:35     ` David Miller
2017-11-04 12:55       ` Or Gerlitz
2017-11-05  4:20         ` Saeed Mahameed
2017-11-04  8:50 ` [net-next 04/12] net/mlx5: QPTS and QPDPM register firmware command support Saeed Mahameed
2017-11-04  9:06   ` Or Gerlitz
2017-11-04  8:50 ` [net-next 05/12] net/mlx5e: Add dcbnl dscp to priority support Saeed Mahameed
2017-11-04  8:50 ` [net-next 06/12] net/mlx5e: Support DSCP trust state to Ethernet's IP packet on SQ Saeed Mahameed
2017-11-04  9:07   ` Or Gerlitz
2017-11-04  8:50 ` [net-next 07/12] net/mlx5e: Add support for ethtool msglvl support Saeed Mahameed
2017-11-04  8:50 ` [net-next 08/12] net/mlx5e: DCBNL, Add debug messages log Saeed Mahameed
2017-11-04  8:50 ` [net-next 09/12] net/mlx5: Enlarge the NIC TC offload table size Saeed Mahameed
2017-11-04  8:50 ` [net-next 10/12] net/mlx5: Initialize destination_flow struct to 0 Saeed Mahameed
2017-11-04  8:50 ` [net-next 11/12] net/mlx5e: IPoIB, Add inner TTC table to IPoIB flow steering Saeed Mahameed
2017-11-04  8:50 ` [net-next 12/12] net/mlx5e: Enable CQE based moderation on TX CQ Saeed Mahameed

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.