mptcp: fullmesh: Correctly detect DAD-state

[Upstream commit 19003eb6f62c3b1a65f98ff0c9d33688db9aa592]

Since c15b1ccadb323 (ipv6: move DAD and addrconf_verify processing to
workqueue), merged through 9e237d5194e86 (Merge tag 'v3.14' into
mptcp_trunk), the DAD-detection is done inside a work-queue and an
additional state has been added to the address (PREDAD). So, new
addresses are in PREDAD when the netdev event triggers. Thus, our check
in ipv6_is_in_dad_state was wrong.

So, this patch correctly checks for the state in ipv6_is_in_dad_state,
taking into account of PREDAD and renames it to ipv6_dad_finished.

Cc: ViruS <svirus@gmail.com>
Fixes: 9e237d5194e86 (Merge tag 'v3.14' into mptcp_trunk)
Reported-by: ViruS <svirus@gmail.com>
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Sébastien Barré <sebastien.barre@uclouvain.be>

Conflicts:
	net/mptcp/mptcp_fullmesh.c
mptcp: fullmesh: Detect IPv6 address deletion/dad-failure

[Upstream commit 8198265f6e972c937da5c6819ad7649cc6895224]

Currently we either assume that the address is still in DAD-state or
came up. However it might also have been removed while waiting for
DAD-completion or DAD might fail. So, we need to detect this as well by
looking at the states.

Fixes: af64e1c04c4e3 (IPv6: ifup/ifdown handler)
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Sébastien Barré <sebastien.barre@uclouvain.be>