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.4-RC1~62 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=c6c9084c959ac972af557da100f251eccc79d2f7;p=fs%2Flustre-release.git LU-12411 lnet: Do not allow gateways on remote nets A gateway needs to be reachable over some local interface. Lustre-change: https://review.whamcloud.com/35198 Lustre-commit: 43b35351e9ca258773e89c2d68047e939fb822fb Signed-off-by: Chris Horn Change-Id: Ib66d4f8fd48d8863097280c480648ab8e29d2767 Reviewed-by: Amir Shehata Reviewed-by: Sonia Sharma Signed-off-by: Minh Diep Reviewed-on: https://review.whamcloud.com/36870 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin --- diff --git a/lnet/lnet/router.c b/lnet/lnet/router.c index d48ce40..496fe95 100644 --- a/lnet/lnet/router.c +++ b/lnet/lnet/router.c @@ -341,6 +341,13 @@ lnet_add_route(__u32 net, __u32 hops, lnet_nid_t gateway, if (lnet_islocalnet(net)) /* it's a local network */ 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));