• Josua Mayer's avatar
    Bluetooth: 6lowpan: check neighbour table for SLAAC · 5636376c
    Josua Mayer authored
    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: default avatarJukka Rissanen <jukka.rissanen@linux.intel.com>
    Tested-by: default avatarMichael Scott <mike@foundries.io>
    Signed-off-by: default avatarJosua Mayer <josua.mayer@jm0.eu>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    5636376c
6lowpan.c 28.1 KB