From: Chris Horn Date: Tue, 11 Jun 2019 19:59:31 +0000 (-0500) Subject: LU-12411 lnet: Do not allow gateways on remote nets X-Git-Tag: 2.12.56~86 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=43b35351e9ca258773e89c2d68047e939fb822fb;ds=sidebyside LU-12411 lnet: Do not allow gateways on remote nets A gateway needs to be reachable over some local interface. Signed-off-by: Chris Horn Change-Id: Ib66d4f8fd48d8863097280c480648ab8e29d2767 Reviewed-on: https://review.whamcloud.com/35198 Tested-by: Jenkins Reviewed-by: Amir Shehata Tested-by: Maloo Reviewed-by: Sonia Sharma Reviewed-by: Oleg Drokin --- diff --git a/lnet/lnet/router.c b/lnet/lnet/router.c index 7d7e08d..ec92e1a 100644 --- a/lnet/lnet/router.c +++ b/lnet/lnet/router.c @@ -457,6 +457,13 @@ lnet_add_route(__u32 net, __u32 hops, lnet_nid_t gateway, if (lnet_islocalnet(net)) return -EEXIST; + if (!lnet_islocalnet(LNET_NIDNET(gateway))) { + CERROR("Cannot add route with gateway %s. There is no local interface configured on LNet %s\n", + libcfs_nid2str(gateway), + libcfs_net2str(LNET_NIDNET(gateway))); + return -EINVAL; + } + /* Assume net, route, all new */ LIBCFS_ALLOC(route, sizeof(*route)); LIBCFS_ALLOC(rnet, sizeof(*rnet));