diff options
-rw-r--r-- | drivers/net/vxlan.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 2400b1beddd5..d1292fe746bc 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c | |||
@@ -2490,15 +2490,19 @@ static int vxlan_newlink(struct net *net, struct net_device *dev, | |||
2490 | 2490 | ||
2491 | SET_ETHTOOL_OPS(dev, &vxlan_ethtool_ops); | 2491 | SET_ETHTOOL_OPS(dev, &vxlan_ethtool_ops); |
2492 | 2492 | ||
2493 | /* create an fdb entry for default destination */ | 2493 | /* create an fdb entry for a valid default destination */ |
2494 | err = vxlan_fdb_create(vxlan, all_zeros_mac, | 2494 | if (!vxlan_addr_any(&vxlan->default_dst.remote_ip)) { |
2495 | &vxlan->default_dst.remote_ip, | 2495 | err = vxlan_fdb_create(vxlan, all_zeros_mac, |
2496 | NUD_REACHABLE|NUD_PERMANENT, | 2496 | &vxlan->default_dst.remote_ip, |
2497 | NLM_F_EXCL|NLM_F_CREATE, | 2497 | NUD_REACHABLE|NUD_PERMANENT, |
2498 | vxlan->dst_port, vxlan->default_dst.remote_vni, | 2498 | NLM_F_EXCL|NLM_F_CREATE, |
2499 | vxlan->default_dst.remote_ifindex, NTF_SELF); | 2499 | vxlan->dst_port, |
2500 | if (err) | 2500 | vxlan->default_dst.remote_vni, |
2501 | return err; | 2501 | vxlan->default_dst.remote_ifindex, |
2502 | NTF_SELF); | ||
2503 | if (err) | ||
2504 | return err; | ||
2505 | } | ||
2502 | 2506 | ||
2503 | err = register_netdevice(dev); | 2507 | err = register_netdevice(dev); |
2504 | if (err) { | 2508 | if (err) { |