mirror of https://gitee.com/openkylin/linux.git
vxlan: reject IPv6 addresses if IPv6 is not configured
When IPv6 address is set without IPv6 configured, the vxlan socket is mostly treated as an IPv4 one but various lookus in fdb etc. still take the AF_INET6 into account. This creates incosistencies with weird consequences. Just reject IPv6 addresses in such case. Signed-off-by: Jiri Benc <jbenc@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9dc2ad1008
commit
057ba29bbe
|
@ -2636,8 +2636,11 @@ static int vxlan_dev_configure(struct net *src_net, struct net_device *dev,
|
|||
dst->remote_ip.sa.sa_family = AF_INET;
|
||||
|
||||
if (dst->remote_ip.sa.sa_family == AF_INET6 ||
|
||||
vxlan->cfg.saddr.sa.sa_family == AF_INET6)
|
||||
vxlan->cfg.saddr.sa.sa_family == AF_INET6) {
|
||||
if (!IS_ENABLED(CONFIG_IPV6))
|
||||
return -EPFNOSUPPORT;
|
||||
use_ipv6 = true;
|
||||
}
|
||||
|
||||
if (conf->remote_ifindex) {
|
||||
struct net_device *lowerdev
|
||||
|
|
Loading…
Reference in New Issue