On Mar 3, 2010, at 1:24 PM, Jeff Squyres wrote:
> I'm not sure I agree with change #1. I understand in principle why the change was made, but I'm uncomfortable with:
> 1. The individual entries now behave like pseudo-regexp's rather that strict matching. We used strict matching before this for a reason. If we want to allow regexp-like behavior, then I think we should enable that with special characters -- that's the customary/usual way to do it.
The history of this particular piece of code is that it used to use strncmp. George Bosilca changed it last summer, incidental to a larger change (r21652). The commit comment was not particularly illuminating on this issue, in my opinion:
> 2. All other <foo>_in|exclude behavior in ompi is strict matching, not prefix matching. I'm uncomfortable with the disparity.
That turns out not to be the case. Look in btl_tcp_proc.c/mca_btl_tcp_retrieve_local_interfaces.
> Additionally, if loopback is now handled properly via change #2, shouldn't the default value for the btl_tcp_if_exclude parameter now be empty?
That's a good question. Enabling the "lo" interface results in intra-node messages being striped across that interface in addition to the others on a system. I don't know what impact that would have, if any.
> Actually -- thinking about this a little more, does opal_net_islocalhost() guarantee to work on peer interfaces?
It looks to see whether the IP address is (v4) 127.0.0.1, or (v6) ::1. I believe that these values are dictated by the relevant RFCs (but I haven't looked to make sure).