Skip to content

6LoWPAN over BLE (RFC7668) #1031

@Dominaezzz

Description

@Dominaezzz

I'm looking at implementing this with an ESP32 and trouble.

From reading various RFCs it seems to be a somewhat straightforward affair.
One just needs a L2CAP channel and a minimal GATT service for advertising, which trouble supports.

The network forms a star topology where the "Central" is the router and the "Peripheral"s are nodes in the network.
All communications between nodes/peripherals happen via the router/central.
Central is responsible for connecting to nodes advertising themselves as nodes.
Each node (including the router) has a link-local IPv6 address derived from the BLE mac address, but can still register additional non-link-local addresses using standard IPv6 protocols like Neighbour Solicitation (NS).

The L2CAP channel takes care throttling (with the credits system) and disassembly/re-assembly.

The IPv6 headers sent over BLE are compressed in the same format used for IEEE 802.15.4, but the conditions for when to compress are different.

Multicast is an O(n) operation (where n is the number of nodes) rather than a O(1) operation, due to the star topology.

I've mostly gotten the mac logic down, I just need a networking stack to handle the networking.

I looked into implementing the Device trait and I'm trying to figure out which medium to use. Do I need to PR a BLE medium or can I just use the Ip medium.

I'm still trying to figure out if I need to modify smoltcp to work with BLE or if I can do it all behind the Device trait.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions