Whamcloud - gitweb
LU-13714 lnet: only update gateway NI status on discovery 76/39176/6
authorChris Horn <chris.horn@hpe.com>
Mon, 14 Feb 2022 20:37:05 +0000 (20:37 +0000)
committerOleg Drokin <green@whamcloud.com>
Sun, 3 Apr 2022 16:08:47 +0000 (16:08 +0000)
commit3e3f70eb1ec95f32d9a97795d7fdf02cca82b5a0
tree818750a39d465b6d63f2e5839fdc590f4c809af9
parente41f91dc90a0977f7ea85b199b7e5809c56b810e
LU-13714 lnet: only update gateway NI status on discovery

Move the NI status from DOWN to UP only when receiving
a discovery PING. The discovery PING should be the only
message which should update the NI status since it's used
as the gateway NI keep alive mechanism.

This is done to avoid the following scenario:

The gateway itself can push its updates to the peers which
have removed it from its routing table. The peers would
respond to the PUSH with an ACK, the ACK will bring the
gateway's NI status to up. Therefore other peers which have
avoid_asym_router_failure=1 will have their route status
remain up even though the symmetrical route is gone.

Note: there is no way for the gateway to differentiate between
a keep alive discovery and a manually triggered discovery or ping.
However, this a narrow case which will not be handled.

net_last_alive converted to use ktime_get_seconds() instead of
ktime_get_real_seconds() since the NTP adjustment is not needed.

Test-Parameters: trivial
Signed-off-by: Amir Shehata <ashehata@whamcloud.com>
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: Ifd5b06d4cf783b68b36413ada63f0a1d0095fb5b
Reviewed-on: https://review.whamcloud.com/39176
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Cyril Bordage <cbordage@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet/lnet/config.c
lnet/lnet/lib-move.c
lnet/lnet/router.c
lnet/lnet/router_proc.c