diff options
author | Ron Livne <ronli@voltaire.com> | 2008-07-15 02:48:48 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-07-15 02:48:48 -0400 |
commit | 47ee1b9f2e7bf73950602efe0b74fa1a8481f222 (patch) | |
tree | 9ae4012272ccb5524a2826a1593db12dd525bae3 | |
parent | 14cc180f7b032f8484c1a3d0533b1129ffe307fd (diff) |
IB/core: Add support for multicast loopback blocking
This patch also adds a creation flag for QPs,
IB_QP_CREATE_MULTICAST_BLOCK_LOOPBACK, which when set means that
multicast sends from the QP to a group that the QP is attached to will
not be looped back to the QP's receive queue. This can be used to
save receive resources when a consumer does not want a local copy of
multicast traffic; for example IPoIB must waste CPU time throwing away
such local copies of multicast traffic.
This patch also adds a device capability flag that shows whether a
device supports this feature or not.
Signed-off-by: Ron Livne <ronli@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r-- | include/rdma/ib_verbs.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h index 10ebaaae0161..07b41e05565a 100644 --- a/include/rdma/ib_verbs.h +++ b/include/rdma/ib_verbs.h | |||
@@ -104,6 +104,7 @@ enum ib_device_cap_flags { | |||
104 | IB_DEVICE_UD_IP_CSUM = (1<<18), | 104 | IB_DEVICE_UD_IP_CSUM = (1<<18), |
105 | IB_DEVICE_UD_TSO = (1<<19), | 105 | IB_DEVICE_UD_TSO = (1<<19), |
106 | IB_DEVICE_MEM_MGT_EXTENSIONS = (1<<21), | 106 | IB_DEVICE_MEM_MGT_EXTENSIONS = (1<<21), |
107 | IB_DEVICE_BLOCK_MULTICAST_LOOPBACK = (1<<22), | ||
107 | }; | 108 | }; |
108 | 109 | ||
109 | enum ib_atomic_cap { | 110 | enum ib_atomic_cap { |
@@ -555,7 +556,8 @@ enum ib_qp_type { | |||
555 | }; | 556 | }; |
556 | 557 | ||
557 | enum ib_qp_create_flags { | 558 | enum ib_qp_create_flags { |
558 | IB_QP_CREATE_IPOIB_UD_LSO = 1 << 0, | 559 | IB_QP_CREATE_IPOIB_UD_LSO = 1 << 0, |
560 | IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK = 1 << 1, | ||
559 | }; | 561 | }; |
560 | 562 | ||
561 | struct ib_qp_init_attr { | 563 | struct ib_qp_init_attr { |