[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8a6d2af5-51b6-0315-5fc5-e5f7fe24e2de@gmail.com>
Date: Mon, 6 May 2019 14:33:10 -0600
From: David Ahern <dsahern@...il.com>
To: Stephen Suryaputra <ssuryaextr@...il.com>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH net] vrf: sit mtu should not be updated when vrf netdev is
the link
On 5/6/19 2:28 PM, Stephen Suryaputra wrote:
> On Mon, May 06, 2019 at 01:54:16PM -0600, David Ahern wrote:
>> On 5/6/19 1:00 PM, Stephen Suryaputra wrote:
>>> VRF netdev mtu isn't typically set and have an mtu of 65536. When the
>>> link of a tunnel is set, the tunnel mtu is changed from 1480 to the link
>>> mtu minus tunnel header. In the case of VRF netdev is the link, then the
>>> tunnel mtu becomes 65516. So, fix it by not setting the tunnel mtu in
>>> this case.
>>>
>>> Signed-off-by: Stephen Suryaputra <ssuryaextr@...il.com>
>>> ---
>>> net/ipv6/sit.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c
>>> index b2109b74857d..971d60bf9640 100644
>>> --- a/net/ipv6/sit.c
>>> +++ b/net/ipv6/sit.c
>>> @@ -1084,7 +1084,7 @@ static void ipip6_tunnel_bind_dev(struct net_device *dev)
>>> if (!tdev && tunnel->parms.link)
>>> tdev = __dev_get_by_index(tunnel->net, tunnel->parms.link);
>>>
>>> - if (tdev) {
>>> + if (tdev && !netif_is_l3_master(tdev)) {
>>> int t_hlen = tunnel->hlen + sizeof(struct iphdr);
>>>
>>> dev->hard_header_len = tdev->hard_header_len + sizeof(struct iphdr);
>>>
>>
>> can you explain how tdev is a VRF device? What's the config setup for
>> this case?
>
> Hi David,
>
> tdev is set to VRF device per your suggestion to my colleague back in
> 2017:
> https://www.spinics.net/lists/netdev/msg462706.html.
> Specifically this on this follow up:
> https://www.spinics.net/lists/netdev/msg463287.html
>
> His basic config before your suggestion is available in:
> https://www.spinics.net/lists/netdev/msg462770.html
>
> He and I had a refresher discussion this am trying to figure out if tdev
> should be a slave device. This is true if the local addr is specified.
> In this case the addr has to bound to a slave device. Then the underlay
> VRF can be derived from it. But if only remote is specified, then there
> isn't a straightforward way to associate the remote with a VRF unless
> tdev is set to a VRF device.
>
Right. Thanks for the reminder.
Reviewed-by: David Ahern <dsahern@...il.com>
Powered by blists - more mailing lists