mlx5e-updates-2018-07-18

This series includes update for mlx5e net device driver.

1) From Feras Daoud, Added the support for firmware log tracing,
first by introducing the firmware API needed for the task and then
For each PF do the following:
    1- Allocate memory for the tracer strings database and read it from the FW to the SW.
    2- Allocate and dma map tracer buffers.

    Traces that will be written into the buffer will be parsed as a group
    of one or more traces, referred to as trace message. The trace message
    represents a C-like printf string.
Once a new trace is available  FW will generate an event indicates new trace/s are
available and the driver will parse them and dump them using tracepoints
event tracing

Enable mlx5 fw tracing by:
echo 1 > /sys/kernel/debug/tracing/events/mlx5/mlx5_fw/enable

Read traces by:
cat /sys/kernel/debug/tracing/trace

2) From Eran Ben Elisha, Support PCIe buffer congestion handling
via Devlink, using the new devlink device parameters API, added the new
parameters:
 - Congestion action
            HW mechanism in the PCIe buffer which monitors the amount of
            consumed PCIe buffer per host.  This mechanism supports the
            following actions in case of threshold overflow:
            - Disabled - NOP (Default)
            - Drop
            - Mark - Mark CE bit in the CQE of received packet
    - Congestion mode
            - Aggressive - Aggressive static trigger threshold (Default)
            - Dynamic - Dynamically change the trigger threshold

3) From Natali, Set ECN for received packets using CQE indication.
Using Eran's congestion settings a user can enable ECN marking, on such case
driver must update ECN CE IP fields when requested by firmware (congestion is sensed).

4) From Roi Dayan, Remove redundant WARN when we cannot find neigh entry

5) From Jianbo Liu, TC double vlan support
- Support offloading tc double vlan headers match
- Support offloading double vlan push/pop tc actions

6) From Boris, re-visit UDP GSO, remove the splitting of UDP_GSO_L4 packets
in the driver, and exposes UDP_GSO_L4 as a PARTIAL_GSO feature.
net/mlx5e: Use PARTIAL_GSO for UDP segmentation

This patch removes the splitting of UDP_GSO_L4 packets in the driver,
and exposes UDP_GSO_L4 as a PARTIAL_GSO feature. Thus, the network stack
is not responsible for splitting the packet into two.

Signed-off-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
5 files changed