OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

btl_openib_xrc.h
1 /*
2 * Copyright (c) 2007-2008 Mellanox Technologies. All rights reserved.
3 * $COPYRIGHT$
4 *
5 * Additional copyrights may follow
6 *
7 * $HEADER$
8 *
9 * @file
10 */
11
12 #ifndef MCA_BTL_OPENIB_XRC_H
13 #define MCA_BTL_OPENIB_XRC_H
14 #include "btl_openib.h"
15 #include "btl_openib_endpoint.h"
16
17 #if HAVE_XRC
18 #define MCA_BTL_XRC_ENABLED (mca_btl_openib_component.num_xrc_qps)
19 #else
20 #define MCA_BTL_XRC_ENABLED 0
21 #endif
22
23 typedef enum {
24 MCA_BTL_IB_ADDR_CONNECTING = 100,
25 MCA_BTL_IB_ADDR_CONNECTED,
26 MCA_BTL_IB_ADDR_CLOSED
27 } mca_btl_openib_ib_addr_state_t;
28
29 struct ib_address_t {
30 opal_list_item_t super;
31 void *key; /* the key with size 80bit - [subnet(64) LID(16bit)] */
32 uint64_t subnet_id; /* caching subnet_id */
33 uint16_t lid; /* caching lid */
34 opal_list_t pending_ep; /* list of endpoints that use this ib_address */
35 mca_btl_openib_qp_t *qp; /* pointer to qp that will be used
36 for communication with the
37 destination */
38 uint32_t remote_xrc_rcv_qp_num; /* remote xrc qp number */
39 opal_mutex_t addr_lock; /* protection */
40 mca_btl_openib_ib_addr_state_t status; /* ib port status */
41 };
42 typedef struct ib_address_t ib_address_t;
43
44 int mca_btl_openib_open_xrc_domain(struct mca_btl_openib_device_t *device);
45 int mca_btl_openib_close_xrc_domain(struct mca_btl_openib_device_t *device);
46 int mca_btl_openib_ib_address_add_new (uint16_t lid, uint64_t s_id,
47 orte_jobid_t ep_jobid, mca_btl_openib_endpoint_t *ep);
48
49 #endif
mca_btl_openib_device_t
Definition: btl_openib.h:346
mca_btl_openib_qp_t
Definition: btl_openib_endpoint.h:132
orte_jobid_t
uint32_t orte_jobid_t
Set the allowed range for ids in each space.
Definition: types.h:76
ib_address_t
Definition: btl_openib_xrc.h:29
opal_mutex_t
Definition: mutex_unix.h:53
opal_list_item_t
Definition: opal_list.h:98
mca_btl_base_endpoint_t
State of ELAN endpoint connection.
Definition: btl_elan_endpoint.h:33
opal_list_t
Definition: opal_list.h:147