From: Girish Moodalbail <girish.moodalb...@oracle.com>
Date: Mon, 15 May 2017 10:47:04 -0700

>       if (data[IFLA_GENEVE_REMOTE]) {
> -             info.key.u.ipv4.dst =
> +             info->key.u.ipv4.dst =
>                       nla_get_in_addr(data[IFLA_GENEVE_REMOTE]);
>  
> -             if (IN_MULTICAST(ntohl(info.key.u.ipv4.dst))) {
> +             if (IN_MULTICAST(ntohl(info->key.u.ipv4.dst))) {
>                       netdev_dbg(dev, "multicast remote is unsupported\n");
>                       return -EINVAL;
>               }
> +             if (changelink &&
> +                 ip_tunnel_info_af(&geneve->info) == AF_INET6) {
> +                     info->mode &= ~IP_TUNNEL_INFO_IPV6;
> +                     info->key.tun_flags &= ~TUNNEL_CSUM;
> +                     *use_udp6_rx_checksums = false;
> +             }
>       }

I don't understand this "changelink" guarded code, why do you need to
clear all of this state out if the existing tunnel type if AF_INET6
and only when doing a changelink?

In any event, I think you need to add a comment explaining it.

Reply via email to