Mesh: Limit of PDUs sent within a moving 10-second window


Martin <ma@...>
 

Hi,
the Bluetooth Mesh Profile specification says that "A node should
originate less than 100 Lower Transport PDUs in a moving 10-second
window." on p. 94.
Can anyone tell me if Zephyr OS is observing this limit and possibly
discarding packets that break this constraint or whether I have to
ensure that I do not break this limit on my own?

Thanks,
Martin


Johan Hedberg
 

Hi Martin,

On 12 Dec 2018, at 14.42, Martin <ma@jgs-wg.de> wrote:
the Bluetooth Mesh Profile specification says that "A node should
originate less than 100 Lower Transport PDUs in a moving 10-second
window." on p. 94.
Can anyone tell me if Zephyr OS is observing this limit and possibly
discarding packets that break this constraint or whether I have to
ensure that I do not break this limit on my own?
We’re not trying to enforce anything like that as receivers. As senders it’s also not really possible to exceed it currently. Even with the minimum advertising interval (20ms) and default Network Transmit State (with 2 retransmissions) the stack takes 120ms to send out any given PDU, so even if you had a continuous flow of outgoing packets you’ll still be below the recommended maximum (note that it’s a recommended, not required one since the spec uses “should” for this.

In the future, once we have Mesh vendor HCI extensions in place we might be able to do send out packets more efficiently, and then we can revisit this issue to see if some enforcement needs to be done in the stack or whether to leave this up to the application.

Johan