This source file includes following definitions.
- component_register
- component_open
- component_query
- component_close
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <src/include/pmix_config.h>
18 #include "pmix_common.h"
19
20 #include "src/util/argv.h"
21 #include "src/mca/pnet/pnet.h"
22 #include "pnet_tcp.h"
23
24 static pmix_status_t component_register(void);
25 static pmix_status_t component_open(void);
26 static pmix_status_t component_close(void);
27 static pmix_status_t component_query(pmix_mca_base_module_t **module,
28 int *priority);
29
30
31
32
33
34 pmix_pnet_tcp_component_t mca_pnet_tcp_component = {
35 .super = {
36 .base = {
37 PMIX_PNET_BASE_VERSION_1_0_0,
38
39
40 .pmix_mca_component_name = "tcp",
41 PMIX_MCA_BASE_MAKE_VERSION(component,
42 PMIX_MAJOR_VERSION,
43 PMIX_MINOR_VERSION,
44 PMIX_RELEASE_VERSION),
45
46
47 .pmix_mca_register_component_params = component_register,
48 .pmix_mca_open_component = component_open,
49 .pmix_mca_close_component = component_close,
50 .pmix_mca_query_component = component_query,
51 },
52 .data = {
53
54 PMIX_MCA_BASE_METADATA_PARAM_CHECKPOINT
55 }
56 },
57 .static_ports = NULL,
58 .default_request = NULL,
59 .include = NULL,
60 .exclude = NULL
61 };
62
63 static pmix_status_t component_register(void)
64 {
65 pmix_mca_base_component_t *component = &mca_pnet_tcp_component.super.base;
66
67 mca_pnet_tcp_component.static_ports = NULL;
68 (void)pmix_mca_base_component_var_register(component, "static_ports",
69 "Static ports for procs, expressed as a semi-colon delimited "
70 "list of type:(optional)plane:Comma-delimited list of ranges (e.g., "
71 "\"tcp:10.10.10.0/24:32000-32100,33000;udp:40000,40005\")",
72 PMIX_MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0,
73 PMIX_INFO_LVL_2,
74 PMIX_MCA_BASE_VAR_SCOPE_READONLY,
75 &mca_pnet_tcp_component.static_ports);
76
77 (void)pmix_mca_base_component_var_register(component, "default_network_allocation",
78 "Semi-colon delimited list of (optional)type:(optional)plane:Comma-delimited list of ranges "
79 "(e.g., \"udp:10.10.10.0/24:3\", or \"5\" if the choice of "
80 "type and plane isn't critical)",
81 PMIX_MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0,
82 PMIX_INFO_LVL_2,
83 PMIX_MCA_BASE_VAR_SCOPE_READONLY,
84 &mca_pnet_tcp_component.default_request);
85
86 mca_pnet_tcp_component.incparms = NULL;
87 (void)pmix_mca_base_component_var_register(component, "include_envars",
88 "Comma-delimited list of envars to harvest (\'*\' and \'?\' supported)",
89 PMIX_MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0,
90 PMIX_INFO_LVL_2,
91 PMIX_MCA_BASE_VAR_SCOPE_LOCAL,
92 &mca_pnet_tcp_component.incparms);
93 if (NULL != mca_pnet_tcp_component.incparms) {
94 mca_pnet_tcp_component.include = pmix_argv_split(mca_pnet_tcp_component.incparms, ',');
95 }
96
97 mca_pnet_tcp_component.excparms = NULL;
98 (void)pmix_mca_base_component_var_register(component, "exclude_envars",
99 "Comma-delimited list of envars to exclude (\'*\' and \'?\' supported)",
100 PMIX_MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0,
101 PMIX_INFO_LVL_2,
102 PMIX_MCA_BASE_VAR_SCOPE_LOCAL,
103 &mca_pnet_tcp_component.excparms);
104 if (NULL != mca_pnet_tcp_component.excparms) {
105 mca_pnet_tcp_component.exclude = pmix_argv_split(mca_pnet_tcp_component.excparms, ',');
106 }
107
108 return PMIX_SUCCESS;
109 }
110
111 static pmix_status_t component_open(void)
112 {
113 return PMIX_SUCCESS;
114 }
115
116
117 static pmix_status_t component_query(pmix_mca_base_module_t **module,
118 int *priority)
119 {
120 *priority = 5;
121 *module = (pmix_mca_base_module_t *)&pmix_tcp_module;
122 return PMIX_SUCCESS;
123 }
124
125
126 static pmix_status_t component_close(void)
127 {
128
129 return PMIX_SUCCESS;
130 }