Clarifying and fixing SCTP btl_sctp_if_11 parameter
This commit was SVN r17834.
Этот коммит содержится в:
родитель
f488b94899
Коммит
be13b86fc5
@ -239,8 +239,11 @@ int mca_btl_sctp_component_open(void)
|
|||||||
/* use a single one-to-many socket by default except in Solaris (see
|
/* use a single one-to-many socket by default except in Solaris (see
|
||||||
* the configure.m4 file)
|
* the configure.m4 file)
|
||||||
*/
|
*/
|
||||||
mca_btl_sctp_component.sctp_if_11 =
|
mca_base_param_reg_int(&mca_btl_sctp_component.super.btl_version,
|
||||||
mca_btl_sctp_param_register_int ("if_11", OMPI_MCA_BTL_SCTP_USE_ONE_TO_ONE_SOCKET);
|
"if_11", "If 0, have one SCTP BTL module and let SCTP do multilink scheduling. If non-zero, have an SCTP BTL module per link and let the PML do the scheduling.",
|
||||||
|
false, false,
|
||||||
|
OMPI_MCA_BTL_SCTP_USE_ONE_TO_ONE_SOCKET,
|
||||||
|
&mca_btl_sctp_component.sctp_if_11);
|
||||||
|
|
||||||
/* have lower exclusivity than tcp */
|
/* have lower exclusivity than tcp */
|
||||||
mca_btl_sctp_module.super.btl_exclusivity = MCA_BTL_EXCLUSIVITY_LOW;
|
mca_btl_sctp_module.super.btl_exclusivity = MCA_BTL_EXCLUSIVITY_LOW;
|
||||||
|
@ -203,7 +203,16 @@ int mca_btl_sctp_proc_insert(
|
|||||||
if(endpoint_addr->addr_inuse != 0) {
|
if(endpoint_addr->addr_inuse != 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if(net1 == net2) {
|
/* in the 1-to-many code, we sctp_bindx all addresses to one
|
||||||
|
* association, and only represent this multi-NIC endpoint
|
||||||
|
* internally as one BTL. this is within mca_btl_sctp_create.
|
||||||
|
* this is done so that SCTP itself handles multi-path scenarios
|
||||||
|
* since the transport has multihoming. as a result, we simply
|
||||||
|
* have to pick one of the addresses in the association (it doesn't
|
||||||
|
* matter to the API which is chosen); we pick the one which bind
|
||||||
|
* is called (NOT sctp_bindx) even if it is a private IP...
|
||||||
|
*/
|
||||||
|
if(net1 == net2 || 0 == mca_btl_sctp_component.sctp_if_11) {
|
||||||
btl_endpoint->endpoint_addr = endpoint_addr;
|
btl_endpoint->endpoint_addr = endpoint_addr;
|
||||||
break;
|
break;
|
||||||
} else if(btl_endpoint->endpoint_addr != 0) {
|
} else if(btl_endpoint->endpoint_addr != 0) {
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user