Skip to content

Commit

Permalink
vxlan: Avoid creating fdb entry with NULL destination
Browse files Browse the repository at this point in the history
Commit afbd8ba
   vxlan: add implicit fdb entry for default destination
creates an implicit fdb entry for default destination. This results
in an invalid fdb entry if default destination is not specified.
For ex:
  ip link add vxlan1 type vxlan id 100
creates the following fdb entry
  00:00:00:00:00:00 dev vxlan1 dst 0.0.0.0 self permanent

This patch fixes this issue by creating an fdb entry only if a
valid default destination is specified.

Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Sridhar Samudrala authored and David S. Miller committed Sep 18, 2013
1 parent 269aa75 commit 2936b6a
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions drivers/net/vxlan.c
Original file line number Diff line number Diff line change
Expand Up @@ -2490,15 +2490,19 @@ static int vxlan_newlink(struct net *net, struct net_device *dev,

SET_ETHTOOL_OPS(dev, &vxlan_ethtool_ops);

/* create an fdb entry for default destination */
err = vxlan_fdb_create(vxlan, all_zeros_mac,
&vxlan->default_dst.remote_ip,
NUD_REACHABLE|NUD_PERMANENT,
NLM_F_EXCL|NLM_F_CREATE,
vxlan->dst_port, vxlan->default_dst.remote_vni,
vxlan->default_dst.remote_ifindex, NTF_SELF);
if (err)
return err;
/* create an fdb entry for a valid default destination */
if (!vxlan_addr_any(&vxlan->default_dst.remote_ip)) {
err = vxlan_fdb_create(vxlan, all_zeros_mac,
&vxlan->default_dst.remote_ip,
NUD_REACHABLE|NUD_PERMANENT,
NLM_F_EXCL|NLM_F_CREATE,
vxlan->dst_port,
vxlan->default_dst.remote_vni,
vxlan->default_dst.remote_ifindex,
NTF_SELF);
if (err)
return err;
}

err = register_netdevice(dev);
if (err) {
Expand Down

0 comments on commit 2936b6a

Please sign in to comment.