Hi Dave, This series includes updates for mlx5 driver, for full information please see tag log message below.
The series doesn't cause any conflict with Andy's "net: create dynamic software irq moderation library". Both merge together seamlessly. Please pull and let me know if there's any problem. Thanks, Saeed. --- The following changes since commit f4803f1b73f877a571be4c8e531dfcf190acc691: net: tipc: remove unused hardirq.h (2018-01-08 20:59:25 -0500) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2018-01-08 for you to fetch changes up to b8a0dbe3a90b2debd72cd9a304eacac55c44e5a4: net/mlx5e: E-switch, Add steering drop counters (2018-01-09 07:40:48 +0200) ---------------------------------------------------------------- mlx5-updates-2018-01-08 Four patches from Or that add Hairpin support to mlx5: =========================================================== From: Or Gerlitz <ogerl...@mellanox.com> We refer the ability of NIC HW to fwd packet received on one port to the other port (also from a port to itself) as hairpin. The application API is based on ingress tc/flower rules set on the NIC with the mirred redirect action. Other actions can apply to packets during the redirect. Hairpin allows to offload the data-path of various SW DDoS gateways, load-balancers, etc to HW. Packets go through all the required processing in HW (header re-write, encap/decap, push/pop vlan) and then forwarded, CPU stays at practically zero usage. HW Flow counters are used by the control plane for monitoring and accounting. Hairpin is implemented by pairing a receive queue (RQ) to send queue (SQ). All the flows that share <recv NIC, mirred NIC> are redirected through the same hairpin pair. Currently, only header-rewrite is supported as a packet modification action. I'd like to thanks Elijah Shakkour <elij...@mellanox.com> for implementing this functionality on HW simulator, before it was avail in the FW so the driver code could be tested early. =========================================================== >From Feras three patches that provide very small changes that allow IPoIB to support RX timestamping for child interfaces, simply by hooking the mlx5e timestamping PTP ioctl to IPoIB child interface netdev profile. One patch from Gal to fix a spilling mistake. Two patches from Eugenia adds drop counters to VF statistics to be reported as part of VF statistics in netlink (iproute2) and implemented them in mlx5 eswitch. ---------------------------------------------------------------- Eugenia Emantayev (2): net/core: Add drop counters to VF statistics net/mlx5e: E-switch, Add steering drop counters Feras Daoud (3): net/mlx5e: IPoIB, Use correct timestamp in child receive flow net/mlx5e: IPoIB, Add PTP ioctl support for child interface net/mlx5e: IPoIB, Add ethtool support to get child time stamping parameters Gal Pressman (1): net/mlx5e: IPoIB, Fix spelling mistake "functionts" -> "functions" Or Gerlitz (4): net/mlx5: Add hairpin definitions to the FW API net/mlx5: Hairpin pair core object setup net/mlx5e: Basic setup of hairpin object net/mlx5e: Support offloading TC NIC hairpin flows drivers/net/ethernet/mellanox/mlx5/core/en.h | 1 + drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 7 +- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 280 ++++++++++++++++++++- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 99 +++++++- drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 7 + drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 2 + .../net/ethernet/mellanox/mlx5/core/fs_counters.c | 6 + .../ethernet/mellanox/mlx5/core/ipoib/ethtool.c | 1 + .../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 3 +- .../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.h | 3 +- .../ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c | 7 + drivers/net/ethernet/mellanox/mlx5/core/transobj.c | 184 ++++++++++++++ include/linux/if_link.h | 2 + include/linux/mlx5/mlx5_ifc.h | 43 +++- include/linux/mlx5/transobj.h | 19 ++ include/uapi/linux/if_link.h | 2 + net/core/rtnetlink.c | 10 +- 17 files changed, 649 insertions(+), 27 deletions(-)