Description
If an alias interface is added by whatever method, for example eth0:0 as shown below:
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:d4:ef:fe brd ff:ff:ff:ff:ff:ff inet 192.168.122.60/24 brd 192.168.122.255 scope global noprefixroute eth0 valid_lft forever preferred_lft forever inet 1.2.4.5/24 brd 1.2.4.255 scope global eth0:0 valid_lft forever preferred_lft forever
then this alias interface can be used to create an LNet NI:
lnetctl net add --net tcp --if eth0:0
It will show up in the list of NIs:
net: - net type: lo local NI(s): - nid: 0@lo status: up - net type: tcp local NI(s): - nid: 192.168.122.60@tcp status: up interfaces: 0: eth0 - nid: 1.2.4.5@tcp status: up interfaces: 0: eth0:0
However if eth0 is brought down, then only eth0 NI status is changed to "down":
# ifdown eth0 # lnetctl net show net: - net type: lo local NI(s): - nid: 0@lo status: up - net type: tcp local NI(s): - nid: 192.168.122.60@tcp status: down interfaces: 0: eth0 - nid: 1.2.4.5@tcp status: up interfaces: 0: eth0:0
This confuses LNet source NI selection. Socklnd should be able to detect that the parent interface is being brought down and notify the LNet about the alias going down as well.