hey,
Transport::start() only initializes the path table, known destinations and packet hashlist stores inside if (Reticulum::transport_enabled()) (Transport.cpp:380). with transport off those never get set up, so Identity::remember() fails on every inbound announce and no path gets added.
node still announces, still comes up clean, just can't reach anything. took a while to find for that reason.
env:
- microReticulum 40fa628 (0.5.0-8), current master
- native build, pio -e native17, running test_interop. not on hardware yet
- macOS
- python RNS 1.4.2, 1.1.9, 1.2.9, same on all three
- transport_enabled(false), RNS_USE_FS
repro: set transport_enabled(false), run any of the four test_interop scenarios against a python peer. expected is the announce gets remembered and a path added. instead all four fail the same way. initialize the stores and all four pass both directions.
[ERR] remember: failed to store identity for Identity.cpp:240
[ERR] Failed to add destination to path table! Transport.cpp:2652
a node with transport off still needs to remember who it's heard from, so those three inits don't look transport-specific to me. tunnel table and probe destination do.
running it that way here if it's useful: https://github.com/wet-bulb/microReticulum/tree/fix/transport-store-init
can turn it into a PR or leave it with you, whichever you'd rather.
gel
hey,
Transport::start() only initializes the path table, known destinations and packet hashlist stores inside if (Reticulum::transport_enabled()) (Transport.cpp:380). with transport off those never get set up, so Identity::remember() fails on every inbound announce and no path gets added.
node still announces, still comes up clean, just can't reach anything. took a while to find for that reason.
env:
repro: set transport_enabled(false), run any of the four test_interop scenarios against a python peer. expected is the announce gets remembered and a path added. instead all four fail the same way. initialize the stores and all four pass both directions.
[ERR] remember: failed to store identity for Identity.cpp:240
[ERR] Failed to add destination to path table! Transport.cpp:2652
a node with transport off still needs to remember who it's heard from, so those three inits don't look transport-specific to me. tunnel table and probe destination do.
running it that way here if it's useful: https://github.com/wet-bulb/microReticulum/tree/fix/transport-store-init
can turn it into a PR or leave it with you, whichever you'd rather.
gel