diff options
author | 2025-04-15 15:11:33 +0300 | |
---|---|---|
committer | 2025-04-22 11:11:15 +0200 | |
commit | 6ba480cca25f26bd0f0e328b2d2f8eab6bde7cc0 (patch) | |
tree | 234f13a2f9ddc3ea17f47a06a4a2773ea3d0b1b4 | |
parent | vxlan: Unsplit default FDB entry creation and notification (diff) | |
download | wireguard-linux-6ba480cca25f26bd0f0e328b2d2f8eab6bde7cc0.tar.xz wireguard-linux-6ba480cca25f26bd0f0e328b2d2f8eab6bde7cc0.zip |
vxlan: Relocate assignment of default remote device
The default FDB entry can be associated with a net device if a physical
device (i.e., 'dev PHYS_DEV') was specified during the creation of the
VXLAN device.
The assignment of the net device pointer to 'dst->remote_dev' logically
belongs in the if block that resolves the pointer from the specified
ifindex, so move it there.
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20250415121143.345227-6-idosch@nvidia.com
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
-rw-r--r-- | drivers/net/vxlan/vxlan_core.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c index d3dfc4af9556..d45b63180714 100644 --- a/drivers/net/vxlan/vxlan_core.c +++ b/drivers/net/vxlan/vxlan_core.c @@ -3967,6 +3967,8 @@ static int __vxlan_dev_create(struct net *net, struct net_device *dev, err = netdev_upper_dev_link(remote_dev, dev, extack); if (err) goto unregister; + + dst->remote_dev = remote_dev; } err = rtnl_configure_link(dev, NULL, 0, NULL); @@ -3994,8 +3996,7 @@ static int __vxlan_dev_create(struct net *net, struct net_device *dev, } list_add(&vxlan->next, &vn->vxlan_list); - if (remote_dev) - dst->remote_dev = remote_dev; + return 0; unlink: |