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 <ssuryae...@gmail.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?

Reply via email to