Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [OMPI svn] svn:open-mpi r17307
From: George Bosilca (bosilca_at_[hidden])
Date: 2008-01-29 19:37:42


The previous code was correct. Each IP address correspond to a
specific endpoint, and therefore to a specific BTL. This enable us to
have multiple TCP BTL at the same time, and allow the OB1 PML to
stripe the data over all of them.

Unfortunately, your commit disable the multi-rail over TCP. Please
undo it.

   Thanks,
     george.

On Jan 29, 2008, at 10:55 AM, adi_at_[hidden] wrote:

> Author: adi
> Date: 2008-01-29 10:55:56 EST (Tue, 29 Jan 2008)
> New Revision: 17307
> URL: https://svn.open-mpi.org/trac/ompi/changeset/17307
>
> Log:
> accept incoming connections from hosts with multiple addresses.
>
> We loop over all peer addresses and accept when one of them matches.
> Note that this might break functionality: mca_btl_tcp_proc_insert now
> always inserts the same endpoint. (is the lack of endpoints the
> problem?
> should there be one for every remote address?)
>
> Re #1206
>
>
> Text files modified:
> trunk/ompi/mca/btl/tcp/btl_tcp_proc.c | 12 ++++++------
> 1 files changed, 6 insertions(+), 6 deletions(-)
>
> Modified: trunk/ompi/mca/btl/tcp/btl_tcp_proc.c
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- trunk/ompi/mca/btl/tcp/btl_tcp_proc.c (original)
> +++ trunk/ompi/mca/btl/tcp/btl_tcp_proc.c 2008-01-29 10:55:56 EST
> (Tue, 29 Jan 2008)
> @@ -327,16 +327,16 @@
> {
> size_t i;
> OPAL_THREAD_LOCK(&btl_proc->proc_lock);
> - for( i = 0; i < btl_proc->proc_endpoint_count; i++ ) {
> - mca_btl_base_endpoint_t* btl_endpoint = btl_proc-
> >proc_endpoints[i];
> + for( i = 0; i < btl_proc->proc_addr_count; i++ ) {
> + mca_btl_tcp_addr_t* exported_address = btl_proc-
> >proc_addrs + i;
> /* Check all conditions before going to try to accept the
> connection. */
> - if( btl_endpoint->endpoint_addr->addr_family != addr-
> >sa_family ) {
> + if( exported_address->addr_family != addr->sa_family ) {
> continue;
> }
>
> switch (addr->sa_family) {
> case AF_INET:
> - if( memcmp( &btl_endpoint->endpoint_addr->addr_inet,
> + if( memcmp( &exported_address->addr_inet,
> &(((struct sockaddr_in*)addr)->sin_addr),
> sizeof(struct in_addr) ) ) {
> continue;
> @@ -344,7 +344,7 @@
> break;
> #if OPAL_WANT_IPV6
> case AF_INET6:
> - if( memcmp( &btl_endpoint->endpoint_addr->addr_inet,
> + if( memcmp( &exported_address->addr_inet,
> &(((struct sockaddr_in6*)addr)->sin6_addr),
> sizeof(struct in6_addr) ) ) {
> continue;
> @@ -355,7 +355,7 @@
> ;
> }
>
> - if(mca_btl_tcp_endpoint_accept(btl_endpoint, addr, sd)) {
> + if(mca_btl_tcp_endpoint_accept(btl_proc->proc_endpoints[0],
> addr, sd)) {
> OPAL_THREAD_UNLOCK(&btl_proc->proc_lock);
> return true;
> }
> _______________________________________________
> svn mailing list
> svn_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/svn



  • application/pkcs7-signature attachment: smime.p7s