Skip to content

Commit bc2890e

Browse files
committed
Upon a new connection go over all available ifaces.
Add a verbose to show all the failed attempts to match the remote interfaces based on the modex info. Signed-off-by: George Bosilca <[email protected]>
1 parent 0bf5ece commit bc2890e

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

opal/mca/btl/tcp/btl_tcp_proc.c

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -755,9 +755,8 @@ mca_btl_tcp_proc_t* mca_btl_tcp_proc_lookup(const opal_process_name_t *name)
755755
(void) mca_btl_tcp_add_procs (&mca_btl_tcp_component.tcp_btls[i]->super, 1, &opal_proc,
756756
&endpoint, NULL);
757757
if (NULL != endpoint && NULL == proc) {
758-
/* get the proc and continue on (could probably just break here) */
758+
/* construct all the endpoints and get the proc */
759759
proc = endpoint->endpoint_proc;
760-
break;
761760
}
762761
}
763762
}
@@ -778,12 +777,20 @@ void mca_btl_tcp_proc_accept(mca_btl_tcp_proc_t* btl_proc, struct sockaddr* addr
778777
if( btl_endpoint->endpoint_addr->addr_family != addr->sa_family ) {
779778
continue;
780779
}
781-
782780
switch (addr->sa_family) {
783781
case AF_INET:
784782
if( memcmp( &btl_endpoint->endpoint_addr->addr_inet,
785783
&(((struct sockaddr_in*)addr)->sin_addr),
786784
sizeof(struct in_addr) ) ) {
785+
char tmp[2][16];
786+
opal_output_verbose(20, opal_btl_base_framework.framework_output,
787+
"btl: tcp: Match incoming connection from %s %s with locally known IP %s failed (iface %d/%d)!\n",
788+
OPAL_NAME_PRINT(btl_proc->proc_opal->proc_name),
789+
inet_ntop(AF_INET, (void*)&((struct sockaddr_in*)addr)->sin_addr,
790+
tmp[0], 16),
791+
inet_ntop(AF_INET, (void*)(struct in_addr*)&btl_endpoint->endpoint_addr->addr_inet,
792+
tmp[1], 16),
793+
(int)i, (int)btl_proc->proc_endpoint_count);
787794
continue;
788795
}
789796
break;
@@ -792,6 +799,15 @@ void mca_btl_tcp_proc_accept(mca_btl_tcp_proc_t* btl_proc, struct sockaddr* addr
792799
if( memcmp( &btl_endpoint->endpoint_addr->addr_inet,
793800
&(((struct sockaddr_in6*)addr)->sin6_addr),
794801
sizeof(struct in6_addr) ) ) {
802+
char tmp[2][INET6_ADDRSTRLEN];
803+
opal_output_verbose(20, opal_btl_base_framework.framework_output,
804+
"btl: tcp: Match incoming connection from %s %s with locally known IP %s failed (iface %d/%d)!\n",
805+
OPAL_NAME_PRINT(btl_proc->proc_opal->proc_name),
806+
inet_ntop(AF_INET6, (void*)&((struct sockaddr_in6*)addr)->sin6_addr,
807+
tmp[0], INET6_ADDRSTRLEN),
808+
inet_ntop(AF_INET6, (void*)(struct in6_addr*)&btl_endpoint->endpoint_addr->addr_inet,
809+
tmp[1], INET6_ADDRSTRLEN),
810+
(int)i, (int)btl_proc->proc_endpoint_count);
795811
continue;
796812
}
797813
break;

0 commit comments

Comments
 (0)