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
|
||||
* the configure.m4 file)
|
||||
*/
|
||||
mca_btl_sctp_component.sctp_if_11 =
|
||||
mca_btl_sctp_param_register_int ("if_11", OMPI_MCA_BTL_SCTP_USE_ONE_TO_ONE_SOCKET);
|
||||
mca_base_param_reg_int(&mca_btl_sctp_component.super.btl_version,
|
||||
"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 */
|
||||
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) {
|
||||
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;
|
||||
break;
|
||||
} else if(btl_endpoint->endpoint_addr != 0) {
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user