|
@@ -490,6 +490,7 @@ static inline struct rdma_hw_stats *rdma_alloc_hw_stats_struct(
|
|
|
#define RDMA_CORE_CAP_PROT_IWARP 0x00400000
|
|
|
#define RDMA_CORE_CAP_PROT_ROCE_UDP_ENCAP 0x00800000
|
|
|
#define RDMA_CORE_CAP_PROT_RAW_PACKET 0x01000000
|
|
|
+#define RDMA_CORE_CAP_PROT_USNIC 0x02000000
|
|
|
|
|
|
#define RDMA_CORE_PORT_IBA_IB (RDMA_CORE_CAP_PROT_IB \
|
|
|
| RDMA_CORE_CAP_IB_MAD \
|
|
@@ -515,6 +516,8 @@ static inline struct rdma_hw_stats *rdma_alloc_hw_stats_struct(
|
|
|
|
|
|
#define RDMA_CORE_PORT_RAW_PACKET (RDMA_CORE_CAP_PROT_RAW_PACKET)
|
|
|
|
|
|
+#define RDMA_CORE_PORT_USNIC (RDMA_CORE_CAP_PROT_USNIC)
|
|
|
+
|
|
|
struct ib_port_attr {
|
|
|
u64 subnet_prefix;
|
|
|
enum ib_port_state state;
|
|
@@ -2350,6 +2353,11 @@ static inline bool rdma_protocol_raw_packet(const struct ib_device *device, u8 p
|
|
|
return device->port_immutable[port_num].core_cap_flags & RDMA_CORE_CAP_PROT_RAW_PACKET;
|
|
|
}
|
|
|
|
|
|
+static inline bool rdma_protocol_usnic(const struct ib_device *device, u8 port_num)
|
|
|
+{
|
|
|
+ return device->port_immutable[port_num].core_cap_flags & RDMA_CORE_CAP_PROT_USNIC;
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* rdma_cap_ib_mad - Check if the port of a device supports Infiniband
|
|
|
* Management Datagrams.
|