ipv4: Define fib_get_nhs when CONFIG_IP_ROUTE_MULTIPATH is disabled
authorDavid Ahern <dsahern@gmail.com>
Thu, 28 Mar 2019 03:53:46 +0000 (20:53 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Mar 2019 17:48:03 +0000 (10:48 -0700)
Define fib_get_nhs to return EINVAL when CONFIG_IP_ROUTE_MULTIPATH is
not enabled and remove the ifdef check for CONFIG_IP_ROUTE_MULTIPATH
in fib_create_info.

Signed-off-by: David Ahern <dsahern@gmail.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/fib_semantics.c

index 8e185b5a2bf6e7c15e83b122ec5e0a93d165273d..b5dbbdfd1e49a4aaa340754555fb3fbb689a275e 100644 (file)
@@ -601,6 +601,15 @@ static void fib_rebalance(struct fib_info *fi)
 }
 #else /* CONFIG_IP_ROUTE_MULTIPATH */
 
+static int fib_get_nhs(struct fib_info *fi, struct rtnexthop *rtnh,
+                      int remaining, struct fib_config *cfg,
+                      struct netlink_ext_ack *extack)
+{
+       NL_SET_ERR_MSG(extack, "Multipath support not enabled in kernel");
+
+       return -EINVAL;
+}
+
 #define fib_rebalance(fi) do { } while (0)
 
 #endif /* CONFIG_IP_ROUTE_MULTIPATH */
@@ -1102,7 +1111,6 @@ struct fib_info *fib_create_info(struct fib_config *cfg,
        } endfor_nexthops(fi)
 
        if (cfg->fc_mp) {
-#ifdef CONFIG_IP_ROUTE_MULTIPATH
                err = fib_get_nhs(fi, cfg->fc_mp, cfg->fc_mp_len, cfg, extack);
                if (err != 0)
                        goto failure;
@@ -1122,11 +1130,6 @@ struct fib_info *fib_create_info(struct fib_config *cfg,
                                       "Nexthop class id does not match RTA_FLOW");
                        goto err_inval;
                }
-#endif
-#else
-               NL_SET_ERR_MSG(extack,
-                              "Multipath support not enabled in kernel");
-               goto err_inval;
 #endif
        } else {
                struct fib_nh *nh = fi->fib_nh;