• Tom Herbert's avatar
    ip6_gre: Fix MTU setting · db2ec95d
    Tom Herbert authored
    In ip6gre_tnl_link_config set t->tun_len and t->hlen correctly for the
    configuration. For hard_header_len and mtu calculation include
    IPv6 header and encapsulation overhead.
    
    In ip6gre_tunnel_init_common set t->tun_len and t->hlen correctly for
    the configuration. Revert to setting hard_header_len instead of
    needed_headroom.
    
    Tested:
    
    ./ip link add name tun8 type ip6gretap remote \
    2401:db00:20:911a:face:0:27:0 local \
    2401:db00:20:911a:face:0:25:0 ttl 225
    
    Gives MTU of 1434. That is equal to 1500 - 40 - 14 - 4 - 8.
    
    ./ip link add name tun8 type ip6gretap remote \
    2401:db00:20:911a:face:0:27:0 local \
    2401:db00:20:911a:face:0:25:0 ttl 225 okey 123
    
    Gives MTU of 1430. That is equal to 1500 - 40 - 14 - 4 - 8 - 4.
    Signed-off-by: default avatarTom Herbert <tom@herbertland.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    db2ec95d
ip6_gre.c 36 KB