So apparently on cjdns your node keeps track of routes to all other notes that have addresses close to yours -- even if that means they are actually very far away from you on the network (because addresses are just public keys). Then when you want to contact someone you find a route to the closest address of those you know and send your packet there, then the receiver has to find another route and so on -- which sounds terribly inefficient as these packets will travel through the entire globe many times before they reach the destination, and that doesn't make sense, so I am obviously missing something.
Discussion
On Yggdrasil (by the way both cjdns and Yggdrasil supposedly do "source routing" and maybe it's even onion-routing which means the sender computes the route and sends routing information inside the packet) there is supposedly a spanning tree with a root node which to me doesn't make sense and then somehow something happens and you calculate a route?
Reticulum I have no idea whatsoever.
the problem with source routing is failures and congestions on paths that your router selects, and this is due to the inherent latency and anonymity issues of keeping the whole network state updated... especially the congestion issue
i've thought about a few ways to deal with that congestion stuff, and i know that tor solves a lot of it by requiring "telescoping" a connection ahead of using it
source routing sucks
the main reason why lightning has issues at times, when your node or your recipient node constructs a route that includes ded nodes in between
i've thought about ways to alleviate this problem with redundancy added to AMP but it's just inherent in source routing
for payments, it's a really hard problem to solve because path selection and the cryptography limit what you can do, but for network traffic aside from trust issues i don't see why it can't be done with path routing
tor uses source routing too but it adds a delay to the process by checking the path is working before handing it back to the proxy code as a working path, probably similar solutions might work for LN and CJDNS