RNS Logo

rns.recipes

◈ 9ce92808be498e9e05590ff27cbfdfe4
Service restored

Am I misunderstanding LXMF delivery strategies in NomadNet?

Started by jlamothe 8c981edbc6f512d6... ·

jlamothe 32f62870f2d7c418...
#1

So for reasons that don't really matter, I was testing something, and for that test I needed to get a message sent using NomadNet to fail. To accomplish this, I set up a test identity, announced it, and then disconnected. I then tried to send a message to that address with NomadNet, making sure the delivery strategy was set to "Deliver over direct link", but the message appeared to fall back to a propagation node instead. This is the behaviour I would have expected from the "Deliver opportunistically" option.

 

Have I discovered a bug or am I just fundamentally misunderstanding something about how NomadNet and LXMF work? Is there a way I could deliberately cause a message to fail to be delivered in NomadNet?

K8 a361065d039738f6...
#2

You can set try_propagation_on_send_fail = no in your nomadnet config file. I don't think you can currently set it per-message or per-peer with the delivery options, though that would be a useful feature to add.

jlamothe 32f62870f2d7c418...
#3

Interesting. What then is the function of the "Deliver opportunistically" option?

K8 a361065d039738f6...
edited #4

Opportunistic messages (ʼLXMessage.OPPORTUNISTICʼ) are sent in a single Reticulum Packet and use ratchets when they can. They can only support messages that actually fit within the packet MTU after overhead. Direct link messages (ʼLXMessage.DIRECTʼ) try to create a Reticulum Link with the destination if one isn't already available, which can handle single packets over the link, and also allows for sending bigger messages, multiple messages (can be more efficient for an active convo), or attachments. And then propagated messages (ʼLXMessage.PROPAGATEDʼ) obviously go to prop nodes.

 

LXMF will automatically fall-back to direct delivery if an opportunistic message is too big. There might be cases where you want to use a specific method, so you have choices. Opportunistic messages might have a better chance of making it to the destination on slow or unreliable networks where you can't reliably establish a link. Opportunistic messages can use ratchets for a destination if they are available for forward secrecy, whereas every Link uses a new ephemeral key and may have better forward secrecy properties depending on how often ratchet rotation happens.

 

It looks like NomadNet also falls-back in the opposite direction if direct delivery is chosen, but only if there isn't a currently active link to the destination and if there is a ratchet available for the destination, so maybe you don't have quite as much choice here.

jlamothe 32f62870f2d7c418...
#5

Okay, that's nothing like what I thought (which I suspected might be the case). I guess I'll have to read up more on the LXMF protocol.

burger ace748e1c4e3fd4e...
#6

opportunistically just spams link requests for some time
link only tries it once, if doesnt work goes to prop

burger ace748e1c4e3fd4e...
#7

i am pretty sure im saying something wrong but this is what it looks like to me

Post a Reply

Supports Markdown: **bold**, *italic*, `code`, ```code blocks```, [links](url)

Log in to upload images

Quote
Copied to clipboard