lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sun, 7 Apr 2019 07:30:29 -0700
From:   David Ahern <dsa@...ulusnetworks.com>
To:     linmiaohe <linmiaohe@...wei.com>,
        Shrijeet Mukherjee <shrijeet@...il.com>, davem@...emloft.net,
        netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Cc:     Mingfangsen <mingfangsen@...wei.com>
Subject: Re: [PATCH net v2] net: vrf: Fix ping failed when vrf mtu is set to 0

On 4/6/19 11:46 PM, linmiaohe wrote:
> diff --git a/drivers/net/vrf.c b/drivers/net/vrf.c
> index 7c1430ed0244..4d35d37f225a 100644
> --- a/drivers/net/vrf.c
> +++ b/drivers/net/vrf.c
> @@ -43,6 +43,12 @@
> 
>  #define FIB_RULE_PREF  1000       /* default preference for FIB rules */
> 
> +/* The MTU is really irrelevant for VRF except for odd cases, so limit it
> + * to a reasonable range which both works for IPV4 and IPV6.
> + */
> +#define VRF_MIN_MTU	1280      /* same as IPV6_MIN_MTU */
> +#define VRF_MAX_MTU	0xFFFFU   /* same as IP_MAX_MTU */

Since VRF does not care about MTU, there is no reason for VRF specific
macros.

> +
>  static unsigned int vrf_net_id;
> 
>  struct net_vrf {
> @@ -1274,8 +1280,8 @@ static void vrf_setup(struct net_device *dev)
>  	/* default to no qdisc; user can add if desired */
>  	dev->priv_flags |= IFF_NO_QUEUE;
> 
> -	dev->min_mtu = 0;
> -	dev->max_mtu = 0;
> +	dev->min_mtu = VRF_MIN_MTU;
> +	dev->max_mtu = VRF_MAX_MTU;

Set these to IPV6_MIN_MTU and ETH_MAX_MTU and add a comment that VRF
devices do not care about MTU, but if the MTU is set too low then the
ipv4 and ipv6 protocols are disabled which breaks networking.

Powered by blists - more mailing lists