Messages in this thread |  | | Subject | Re: [PATCH net v2] net: vrf: Fix ping failed when vrf mtu is set to 0 | | From | linmiaohe <> | | Date | Mon, 8 Apr 2019 09:58:56 +0800 |
| |
On 2019/4/7 22:30, David Ahern wrote: > 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. > >
Thanks a lot for your advice. I will send v3 latter.
|  |