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.