tree 4e5a98a04f4bde90831eb64508c28a7fe27ab7a4
parent acfb98b99647aa7dc7c111db52d5f4199d2b641f
parent 7b3722fa9ef647eb1ae6a60a5d46f7c67ab09a33
author David S. Miller <davem@davemloft.net> 1504156477 -0700
committer David S. Miller <davem@davemloft.net> 1504156477 -0700
mergetag object 7b3722fa9ef647eb1ae6a60a5d46f7c67ab09a33
 type commit
 tag mlx5-GRE-Offload
 tagger Saeed Mahameed <saeedm@mellanox.com> 1504133679 +0300
 
 mlx5-updates-2017-08-31 (GRE Offloads support)
 
 This series provides the support for MPLS RSS and GRE TX offloads and
 RSS support.
 
 The first patch from Gal and Ariel provides the mlx5 driver support for
 ConnectX capability to perform IP version identification and matching in
 order to distinguish between IPv4 and IPv6 without the need to specify the
 encapsulation type, thus perform RSS in MPLS automatically without
 specifying MPLS ethertyoe. This patch will also serve for inner GRE IPv4/6
 classification for inner GRE RSS.
 
 2nd patch from Gal, Adds the TX offloads support for GRE tunneled packets,
 by reporting the needed netdev features.
 
 3rd patch from Gal, Adds GRE inner RSS support by creating the needed device
 resources (Steering Tables/rules and traffic classifiers) to Match GRE traffic
 and perform RSS hashing on the inner headers.
 
 Improvement:
 Testing 8 TCP streams bandwidth over GRE:
     System: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
     NIC: Mellanox Technologies MT28800 Family [ConnectX-5 Ex]
     Before: 21.3 Gbps (Single RQ)
     Now   : 90.5 Gbps (RSS spread on 8 RQs)
 
 Thanks,
 Saeed.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJZp0JUAAoJEEg/ir3gV/o+nxkH+QFnIv26BZ/0aNQFyNJTRUqg
 cGLIjCnlPUwVoy5U5zOIFTCdgGR/PUrzFcSa/qv9hjhprsvfs37V1R9B/2vVeJbr
 TdEzvdIYnMHY+EhafkPWhuaUYO/Ng/W8VSnxXgJw2mpWL1wN4wF6c3f0X/YuG0Sa
 uNAEmFe26TItD7P+vIzV8yQB/3tWZjQRbK2HcrHyd4qmuLjI9yVXsuyXzedJ8Ccn
 YJAfKcshULeWRwMXh/QH+MYYtWbQ8FRKMhxOdTpeC//803xC2E1XFBHsRu8io1HA
 kWJYDsFLC+v3vYjZ0JK9IAU4H9UBKh6lnd8BrjtbjJg0nuUJ3K3Lc80UZU/tEhU=
 =L5m4
 -----END PGP SIGNATURE-----

Merge tag 'mlx5-GRE-Offload' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux

Saeed Mahameed says:

====================
mlx5-updates-2017-08-31 (GRE Offloads support)

This series provides the support for MPLS RSS and GRE TX offloads and
RSS support.

The first patch from Gal and Ariel provides the mlx5 driver support for
ConnectX capability to perform IP version identification and matching in
order to distinguish between IPv4 and IPv6 without the need to specify the
encapsulation type, thus perform RSS in MPLS automatically without
specifying MPLS ethertyoe. This patch will also serve for inner GRE IPv4/6
classification for inner GRE RSS.

2nd patch from Gal, Adds the TX offloads support for GRE tunneled packets,
by reporting the needed netdev features.

3rd patch from Gal, Adds GRE inner RSS support by creating the needed device
resources (Steering Tables/rules and traffic classifiers) to Match GRE traffic
and perform RSS hashing on the inner headers.

Improvement:
Testing 8 TCP streams bandwidth over GRE:
    System: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
    NIC: Mellanox Technologies MT28800 Family [ConnectX-5 Ex]
    Before: 21.3 Gbps (Single RQ)
    Now   : 90.5 Gbps (RSS spread on 8 RQs)
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
