DTN2FW(1)

πŸ“¦ version 3.2.1, in ubuntu jammy

✨ DTN2FW(1) ✨

okay bestie, welcome to the dtn2fw page β€” it lives in the BP executables section of the manual and honestly? it's giving quiet-backstage-hero energy πŸ’…


🌸 NAME 🌸

dtn2fw β€” the bundle route computation task for the "dtn" scheme. no cap, that's the whole job description.


πŸ¦‹ SYNOPSIS πŸ¦‹

dtn2fw

that's it. that's the whole synopsis. no flags, no args, she just exists 🫢


πŸ’– DESCRIPTION πŸ’–

so dtn2fw is a background "daemon" task, which is just fancy talk for "she runs in the background doing her little tasks while you live your life". here's her whole routine, bestie:

  1. she pops bundles off the queue of bundles destined for "dtn"-scheme endpoints πŸŽ€
  2. she computes proximate destinations for those bundles
  3. she appends those bundles to the appropriate queues of bundles pending transmission to those computed proximate destinations

like, she's literally the matchmaker between a bundle and its next hop. main character behavior, fr fr.

for each possible proximate destination (that's your neighboring node, bestie β€” the node right next door), there is a separate queue for each possible level of bundle priority: 0, 1, 2. so yes, three queues per neighbor. every outbound bundle gets appended to the queue that matches the bundle's designated priority. priority 0, 1, 2 β€” she does not mix them up, she is organized πŸ’…

proximate destination computation is affected by static routes, and those are configured by dtn2admin(1). so if the routing is weird, that's a dtn2admin conversation, not a dtn2fw one ✨

now the lore: dtn2fw is spawned automatically by bpadmin in response to the 's' (START) command that starts operation of Bundle Protocol on the local ION node. and she's terminated by bpadmin in response to an 'x' (STOP) command. she can also be spawned and terminated in response to START and STOP commands that pertain specifically to the "dtn" scheme. so she's flexible like that 🌈


πŸ‘‘ EXIT STATUS πŸ‘‘

  • "0" β€” dtn2fw terminated, for reasons noted in the ion.log log file. if this termination was not commanded, bestie, please investigate and solve the problem identified in the log file and use bpadmin to restart dtn2fw 😭
  • "1" β€” dtn2fw could not commence operations, for reasons noted in the ion.log log file. investigate and solve the problem identified in the log file, then use bpadmin to restart dtn2fw.
lowkey both of these say "go read ion.log", so go read ion.log. it's giving homework but it's necessary homework πŸ“

πŸŽ€ FILES πŸŽ€

No configuration files are needed. none. zero. she's low maintenance, she's self-sufficient, she's thriving πŸ’œ


🌸 ENVIRONMENT 🌸

No environment variables apply. nothing to export, nothing to forget to export. iconic. ✨


🧚 DIAGNOSTICS 🧚

the following diagnostics may be issued to the ion.log log file:

  • dtn2fw can't attach to BP. β€” bpadmin has not yet initialized BP operations.
  • dtn2fw can't load routing database. β€” dtn2admin has not yet initialized the "dtn" scheme.
  • Can't create lists for route computation. β€” an unrecoverable database error was encountered. dtn2fw terminates. πŸ’€
  • 'dtn' scheme is unknown. β€” the "dtn" scheme was not added when bpadmin initialized BP operations. use bpadmin to add and start the scheme.
  • Can't take forwarder semaphore. β€” ION system error. dtn2fw terminates. 😭
  • Can't enqueue bundle. β€” an unrecoverable database error was encountered. dtn2fw terminates.
note bestie: three of those say terminates. like, she's gone. so if you see one, that's not a vibe, that's a whole situation πŸ™ˆ

πŸ› BUGS πŸ›

Report bugs to <ion-bugs@korgano.eecs.ohiou.edu>. yes it's an email, yes you should use it, they want to hear from you 🫢


πŸ”₯ SEE ALSO πŸ”₯

bpadmin(1), dtn2admin(1), bprc(5), dtn2rc(5).

iykyk β€” that's your whole reading list right there πŸ“š


and that's the page, bestie!! this was perl v5.24.1 era, dated 2016-07-07, so she's vintage and she's still slaying. periodt πŸ’…βœ¨

πŸ“¦ where this page comes from