Hi,
It looks like there is a bug in daemon IV update procedure handling.
When node with iv=n and ivu=False receives beacon it should:
a. beacon with IV=n+1, IVU=True - set own IVU=True, send with IV=n,
don't reset sequence
b. beacon with IV=n+1, IVU=False - set own IV=n+1, send with IV=n+1
and reset sequence
Currently, when daemon receives beacon with IV=n+1, IVU=False it will
start sending messages with new IV and set sequence to 0.
However if daemon receives another beacon with IV=n+1, IVU=True it
will go back to sending messages with old IV=n (IVU will be set to
True).
Because sequence number has been reset those messages will be dropped
by replay protection and node will lose communication.
Once IV is updated daemon should not go back to using the old value.
--
Rafał Gajda
Silvair Sp. z o.o.