On Sun, 15 Nov 2020 23:45:09 +0100 Florian Klink wrote:
> Checking for ifdef CONFIG_x fails if CONFIG_x=m.
>
> Use IS_ENABLED instead, which is true for both built-ins and modules.
>
> Otherwise, a
> > ip -4 route add 1.2.3.4/32 via inet6 fe80::2 dev eth1
> fails with the message "Error: IPv6 support not enabled in kernel." if
> CONFIG_IPV6 is `m`.
>
> In the spirit of b8127113d01e53adba15b41aefd37b90ed83d631.
>
> Cc: Kim Phillips <[email protected]>
> Signed-off-by: Florian Klink <[email protected]>
LGTM, this is the fixes tag right?
Fixes: d15662682db2 ("ipv4: Allow ipv6 gateway with ipv4 routes")
CCing David to give him a chance to ack.
> diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
> index 86a23e4a6a50..b87140a1fa28 100644
> --- a/net/ipv4/fib_frontend.c
> +++ b/net/ipv4/fib_frontend.c
> @@ -696,7 +696,7 @@ int fib_gw_from_via(struct fib_config *cfg, struct nlattr
> *nla,
> cfg->fc_gw4 = *((__be32 *)via->rtvia_addr);
> break;
> case AF_INET6:
> -#ifdef CONFIG_IPV6
> +#if IS_ENABLED(CONFIG_IPV6)
> if (alen != sizeof(struct in6_addr)) {
> NL_SET_ERR_MSG(extack, "Invalid IPv6 address in
> RTA_VIA");
> return -EINVAL;