Merge branch 'vxlan-Various-fixes'
authorDavid S. Miller <davem@davemloft.net>
Wed, 19 Dec 2018 05:18:26 +0000 (21:18 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Dec 2018 05:18:26 +0000 (21:18 -0800)
commit59fc137ebdd1a93bfec991a1c8dd96002433b2e9
tree8d231368fe1f65ea5dad1fa7af29f63d814c782d
parenta9d6d897f3999e613dfacd4efbf63057f30ad7b3
parent55cbe0794294031d9b36984d4529f416e7e0a40a
Merge branch 'vxlan-Various-fixes'

Petr Machata says:

====================
vxlan: Various fixes

This patch set contains three fixes for the vxlan driver.

Patch #1 fixes handling of offload mark on replaced VXLAN FDB entries. A
way to trigger this is to replace the FDB entry with one that can not be
offloaded. A future patch set should make it possible to veto such FDB
changes. However the FDB might still fail to be offloaded due to another
issue, and the offload mark should reflect that.

Patch #2 fixes problems in __vxlan_dev_create() when a call to
rtnl_configure_link() fails. These failures would be tricky to hit on a
real system, the most likely vector is through an error in vxlan_open().
However, with the abovementioned vetoing patchset, vetoing the created
entry would trigger the same problems (and be easier to reproduce).

Patch #3 fixes a problem in vxlan_changelink(). In situations where the
default remote configured in the FDB table (if any) does not exactly
match the remote address configured at the VXLAN device, changing the
remote address breaks the default FDB entry. Patch #4 is then a self
test for this issue.

v3:
- Patch #2:
    - Reuse the same errout block for both cleanup paths. Use a bool to
      decide whether the unregister_netdevice() call should be made.

v2:
- Drop former patch #3
- Patch #2:
    - Delete the default entry before calling unregister_netdevice(). That
      takes care of former patch #3, hence tweak the commit message to
      mention that problem as well.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>