Bluetooth: 6lowpan: search for destination address in all peers
authorJosua Mayer <josua.mayer@jm0.eu>
Sat, 6 Jul 2019 15:54:46 +0000 (17:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 31 Jul 2019 05:28:32 +0000 (07:28 +0200)
commit58aa832459b58be4b4fb2e6d4b95283206a3810c
treeb8fdc73f36ee719ea434ec457aeca25c6a8f9075
parent05b9c7b0059b4bbc2ed638891e910af0bbd7ece7
Bluetooth: 6lowpan: search for destination address in all peers

[ Upstream commit b188b03270b7f8568fc714101ce82fbf5e811c5a ]

Handle overlooked case where the target address is assigned to a peer
and neither route nor gateway exist.

For one peer, no checks are performed to see if it is meant to receive
packets for a given address.

As soon as there is a second peer however, checks are performed
to deal with routes and gateways for handling complex setups with
multiple hops to a target address.
This logic assumed that no route and no gateway imply that the
destination address can not be reached, which is false in case of a
direct peer.

Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Tested-by: Michael Scott <mike@foundries.io>
Signed-off-by: Josua Mayer <josua.mayer@jm0.eu>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/bluetooth/6lowpan.c