On 04/14/2017 07:36 PM, Stephen Hemminger wrote: > On Fri, 14 Apr 2017 18:44:44 +0200 > Matthias Schiffer wrote: > >> diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c >> index 07f89b037681..95a71546e8f2 100644 >> --- a/drivers/net/vxlan.c >> +++ b/drivers/net/vxlan.c >> @@ -2881,11 +2881,39 @@ static int vxlan_config_validate(struct net *src_net, struct vxlan_config *conf, >> if (conf->saddr.sa.sa_family != conf->remote_ip.sa.sa_family) >> return -EINVAL; >> >> + if (vxlan_addr_multicast(&conf->saddr)) >> + return -EINVAL; >> + >> if (conf->saddr.sa.sa_family == AF_INET6) { >> if (!IS_ENABLED(CONFIG_IPV6)) >> return -EPFNOSUPPORT; >> use_ipv6 = true; >> conf->flags |= VXLAN_F_IPV6; >> + >> + if (!(conf->flags & VXLAN_F_COLLECT_METADATA)) { >> + int local_type = >> + ipv6_addr_type(&conf->saddr.sin6.sin6_addr); >> + int remote_type = >> + ipv6_addr_type(&conf->remote_ip.sin6.sin6_addr); >> + >> + if (local_type & IPV6_ADDR_LINKLOCAL) { >> + if (!(remote_type & IPV6_ADDR_LINKLOCAL) && >> + (remote_type != IPV6_ADDR_ANY)) { >> + pr_info("invalid combination of address scopes\n"); > > It is always helpful to include device if possible in error message. > netdev_notice(old->dev, " invalid combination of address scopes\n"); That makes sense, I'll change it in v3. > Also vxlan is good candidate for extended netlink error reporting. Can you point me to a piece of code that does this? Unless you insist, I wouldn't do it in this patchset, but I might implement the extended error reporting later. Matthias