vxlan: fix initialization with custom link parameters
authorJiri Benc <jbenc@redhat.com>
Thu, 28 Apr 2016 14:36:30 +0000 (16:36 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Apr 2016 19:08:56 +0000 (15:08 -0400)
commit65226ef8ea167c773de4c5b31a0fd3cb3a08f5b4
tree590a2a972e630de29dc5f7c7a7067e939df8a21b
parent638af1787357f2f8bbb5006d4df0693afd3b805b
vxlan: fix initialization with custom link parameters

Commit 0c867c9bf84c ("vxlan: move Ethernet initialization to a separate
function") changed initialization order and as an unintended result, when the
user specifies additional link parameters (such as IFLA_ADDRESS) while
creating vxlan interface, those are overwritten by vxlan_ether_setup later.

It's necessary to call ether_setup from withing the ->setup callback. That
way, the correct parameters are set by rtnl_create_link later. This is done
also for VXLAN-GPE, as we don't know the interface type yet at that point,
and changed to the correct interface type later.

Fixes: 0c867c9bf84c ("vxlan: move Ethernet initialization to a separate function")
Reported-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: Jiri Benc <jbenc@redhat.com>
Tested-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxlan.c