]> git.baikalelectronics.ru Git - kernel.git/commit
Bluetooth: 6lowpan: check neighbour table for SLAAC
authorJosua Mayer <josua.mayer@jm0.eu>
Sat, 6 Jul 2019 15:54:47 +0000 (17:54 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 6 Jul 2019 19:33:55 +0000 (21:33 +0200)
commit3e5ebc57d6622377f7e2fcbd8983d02738bfb6ee
tree3d2c1a58b55197596b8580fec3466015abb777b2
parentae132ba40fc8d900d5ad0f42102b1e056693ba74
Bluetooth: 6lowpan: check neighbour table for SLAAC

Like any IPv6 capable device, 6LNs can have multiple addresses assigned
using SLAAC and made known through neighbour advertisements.
After checking the destination address against all peers link-local
addresses, consult the neighbour cache for additional known addresses.

RFC7668 defines the scope of Neighbor Advertisements in Section 3.2.3:
1. "A Bluetooth LE 6LN MUST NOT register its link-local address"
2. "A Bluetooth LE 6LN MUST register its non-link-local addresses with
the 6LBR by sending Neighbor Solicitation (NS) messages ..."

Due to these constranits both the link-local addresses tracked in the
list of 6lowpan peers, and the neighbour cache have to be used when
identifying the 6lowpan peer for a destination address.

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>
net/bluetooth/6lowpan.c