git: a69b6af2024f - main - ibcore: Introduce enum ib_raw_packet_caps from Linux 4.11

From: Ka Ho Ng <khng_at_FreeBSD.org>
Date: Sat, 28 Oct 2023 21:02:19 UTC
The branch main has been updated by khng:

URL: https://cgit.FreeBSD.org/src/commit/?id=a69b6af2024fdd501b4bbc674092fb2b6d466364

commit a69b6af2024fdd501b4bbc674092fb2b6d466364
Author:     Ka Ho Ng <khng@FreeBSD.org>
AuthorDate: 2023-10-28 20:57:49 +0000
Commit:     Ka Ho Ng <khng@FreeBSD.org>
CommitDate: 2023-10-28 20:59:14 +0000

    ibcore: Introduce enum ib_raw_packet_caps from Linux 4.11
    
    This enum also exists as enum ibv_raw_packet_caps in libibverbs/verbs.h.
    
    [khng: cherry-picked from Linux
    ebaaee253ad3a3c573ab7d3d77e849056bdfa9ea]
    
    Sponsored by:   Juniper Networks, Inc.
    MFC after:      7 days
    Reviewed by:    kib, zlei
    Differential Revision:  https://reviews.freebsd.org/D42177
---
 sys/ofed/include/rdma/ib_verbs.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/sys/ofed/include/rdma/ib_verbs.h b/sys/ofed/include/rdma/ib_verbs.h
index 406e1bc4d570..78aa0af4fa2b 100644
--- a/sys/ofed/include/rdma/ib_verbs.h
+++ b/sys/ofed/include/rdma/ib_verbs.h
@@ -226,6 +226,7 @@ enum ib_device_cap_flags {
 	IB_DEVICE_MEM_WINDOW_TYPE_2A		= (1 << 23),
 	IB_DEVICE_MEM_WINDOW_TYPE_2B		= (1 << 24),
 	IB_DEVICE_RC_IP_CSUM			= (1 << 25),
+	/* Deprecated. Please use IB_RAW_PACKET_CAP_IP_CSUM. */
 	IB_DEVICE_RAW_IP_CSUM			= (1 << 26),
 	/*
 	 * Devices should set IB_DEVICE_CROSS_CHANNEL if they
@@ -239,6 +240,7 @@ enum ib_device_cap_flags {
 	IB_DEVICE_ON_DEMAND_PAGING		= (1ULL << 31),
 	IB_DEVICE_SG_GAPS_REG			= (1ULL << 32),
 	IB_DEVICE_VIRTUAL_FUNCTION		= (1ULL << 33),
+	/* Deprecated. Please use IB_RAW_PACKET_CAP_SCATTER_FCS. */
 	IB_DEVICE_RAW_SCATTER_FCS		= (1ULL << 34),
 	IB_DEVICE_KNOWSEPOCH			= (1ULL << 35),
 };
@@ -1493,6 +1495,18 @@ struct ib_srq {
 	} ext;
 };
 
+enum ib_raw_packet_caps {
+	/* Strip cvlan from incoming packet and report it in the matching work
+	 * completion is supported.
+	 */
+	IB_RAW_PACKET_CAP_CVLAN_STRIPPING       = (1 << 0),
+	/* Scatter FCS field of an incoming packet to host memory is supported.
+	*/
+	IB_RAW_PACKET_CAP_SCATTER_FCS           = (1 << 1),
+	/* Checksum offloads are supported (for both send and receive). */
+	IB_RAW_PACKET_CAP_IP_CSUM               = (1 << 2),
+};
+
 enum ib_wq_type {
 	IB_WQT_RQ
 };