Re: Replay protection


Steve Brown
 

On Sun, 2017-12-10 at 10:00 +0200, Johan Hedberg wrote:
Hi Steve,

On Sat, Dec 09, 2017, Steve Brown wrote:
Are you mixing transaction id (a model layer feature) and
sequence
number (network/transport layer feature)? I didn't see any
indication that your handlers would be getting the same squence
number multiple times, rather they're getting the same
transaction
id multiple times. Sequence number duplicates should get
filtered
out latest by the transport layer's replay protection (if the
network message cache didn't catch them before that).
Yes, I've conflated sequence number and transaction id.

It's clear now.

Thanks for the clarification,
No problem. A few more thoughts:

That said, can't you get
satisfactory
reliability by fine-tuning the Network Transmit state and leaving the
Publish Retransmit state at zero? The general usefulness of the Model
Publish Retransmit state has always been a bit unclear to me since
there's already the lower-layer Network Transmit state. The only use
I can think of is if you want one model to have a higher message
delivery reliability than another (since the state is per-model).


Johan
I agree. Just a few nodes with relay enabled and a nominal TTL of 7
would create a lot of traffic.

The retransmit count and period are hardwired to 2 and 200 ms (4 *
50ms) respectively in meshctl. I'll add a parameter to set-pub.

Steve

Join devel@lists.zephyrproject.org to automatically receive all group messages.