diff options
Diffstat (limited to 'include/rdma')
| -rw-r--r-- | include/rdma/ib_addr.h | 43 | ||||
| -rw-r--r-- | include/rdma/ib_cache.h | 2 | ||||
| -rw-r--r-- | include/rdma/ib_cm.h | 2 | ||||
| -rw-r--r-- | include/rdma/ib_fmr_pool.h | 4 | ||||
| -rw-r--r-- | include/rdma/ib_mad.h | 17 | ||||
| -rw-r--r-- | include/rdma/ib_pack.h | 2 | ||||
| -rw-r--r-- | include/rdma/ib_sa.h | 2 | ||||
| -rw-r--r-- | include/rdma/ib_smi.h | 4 | ||||
| -rw-r--r-- | include/rdma/ib_user_cm.h | 2 | ||||
| -rw-r--r-- | include/rdma/ib_user_mad.h | 2 | ||||
| -rw-r--r-- | include/rdma/ib_user_verbs.h | 7 | ||||
| -rw-r--r-- | include/rdma/ib_verbs.h | 149 | ||||
| -rw-r--r-- | include/rdma/iw_cm.h | 2 | ||||
| -rw-r--r-- | include/rdma/rdma_cm.h | 52 | ||||
| -rw-r--r-- | include/rdma/rdma_cm_ib.h | 50 |
15 files changed, 234 insertions, 106 deletions
diff --git a/include/rdma/ib_addr.h b/include/rdma/ib_addr.h index c36750ff6ae8..483057b2f4b4 100644 --- a/include/rdma/ib_addr.h +++ b/include/rdma/ib_addr.h | |||
| @@ -2,29 +2,33 @@ | |||
| 2 | * Copyright (c) 2005 Voltaire Inc. All rights reserved. | 2 | * Copyright (c) 2005 Voltaire Inc. All rights reserved. |
| 3 | * Copyright (c) 2005 Intel Corporation. All rights reserved. | 3 | * Copyright (c) 2005 Intel Corporation. All rights reserved. |
| 4 | * | 4 | * |
| 5 | * This Software is licensed under one of the following licenses: | 5 | * This software is available to you under a choice of one of two |
| 6 | * licenses. You may choose to be licensed under the terms of the GNU | ||
| 7 | * General Public License (GPL) Version 2, available from the file | ||
| 8 | * COPYING in the main directory of this source tree, or the | ||
| 9 | * OpenIB.org BSD license below: | ||
| 6 | * | 10 | * |
| 7 | * 1) under the terms of the "Common Public License 1.0" a copy of which is | 11 | * Redistribution and use in source and binary forms, with or |
| 8 | * available from the Open Source Initiative, see | 12 | * without modification, are permitted provided that the following |
| 9 | * http://www.opensource.org/licenses/cpl.php. | 13 | * conditions are met: |
| 10 | * | 14 | * |
| 11 | * 2) under the terms of the "The BSD License" a copy of which is | 15 | * - Redistributions of source code must retain the above |
| 12 | * available from the Open Source Initiative, see | 16 | * copyright notice, this list of conditions and the following |
| 13 | * http://www.opensource.org/licenses/bsd-license.php. | 17 | * disclaimer. |
| 14 | * | 18 | * |
| 15 | * 3) under the terms of the "GNU General Public License (GPL) Version 2" a | 19 | * - Redistributions in binary form must reproduce the above |
| 16 | * copy of which is available from the Open Source Initiative, see | 20 | * copyright notice, this list of conditions and the following |
| 17 | * http://www.opensource.org/licenses/gpl-license.php. | 21 | * disclaimer in the documentation and/or other materials |
| 18 | * | 22 | * provided with the distribution. |
| 19 | * Licensee has the right to choose one of the above licenses. | ||
| 20 | * | ||
| 21 | * Redistributions of source code must retain the above copyright | ||
| 22 | * notice and one of the license notices. | ||
| 23 | * | ||
| 24 | * Redistributions in binary form must reproduce both the above copyright | ||
| 25 | * notice, one of the license notices in the documentation | ||
| 26 | * and/or other materials provided with the distribution. | ||
| 27 | * | 23 | * |
| 24 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| 25 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| 26 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
| 27 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
| 28 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
| 29 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
| 30 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| 31 | * SOFTWARE. | ||
| 28 | */ | 32 | */ |
| 29 | 33 | ||
| 30 | #if !defined(IB_ADDR_H) | 34 | #if !defined(IB_ADDR_H) |
| @@ -57,6 +61,7 @@ struct rdma_dev_addr { | |||
| 57 | unsigned char dst_dev_addr[MAX_ADDR_LEN]; | 61 | unsigned char dst_dev_addr[MAX_ADDR_LEN]; |
| 58 | unsigned char broadcast[MAX_ADDR_LEN]; | 62 | unsigned char broadcast[MAX_ADDR_LEN]; |
| 59 | enum rdma_node_type dev_type; | 63 | enum rdma_node_type dev_type; |
| 64 | struct net_device *src_dev; | ||
| 60 | }; | 65 | }; |
| 61 | 66 | ||
| 62 | /** | 67 | /** |
diff --git a/include/rdma/ib_cache.h b/include/rdma/ib_cache.h index f179d233ffc3..00a2b8ec327f 100644 --- a/include/rdma/ib_cache.h +++ b/include/rdma/ib_cache.h | |||
| @@ -30,8 +30,6 @@ | |||
| 30 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | 30 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 31 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 31 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 32 | * SOFTWARE. | 32 | * SOFTWARE. |
| 33 | * | ||
| 34 | * $Id: ib_cache.h 1349 2004-12-16 21:09:43Z roland $ | ||
| 35 | */ | 33 | */ |
| 36 | 34 | ||
| 37 | #ifndef _IB_CACHE_H | 35 | #ifndef _IB_CACHE_H |
diff --git a/include/rdma/ib_cm.h b/include/rdma/ib_cm.h index a627c8682d2f..ec7c6d99ed3f 100644 --- a/include/rdma/ib_cm.h +++ b/include/rdma/ib_cm.h | |||
| @@ -31,8 +31,6 @@ | |||
| 31 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | 31 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 32 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 32 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 33 | * SOFTWARE. | 33 | * SOFTWARE. |
| 34 | * | ||
| 35 | * $Id: ib_cm.h 4311 2005-12-05 18:42:01Z sean.hefty $ | ||
| 36 | */ | 34 | */ |
| 37 | #if !defined(IB_CM_H) | 35 | #if !defined(IB_CM_H) |
| 38 | #define IB_CM_H | 36 | #define IB_CM_H |
diff --git a/include/rdma/ib_fmr_pool.h b/include/rdma/ib_fmr_pool.h index 00dadbf94e1d..f62b842e6596 100644 --- a/include/rdma/ib_fmr_pool.h +++ b/include/rdma/ib_fmr_pool.h | |||
| @@ -29,8 +29,6 @@ | |||
| 29 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | 29 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 30 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 30 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 31 | * SOFTWARE. | 31 | * SOFTWARE. |
| 32 | * | ||
| 33 | * $Id: ib_fmr_pool.h 2730 2005-06-28 16:43:03Z sean.hefty $ | ||
| 34 | */ | 32 | */ |
| 35 | 33 | ||
| 36 | #if !defined(IB_FMR_POOL_H) | 34 | #if !defined(IB_FMR_POOL_H) |
| @@ -61,7 +59,7 @@ struct ib_fmr_pool_param { | |||
| 61 | int pool_size; | 59 | int pool_size; |
| 62 | int dirty_watermark; | 60 | int dirty_watermark; |
| 63 | void (*flush_function)(struct ib_fmr_pool *pool, | 61 | void (*flush_function)(struct ib_fmr_pool *pool, |
| 64 | void * arg); | 62 | void *arg); |
| 65 | void *flush_arg; | 63 | void *flush_arg; |
| 66 | unsigned cache:1; | 64 | unsigned cache:1; |
| 67 | }; | 65 | }; |
diff --git a/include/rdma/ib_mad.h b/include/rdma/ib_mad.h index 7228c056b9e9..5f6c40fffcf4 100644 --- a/include/rdma/ib_mad.h +++ b/include/rdma/ib_mad.h | |||
| @@ -32,11 +32,9 @@ | |||
| 32 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | 32 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 33 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 33 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 34 | * SOFTWARE. | 34 | * SOFTWARE. |
| 35 | * | ||
| 36 | * $Id: ib_mad.h 5596 2006-03-03 01:00:07Z sean.hefty $ | ||
| 37 | */ | 35 | */ |
| 38 | 36 | ||
| 39 | #if !defined( IB_MAD_H ) | 37 | #if !defined(IB_MAD_H) |
| 40 | #define IB_MAD_H | 38 | #define IB_MAD_H |
| 41 | 39 | ||
| 42 | #include <linux/list.h> | 40 | #include <linux/list.h> |
| @@ -194,8 +192,7 @@ struct ib_vendor_mad { | |||
| 194 | u8 data[IB_MGMT_VENDOR_DATA]; | 192 | u8 data[IB_MGMT_VENDOR_DATA]; |
| 195 | }; | 193 | }; |
| 196 | 194 | ||
| 197 | struct ib_class_port_info | 195 | struct ib_class_port_info { |
| 198 | { | ||
| 199 | u8 base_version; | 196 | u8 base_version; |
| 200 | u8 class_version; | 197 | u8 class_version; |
| 201 | __be16 capability_mask; | 198 | __be16 capability_mask; |
| @@ -614,11 +611,11 @@ int ib_process_mad_wc(struct ib_mad_agent *mad_agent, | |||
| 614 | * any class specific header, and MAD data area. | 611 | * any class specific header, and MAD data area. |
| 615 | * If @rmpp_active is set, the RMPP header will be initialized for sending. | 612 | * If @rmpp_active is set, the RMPP header will be initialized for sending. |
| 616 | */ | 613 | */ |
| 617 | struct ib_mad_send_buf * ib_create_send_mad(struct ib_mad_agent *mad_agent, | 614 | struct ib_mad_send_buf *ib_create_send_mad(struct ib_mad_agent *mad_agent, |
| 618 | u32 remote_qpn, u16 pkey_index, | 615 | u32 remote_qpn, u16 pkey_index, |
| 619 | int rmpp_active, | 616 | int rmpp_active, |
| 620 | int hdr_len, int data_len, | 617 | int hdr_len, int data_len, |
| 621 | gfp_t gfp_mask); | 618 | gfp_t gfp_mask); |
| 622 | 619 | ||
| 623 | /** | 620 | /** |
| 624 | * ib_is_mad_class_rmpp - returns whether given management class | 621 | * ib_is_mad_class_rmpp - returns whether given management class |
diff --git a/include/rdma/ib_pack.h b/include/rdma/ib_pack.h index f926020d6331..d7fc45c4eba9 100644 --- a/include/rdma/ib_pack.h +++ b/include/rdma/ib_pack.h | |||
| @@ -28,8 +28,6 @@ | |||
| 28 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | 28 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 30 | * SOFTWARE. | 30 | * SOFTWARE. |
| 31 | * | ||
| 32 | * $Id: ib_pack.h 1349 2004-12-16 21:09:43Z roland $ | ||
| 33 | */ | 31 | */ |
| 34 | 32 | ||
| 35 | #ifndef IB_PACK_H | 33 | #ifndef IB_PACK_H |
diff --git a/include/rdma/ib_sa.h b/include/rdma/ib_sa.h index 942692b0b92e..3841c1aff692 100644 --- a/include/rdma/ib_sa.h +++ b/include/rdma/ib_sa.h | |||
| @@ -30,8 +30,6 @@ | |||
| 30 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | 30 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 31 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 31 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 32 | * SOFTWARE. | 32 | * SOFTWARE. |
| 33 | * | ||
| 34 | * $Id: ib_sa.h 2811 2005-07-06 18:11:43Z halr $ | ||
| 35 | */ | 33 | */ |
| 36 | 34 | ||
| 37 | #ifndef IB_SA_H | 35 | #ifndef IB_SA_H |
diff --git a/include/rdma/ib_smi.h b/include/rdma/ib_smi.h index f29af135ba83..aaca0878668f 100644 --- a/include/rdma/ib_smi.h +++ b/include/rdma/ib_smi.h | |||
| @@ -32,11 +32,9 @@ | |||
| 32 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | 32 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 33 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 33 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 34 | * SOFTWARE. | 34 | * SOFTWARE. |
| 35 | * | ||
| 36 | * $Id: ib_smi.h 1389 2004-12-27 22:56:47Z roland $ | ||
| 37 | */ | 35 | */ |
| 38 | 36 | ||
| 39 | #if !defined( IB_SMI_H ) | 37 | #if !defined(IB_SMI_H) |
| 40 | #define IB_SMI_H | 38 | #define IB_SMI_H |
| 41 | 39 | ||
| 42 | #include <rdma/ib_mad.h> | 40 | #include <rdma/ib_mad.h> |
diff --git a/include/rdma/ib_user_cm.h b/include/rdma/ib_user_cm.h index 37650afb982c..bd3d380781e0 100644 --- a/include/rdma/ib_user_cm.h +++ b/include/rdma/ib_user_cm.h | |||
| @@ -29,8 +29,6 @@ | |||
| 29 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | 29 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 30 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 30 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 31 | * SOFTWARE. | 31 | * SOFTWARE. |
| 32 | * | ||
| 33 | * $Id: ib_user_cm.h 4019 2005-11-11 00:33:09Z sean.hefty $ | ||
| 34 | */ | 32 | */ |
| 35 | 33 | ||
| 36 | #ifndef IB_USER_CM_H | 34 | #ifndef IB_USER_CM_H |
diff --git a/include/rdma/ib_user_mad.h b/include/rdma/ib_user_mad.h index 29d2c7205a90..d6fce1cbdb90 100644 --- a/include/rdma/ib_user_mad.h +++ b/include/rdma/ib_user_mad.h | |||
| @@ -29,8 +29,6 @@ | |||
| 29 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | 29 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 30 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 30 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 31 | * SOFTWARE. | 31 | * SOFTWARE. |
| 32 | * | ||
| 33 | * $Id: ib_user_mad.h 2814 2005-07-06 19:14:09Z halr $ | ||
| 34 | */ | 32 | */ |
| 35 | 33 | ||
| 36 | #ifndef IB_USER_MAD_H | 34 | #ifndef IB_USER_MAD_H |
diff --git a/include/rdma/ib_user_verbs.h b/include/rdma/ib_user_verbs.h index 8d65bf0a625b..a17f77106149 100644 --- a/include/rdma/ib_user_verbs.h +++ b/include/rdma/ib_user_verbs.h | |||
| @@ -31,8 +31,6 @@ | |||
| 31 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | 31 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 32 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 32 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 33 | * SOFTWARE. | 33 | * SOFTWARE. |
| 34 | * | ||
| 35 | * $Id: ib_user_verbs.h 4019 2005-11-11 00:33:09Z sean.hefty $ | ||
| 36 | */ | 34 | */ |
| 37 | 35 | ||
| 38 | #ifndef IB_USER_VERBS_H | 36 | #ifndef IB_USER_VERBS_H |
| @@ -291,7 +289,10 @@ struct ib_uverbs_wc { | |||
| 291 | __u32 opcode; | 289 | __u32 opcode; |
| 292 | __u32 vendor_err; | 290 | __u32 vendor_err; |
| 293 | __u32 byte_len; | 291 | __u32 byte_len; |
| 294 | __u32 imm_data; | 292 | union { |
| 293 | __u32 imm_data; | ||
| 294 | __u32 invalidate_rkey; | ||
| 295 | } ex; | ||
| 295 | __u32 qp_num; | 296 | __u32 qp_num; |
| 296 | __u32 src_qp; | 297 | __u32 src_qp; |
| 297 | __u32 wc_flags; | 298 | __u32 wc_flags; |
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h index 31d30b1852e8..90b529f7a154 100644 --- a/include/rdma/ib_verbs.h +++ b/include/rdma/ib_verbs.h | |||
| @@ -34,8 +34,6 @@ | |||
| 34 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | 34 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 35 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 35 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 36 | * SOFTWARE. | 36 | * SOFTWARE. |
| 37 | * | ||
| 38 | * $Id: ib_verbs.h 1349 2004-12-16 21:09:43Z roland $ | ||
| 39 | */ | 37 | */ |
| 40 | 38 | ||
| 41 | #if !defined(IB_VERBS_H) | 39 | #if !defined(IB_VERBS_H) |
| @@ -93,7 +91,7 @@ enum ib_device_cap_flags { | |||
| 93 | IB_DEVICE_RC_RNR_NAK_GEN = (1<<12), | 91 | IB_DEVICE_RC_RNR_NAK_GEN = (1<<12), |
| 94 | IB_DEVICE_SRQ_RESIZE = (1<<13), | 92 | IB_DEVICE_SRQ_RESIZE = (1<<13), |
| 95 | IB_DEVICE_N_NOTIFY_CQ = (1<<14), | 93 | IB_DEVICE_N_NOTIFY_CQ = (1<<14), |
| 96 | IB_DEVICE_ZERO_STAG = (1<<15), | 94 | IB_DEVICE_LOCAL_DMA_LKEY = (1<<15), |
| 97 | IB_DEVICE_RESERVED = (1<<16), /* old SEND_W_INV */ | 95 | IB_DEVICE_RESERVED = (1<<16), /* old SEND_W_INV */ |
| 98 | IB_DEVICE_MEM_WINDOW = (1<<17), | 96 | IB_DEVICE_MEM_WINDOW = (1<<17), |
| 99 | /* | 97 | /* |
| @@ -105,6 +103,8 @@ enum ib_device_cap_flags { | |||
| 105 | */ | 103 | */ |
| 106 | IB_DEVICE_UD_IP_CSUM = (1<<18), | 104 | IB_DEVICE_UD_IP_CSUM = (1<<18), |
| 107 | IB_DEVICE_UD_TSO = (1<<19), | 105 | IB_DEVICE_UD_TSO = (1<<19), |
| 106 | IB_DEVICE_MEM_MGT_EXTENSIONS = (1<<21), | ||
| 107 | IB_DEVICE_BLOCK_MULTICAST_LOOPBACK = (1<<22), | ||
| 108 | }; | 108 | }; |
| 109 | 109 | ||
| 110 | enum ib_atomic_cap { | 110 | enum ib_atomic_cap { |
| @@ -150,6 +150,7 @@ struct ib_device_attr { | |||
| 150 | int max_srq; | 150 | int max_srq; |
| 151 | int max_srq_wr; | 151 | int max_srq_wr; |
| 152 | int max_srq_sge; | 152 | int max_srq_sge; |
| 153 | unsigned int max_fast_reg_page_list_len; | ||
| 153 | u16 max_pkeys; | 154 | u16 max_pkeys; |
| 154 | u8 local_ca_ack_delay; | 155 | u8 local_ca_ack_delay; |
| 155 | }; | 156 | }; |
| @@ -226,6 +227,57 @@ static inline int ib_width_enum_to_int(enum ib_port_width width) | |||
| 226 | } | 227 | } |
| 227 | } | 228 | } |
| 228 | 229 | ||
| 230 | struct ib_protocol_stats { | ||
| 231 | /* TBD... */ | ||
| 232 | }; | ||
| 233 | |||
| 234 | struct iw_protocol_stats { | ||
| 235 | u64 ipInReceives; | ||
| 236 | u64 ipInHdrErrors; | ||
| 237 | u64 ipInTooBigErrors; | ||
| 238 | u64 ipInNoRoutes; | ||
| 239 | u64 ipInAddrErrors; | ||
| 240 | u64 ipInUnknownProtos; | ||
| 241 | u64 ipInTruncatedPkts; | ||
| 242 | u64 ipInDiscards; | ||
| 243 | u64 ipInDelivers; | ||
| 244 | u64 ipOutForwDatagrams; | ||
| 245 | u64 ipOutRequests; | ||
| 246 | u64 ipOutDiscards; | ||
| 247 | u64 ipOutNoRoutes; | ||
| 248 | u64 ipReasmTimeout; | ||
| 249 | u64 ipReasmReqds; | ||
| 250 | u64 ipReasmOKs; | ||
| 251 | u64 ipReasmFails; | ||
| 252 | u64 ipFragOKs; | ||
| 253 | u64 ipFragFails; | ||
| 254 | u64 ipFragCreates; | ||
| 255 | u64 ipInMcastPkts; | ||
| 256 | u64 ipOutMcastPkts; | ||
| 257 | u64 ipInBcastPkts; | ||
| 258 | u64 ipOutBcastPkts; | ||
| 259 | |||
| 260 | u64 tcpRtoAlgorithm; | ||
| 261 | u64 tcpRtoMin; | ||
| 262 | u64 tcpRtoMax; | ||
| 263 | u64 tcpMaxConn; | ||
| 264 | u64 tcpActiveOpens; | ||
| 265 | u64 tcpPassiveOpens; | ||
| 266 | u64 tcpAttemptFails; | ||
| 267 | u64 tcpEstabResets; | ||
| 268 | u64 tcpCurrEstab; | ||
| 269 | u64 tcpInSegs; | ||
| 270 | u64 tcpOutSegs; | ||
| 271 | u64 tcpRetransSegs; | ||
| 272 | u64 tcpInErrs; | ||
| 273 | u64 tcpOutRsts; | ||
| 274 | }; | ||
| 275 | |||
| 276 | union rdma_protocol_stats { | ||
| 277 | struct ib_protocol_stats ib; | ||
| 278 | struct iw_protocol_stats iw; | ||
| 279 | }; | ||
| 280 | |||
| 229 | struct ib_port_attr { | 281 | struct ib_port_attr { |
| 230 | enum ib_port_state state; | 282 | enum ib_port_state state; |
| 231 | enum ib_mtu max_mtu; | 283 | enum ib_mtu max_mtu; |
| @@ -413,6 +465,8 @@ enum ib_wc_opcode { | |||
| 413 | IB_WC_FETCH_ADD, | 465 | IB_WC_FETCH_ADD, |
| 414 | IB_WC_BIND_MW, | 466 | IB_WC_BIND_MW, |
| 415 | IB_WC_LSO, | 467 | IB_WC_LSO, |
| 468 | IB_WC_LOCAL_INV, | ||
| 469 | IB_WC_FAST_REG_MR, | ||
| 416 | /* | 470 | /* |
| 417 | * Set value of IB_WC_RECV so consumers can test if a completion is a | 471 | * Set value of IB_WC_RECV so consumers can test if a completion is a |
| 418 | * receive by testing (opcode & IB_WC_RECV). | 472 | * receive by testing (opcode & IB_WC_RECV). |
| @@ -423,7 +477,8 @@ enum ib_wc_opcode { | |||
| 423 | 477 | ||
| 424 | enum ib_wc_flags { | 478 | enum ib_wc_flags { |
| 425 | IB_WC_GRH = 1, | 479 | IB_WC_GRH = 1, |
| 426 | IB_WC_WITH_IMM = (1<<1) | 480 | IB_WC_WITH_IMM = (1<<1), |
| 481 | IB_WC_WITH_INVALIDATE = (1<<2), | ||
| 427 | }; | 482 | }; |
| 428 | 483 | ||
| 429 | struct ib_wc { | 484 | struct ib_wc { |
| @@ -433,7 +488,10 @@ struct ib_wc { | |||
| 433 | u32 vendor_err; | 488 | u32 vendor_err; |
| 434 | u32 byte_len; | 489 | u32 byte_len; |
| 435 | struct ib_qp *qp; | 490 | struct ib_qp *qp; |
| 436 | __be32 imm_data; | 491 | union { |
| 492 | __be32 imm_data; | ||
| 493 | u32 invalidate_rkey; | ||
| 494 | } ex; | ||
| 437 | u32 src_qp; | 495 | u32 src_qp; |
| 438 | int wc_flags; | 496 | int wc_flags; |
| 439 | u16 pkey_index; | 497 | u16 pkey_index; |
| @@ -498,7 +556,8 @@ enum ib_qp_type { | |||
| 498 | }; | 556 | }; |
| 499 | 557 | ||
| 500 | enum ib_qp_create_flags { | 558 | enum ib_qp_create_flags { |
| 501 | 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, | ||
| 502 | }; | 561 | }; |
| 503 | 562 | ||
| 504 | struct ib_qp_init_attr { | 563 | struct ib_qp_init_attr { |
| @@ -627,6 +686,9 @@ enum ib_wr_opcode { | |||
| 627 | IB_WR_ATOMIC_FETCH_AND_ADD, | 686 | IB_WR_ATOMIC_FETCH_AND_ADD, |
| 628 | IB_WR_LSO, | 687 | IB_WR_LSO, |
| 629 | IB_WR_SEND_WITH_INV, | 688 | IB_WR_SEND_WITH_INV, |
| 689 | IB_WR_RDMA_READ_WITH_INV, | ||
| 690 | IB_WR_LOCAL_INV, | ||
| 691 | IB_WR_FAST_REG_MR, | ||
| 630 | }; | 692 | }; |
| 631 | 693 | ||
| 632 | enum ib_send_flags { | 694 | enum ib_send_flags { |
| @@ -643,6 +705,12 @@ struct ib_sge { | |||
| 643 | u32 lkey; | 705 | u32 lkey; |
| 644 | }; | 706 | }; |
| 645 | 707 | ||
| 708 | struct ib_fast_reg_page_list { | ||
| 709 | struct ib_device *device; | ||
| 710 | u64 *page_list; | ||
| 711 | unsigned int max_page_list_len; | ||
| 712 | }; | ||
| 713 | |||
| 646 | struct ib_send_wr { | 714 | struct ib_send_wr { |
| 647 | struct ib_send_wr *next; | 715 | struct ib_send_wr *next; |
| 648 | u64 wr_id; | 716 | u64 wr_id; |
| @@ -675,6 +743,15 @@ struct ib_send_wr { | |||
| 675 | u16 pkey_index; /* valid for GSI only */ | 743 | u16 pkey_index; /* valid for GSI only */ |
| 676 | u8 port_num; /* valid for DR SMPs on switch only */ | 744 | u8 port_num; /* valid for DR SMPs on switch only */ |
| 677 | } ud; | 745 | } ud; |
| 746 | struct { | ||
| 747 | u64 iova_start; | ||
| 748 | struct ib_fast_reg_page_list *page_list; | ||
| 749 | unsigned int page_shift; | ||
| 750 | unsigned int page_list_len; | ||
| 751 | u32 length; | ||
| 752 | int access_flags; | ||
| 753 | u32 rkey; | ||
| 754 | } fast_reg; | ||
| 678 | } wr; | 755 | } wr; |
| 679 | }; | 756 | }; |
| 680 | 757 | ||
| @@ -777,7 +854,7 @@ struct ib_cq { | |||
| 777 | struct ib_uobject *uobject; | 854 | struct ib_uobject *uobject; |
| 778 | ib_comp_handler comp_handler; | 855 | ib_comp_handler comp_handler; |
| 779 | void (*event_handler)(struct ib_event *, void *); | 856 | void (*event_handler)(struct ib_event *, void *); |
| 780 | void * cq_context; | 857 | void *cq_context; |
| 781 | int cqe; | 858 | int cqe; |
| 782 | atomic_t usecnt; /* count number of work queues */ | 859 | atomic_t usecnt; /* count number of work queues */ |
| 783 | }; | 860 | }; |
| @@ -883,7 +960,7 @@ struct ib_dma_mapping_ops { | |||
| 883 | void (*sync_single_for_cpu)(struct ib_device *dev, | 960 | void (*sync_single_for_cpu)(struct ib_device *dev, |
| 884 | u64 dma_handle, | 961 | u64 dma_handle, |
| 885 | size_t size, | 962 | size_t size, |
| 886 | enum dma_data_direction dir); | 963 | enum dma_data_direction dir); |
| 887 | void (*sync_single_for_device)(struct ib_device *dev, | 964 | void (*sync_single_for_device)(struct ib_device *dev, |
| 888 | u64 dma_handle, | 965 | u64 dma_handle, |
| 889 | size_t size, | 966 | size_t size, |
| @@ -919,6 +996,8 @@ struct ib_device { | |||
| 919 | 996 | ||
| 920 | struct iw_cm_verbs *iwcm; | 997 | struct iw_cm_verbs *iwcm; |
| 921 | 998 | ||
| 999 | int (*get_protocol_stats)(struct ib_device *device, | ||
| 1000 | union rdma_protocol_stats *stats); | ||
| 922 | int (*query_device)(struct ib_device *device, | 1001 | int (*query_device)(struct ib_device *device, |
| 923 | struct ib_device_attr *device_attr); | 1002 | struct ib_device_attr *device_attr); |
| 924 | int (*query_port)(struct ib_device *device, | 1003 | int (*query_port)(struct ib_device *device, |
| @@ -1013,6 +1092,11 @@ struct ib_device { | |||
| 1013 | int (*query_mr)(struct ib_mr *mr, | 1092 | int (*query_mr)(struct ib_mr *mr, |
| 1014 | struct ib_mr_attr *mr_attr); | 1093 | struct ib_mr_attr *mr_attr); |
| 1015 | int (*dereg_mr)(struct ib_mr *mr); | 1094 | int (*dereg_mr)(struct ib_mr *mr); |
| 1095 | struct ib_mr * (*alloc_fast_reg_mr)(struct ib_pd *pd, | ||
| 1096 | int max_page_list_len); | ||
| 1097 | struct ib_fast_reg_page_list * (*alloc_fast_reg_page_list)(struct ib_device *device, | ||
| 1098 | int page_list_len); | ||
| 1099 | void (*free_fast_reg_page_list)(struct ib_fast_reg_page_list *page_list); | ||
| 1016 | int (*rereg_phys_mr)(struct ib_mr *mr, | 1100 | int (*rereg_phys_mr)(struct ib_mr *mr, |
| 1017 | int mr_rereg_mask, | 1101 | int mr_rereg_mask, |
| 1018 | struct ib_pd *pd, | 1102 | struct ib_pd *pd, |
| @@ -1065,6 +1149,7 @@ struct ib_device { | |||
| 1065 | 1149 | ||
| 1066 | char node_desc[64]; | 1150 | char node_desc[64]; |
| 1067 | __be64 node_guid; | 1151 | __be64 node_guid; |
| 1152 | u32 local_dma_lkey; | ||
| 1068 | u8 node_type; | 1153 | u8 node_type; |
| 1069 | u8 phys_port_cnt; | 1154 | u8 phys_port_cnt; |
| 1070 | }; | 1155 | }; |
| @@ -1807,6 +1892,54 @@ int ib_query_mr(struct ib_mr *mr, struct ib_mr_attr *mr_attr); | |||
| 1807 | int ib_dereg_mr(struct ib_mr *mr); | 1892 | int ib_dereg_mr(struct ib_mr *mr); |
| 1808 | 1893 | ||
| 1809 | /** | 1894 | /** |
| 1895 | * ib_alloc_fast_reg_mr - Allocates memory region usable with the | ||
| 1896 | * IB_WR_FAST_REG_MR send work request. | ||
| 1897 | * @pd: The protection domain associated with the region. | ||
| 1898 | * @max_page_list_len: requested max physical buffer list length to be | ||
| 1899 | * used with fast register work requests for this MR. | ||
| 1900 | */ | ||
| 1901 | struct ib_mr *ib_alloc_fast_reg_mr(struct ib_pd *pd, int max_page_list_len); | ||
| 1902 | |||
| 1903 | /** | ||
| 1904 | * ib_alloc_fast_reg_page_list - Allocates a page list array | ||
| 1905 | * @device - ib device pointer. | ||
| 1906 | * @page_list_len - size of the page list array to be allocated. | ||
| 1907 | * | ||
| 1908 | * This allocates and returns a struct ib_fast_reg_page_list * and a | ||
| 1909 | * page_list array that is at least page_list_len in size. The actual | ||
| 1910 | * size is returned in max_page_list_len. The caller is responsible | ||
| 1911 | * for initializing the contents of the page_list array before posting | ||
| 1912 | * a send work request with the IB_WC_FAST_REG_MR opcode. | ||
| 1913 | * | ||
| 1914 | * The page_list array entries must be translated using one of the | ||
| 1915 | * ib_dma_*() functions just like the addresses passed to | ||
| 1916 | * ib_map_phys_fmr(). Once the ib_post_send() is issued, the struct | ||
| 1917 | * ib_fast_reg_page_list must not be modified by the caller until the | ||
| 1918 | * IB_WC_FAST_REG_MR work request completes. | ||
| 1919 | */ | ||
| 1920 | struct ib_fast_reg_page_list *ib_alloc_fast_reg_page_list( | ||
| 1921 | struct ib_device *device, int page_list_len); | ||
| 1922 | |||
| 1923 | /** | ||
| 1924 | * ib_free_fast_reg_page_list - Deallocates a previously allocated | ||
| 1925 | * page list array. | ||
| 1926 | * @page_list - struct ib_fast_reg_page_list pointer to be deallocated. | ||
| 1927 | */ | ||
| 1928 | void ib_free_fast_reg_page_list(struct ib_fast_reg_page_list *page_list); | ||
| 1929 | |||
| 1930 | /** | ||
| 1931 | * ib_update_fast_reg_key - updates the key portion of the fast_reg MR | ||
| 1932 | * R_Key and L_Key. | ||
| 1933 | * @mr - struct ib_mr pointer to be updated. | ||
| 1934 | * @newkey - new key to be used. | ||
| 1935 | */ | ||
| 1936 | static inline void ib_update_fast_reg_key(struct ib_mr *mr, u8 newkey) | ||
| 1937 | { | ||
| 1938 | mr->lkey = (mr->lkey & 0xffffff00) | newkey; | ||
| 1939 | mr->rkey = (mr->rkey & 0xffffff00) | newkey; | ||
| 1940 | } | ||
| 1941 | |||
| 1942 | /** | ||
| 1810 | * ib_alloc_mw - Allocates a memory window. | 1943 | * ib_alloc_mw - Allocates a memory window. |
| 1811 | * @pd: The protection domain associated with the memory window. | 1944 | * @pd: The protection domain associated with the memory window. |
| 1812 | */ | 1945 | */ |
diff --git a/include/rdma/iw_cm.h b/include/rdma/iw_cm.h index aeefa9b740dc..cbb822e8d791 100644 --- a/include/rdma/iw_cm.h +++ b/include/rdma/iw_cm.h | |||
| @@ -62,7 +62,7 @@ struct iw_cm_event { | |||
| 62 | struct sockaddr_in remote_addr; | 62 | struct sockaddr_in remote_addr; |
| 63 | void *private_data; | 63 | void *private_data; |
| 64 | u8 private_data_len; | 64 | u8 private_data_len; |
| 65 | void* provider_data; | 65 | void *provider_data; |
| 66 | }; | 66 | }; |
| 67 | 67 | ||
| 68 | /** | 68 | /** |
diff --git a/include/rdma/rdma_cm.h b/include/rdma/rdma_cm.h index 010f876f41d8..22bb2e7bab1a 100644 --- a/include/rdma/rdma_cm.h +++ b/include/rdma/rdma_cm.h | |||
| @@ -2,29 +2,33 @@ | |||
| 2 | * Copyright (c) 2005 Voltaire Inc. All rights reserved. | 2 | * Copyright (c) 2005 Voltaire Inc. All rights reserved. |
| 3 | * Copyright (c) 2005 Intel Corporation. All rights reserved. | 3 | * Copyright (c) 2005 Intel Corporation. All rights reserved. |
| 4 | * | 4 | * |
| 5 | * This Software is licensed under one of the following licenses: | 5 | * This software is available to you under a choice of one of two |
| 6 | * licenses. You may choose to be licensed under the terms of the GNU | ||
| 7 | * General Public License (GPL) Version 2, available from the file | ||
| 8 | * COPYING in the main directory of this source tree, or the | ||
| 9 | * OpenIB.org BSD license below: | ||
| 6 | * | 10 | * |
| 7 | * 1) under the terms of the "Common Public License 1.0" a copy of which is | 11 | * Redistribution and use in source and binary forms, with or |
| 8 | * available from the Open Source Initiative, see | 12 | * without modification, are permitted provided that the following |
| 9 | * http://www.opensource.org/licenses/cpl.php. | 13 | * conditions are met: |
| 10 | * | 14 | * |
| 11 | * 2) under the terms of the "The BSD License" a copy of which is | 15 | * - Redistributions of source code must retain the above |
| 12 | * available from the Open Source Initiative, see | 16 | * copyright notice, this list of conditions and the following |
| 13 | * http://www.opensource.org/licenses/bsd-license.php. | 17 | * disclaimer. |
| 14 | * | 18 | * |
| 15 | * 3) under the terms of the "GNU General Public License (GPL) Version 2" a | 19 | * - Redistributions in binary form must reproduce the above |
| 16 | * copy of which is available from the Open Source Initiative, see | 20 | * copyright notice, this list of conditions and the following |
| 17 | * http://www.opensource.org/licenses/gpl-license.php. | 21 | * disclaimer in the documentation and/or other materials |
| 18 | * | 22 | * provided with the distribution. |
| 19 | * Licensee has the right to choose one of the above licenses. | ||
| 20 | * | ||
| 21 | * Redistributions of source code must retain the above copyright | ||
| 22 | * notice and one of the license notices. | ||
| 23 | * | ||
| 24 | * Redistributions in binary form must reproduce both the above copyright | ||
| 25 | * notice, one of the license notices in the documentation | ||
| 26 | * and/or other materials provided with the distribution. | ||
| 27 | * | 23 | * |
| 24 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| 25 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| 26 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
| 27 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
| 28 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
| 29 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
| 30 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| 31 | * SOFTWARE. | ||
| 28 | */ | 32 | */ |
| 29 | 33 | ||
| 30 | #if !defined(RDMA_CM_H) | 34 | #if !defined(RDMA_CM_H) |
| @@ -57,11 +61,11 @@ enum rdma_cm_event_type { | |||
| 57 | }; | 61 | }; |
| 58 | 62 | ||
| 59 | enum rdma_port_space { | 63 | enum rdma_port_space { |
| 60 | RDMA_PS_SDP = 0x0001, | 64 | RDMA_PS_SDP = 0x0001, |
| 61 | RDMA_PS_IPOIB= 0x0002, | 65 | RDMA_PS_IPOIB = 0x0002, |
| 62 | RDMA_PS_TCP = 0x0106, | 66 | RDMA_PS_TCP = 0x0106, |
| 63 | RDMA_PS_UDP = 0x0111, | 67 | RDMA_PS_UDP = 0x0111, |
| 64 | RDMA_PS_SCTP = 0x0183 | 68 | RDMA_PS_SCTP = 0x0183 |
| 65 | }; | 69 | }; |
| 66 | 70 | ||
| 67 | struct rdma_addr { | 71 | struct rdma_addr { |
diff --git a/include/rdma/rdma_cm_ib.h b/include/rdma/rdma_cm_ib.h index 950424b38f16..2389c3b45404 100644 --- a/include/rdma/rdma_cm_ib.h +++ b/include/rdma/rdma_cm_ib.h | |||
| @@ -1,29 +1,33 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (c) 2006 Intel Corporation. All rights reserved. | 2 | * Copyright (c) 2006 Intel Corporation. All rights reserved. |
| 3 | * | 3 | * |
| 4 | * This Software is licensed under one of the following licenses: | 4 | * This software is available to you under a choice of one of two |
| 5 | * | 5 | * licenses. You may choose to be licensed under the terms of the GNU |
| 6 | * 1) under the terms of the "Common Public License 1.0" a copy of which is | 6 | * General Public License (GPL) Version 2, available from the file |
| 7 | * available from the Open Source Initiative, see | 7 | * COPYING in the main directory of this source tree, or the |
| 8 | * http://www.opensource.org/licenses/cpl.php. | 8 | * OpenIB.org BSD license below: |
| 9 | * | 9 | * |
| 10 | * 2) under the terms of the "The BSD License" a copy of which is | 10 | * Redistribution and use in source and binary forms, with or |
| 11 | * available from the Open Source Initiative, see | 11 | * without modification, are permitted provided that the following |
| 12 | * http://www.opensource.org/licenses/bsd-license.php. | 12 | * conditions are met: |
| 13 | * | 13 | * |
| 14 | * 3) under the terms of the "GNU General Public License (GPL) Version 2" a | 14 | * - Redistributions of source code must retain the above |
| 15 | * copy of which is available from the Open Source Initiative, see | 15 | * copyright notice, this list of conditions and the following |
| 16 | * http://www.opensource.org/licenses/gpl-license.php. | 16 | * disclaimer. |
| 17 | * | 17 | * |
| 18 | * Licensee has the right to choose one of the above licenses. | 18 | * - Redistributions in binary form must reproduce the above |
| 19 | * | 19 | * copyright notice, this list of conditions and the following |
| 20 | * Redistributions of source code must retain the above copyright | 20 | * disclaimer in the documentation and/or other materials |
| 21 | * notice and one of the license notices. | 21 | * provided with the distribution. |
| 22 | * | 22 | * |
| 23 | * Redistributions in binary form must reproduce both the above copyright | 23 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
| 24 | * notice, one of the license notices in the documentation | 24 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
| 25 | * and/or other materials provided with the distribution. | 25 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
| 26 | * | 26 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS |
| 27 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
| 28 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
| 29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| 30 | * SOFTWARE. | ||
| 27 | */ | 31 | */ |
| 28 | 32 | ||
| 29 | #if !defined(RDMA_CM_IB_H) | 33 | #if !defined(RDMA_CM_IB_H) |
