git: 550f632c11c1 - stable/13 - ibcore: Introduce enum ib_raw_packet_caps from Linux 4.11

From: Ka Ho Ng <khng_at_FreeBSD.org>
Date: Sat, 04 Nov 2023 19:25:09 UTC
The branch stable/13 has been updated by khng:

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

commit 550f632c11c1dabfea2dd8f40a9e821f6118bbfe
Author:     Ka Ho Ng <khng@FreeBSD.org>
AuthorDate: 2023-10-28 20:57:49 +0000
Commit:     Ka Ho Ng <khng@FreeBSD.org>
CommitDate: 2023-11-04 19:24:36 +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
    
    (cherry picked from commit a69b6af2024fdd501b4bbc674092fb2b6d466364)
---
 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 223ba679485c..1d6f26febfa2 100644
--- a/sys/ofed/include/rdma/ib_verbs.h
+++ b/sys/ofed/include/rdma/ib_verbs.h
@@ -213,6 +213,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
@@ -226,6 +227,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),
 };
@@ -1501,6 +1503,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
 };