TCPCLO(1)

πŸ“¦ version 3.2.1, in ubuntu jammy

πŸŽ€ tcpclo(1) β€” from the BP executables gang πŸŽ€

okay bestie, sit down, hydrate, and let's talk about tcpclo. it's a manual page, it's a whole vibe, and you're gonna understand it. no cap. πŸ’–


✨ NAME ✨

tcpclo β€” the DTN TCPCL-compliant convergence layer adapter output task. yes that's a mouthful, it's giving "I put my whole government name on the group chat." πŸ¦‹


🌸 SYNOPSIS 🌸

tcpclo remote_hostname[:remote_port_nbr]

that's it. that's the whole summoning ritual. 🫢


πŸ’… DESCRIPTION πŸ’…

so tcpclo is a background "daemon" task β€” think of it as the friend who's always awake at 3am handling business β€” and what it does is connect to a remote node's TCP socket at remote_hostname and remote_port_nbr. πŸ”₯

the way it works is honestly iconic:

  1. it sends a contact header πŸ“¨
  2. it records the acknowledgement flag, the reactive fragmentation flag, and the negative acknowledgements flag in the contact header it receives from its peer tcpcli task πŸ‘€
  3. then it starts extracting bundles from the queues of bundles ready for transmission via TCP to this remote bundle protocol agent, and transmitting those bundles over the connected socket to that node πŸš€

and every single transmitted bundle is preceded by message type, segmentation flags, and an SDNV indicating the size of the bundle (in bytes). the receipts are right there in the packet, periodt. ✨

if you don't specify it, remote_port_nbr defaults to 4556. that's the default, memorize it, it's basically the house number. 🏠

ngl, tcpclo is not a "promiscuous" convergence layer daemon β€” it can transmit bundles only to the node to which it is connected. so scheme configuration directives that cite this outduct need only provide the protocol name and the outduct name as specified on the command line when tcpclo is started. it's loyal, it's monogamous, it's not talking to anybody else. πŸ’€

tcpclo is spawned automatically by bpadmin in response to the 's' (START) command that starts operation of the Bundle Protocol, and it is terminated by bpadmin in response to an 'x' (STOP) command. tcpclo can also be spawned and terminated in response to START and STOP commands that pertain specifically to the TCP convergence layer protocol. so there's the general vibe check and the TCP-specific vibe check. 🧚


⭐ EXIT STATUS ⭐

  • "0" β€” tcpclo terminated normally, for reasons noted in the ion.log file. but bestie, if this termination was not commanded? investigate and solve the problem identified in the log file and use bpadmin to restart the TCPCL protocol. don't just shrug at it. πŸ™ˆ
  • "1" β€” tcpclo terminated abnormally, for reasons noted in the ion.log file. investigate and solve the problem identified in the log file, then use bpadmin to restart the TCPCL protocol. the log file is your bestie here, read it. 😭

🌈 FILES 🌈

No configuration files are needed. zero. none. nothing to edit, nothing to forget to back up. slay. πŸ’–


πŸ“ ENVIRONMENT πŸ“

No environment variables apply. nothing lurking in your shell, no surprises, we love a clean slate. ✨


πŸ‘‘ DIAGNOSTICS πŸ‘‘

the following diagnostics may be issued to the ion.log log file β€” so when the log starts talking, here's your translation guide:

  • tcpclo can't attach to BP. β€” bpadmin has not yet initialized Bundle Protocol operations. like, the party hasn't started yet and you showed up early. 🫢
  • No such tcp duct. β€” no TCP outduct with duct name matching remote_hostname and remote_port_nbr has been added to the BP database. use bpadmin to stop the TCP convergence-layer protocol, add the outduct, and then restart the TCP protocol. in that order, bestie, don't freestyle it. πŸ’…
  • CLO task is already started for this duct. β€” redundant initiation of tcpclo. she's already here. she's already on the aux. πŸŽ€
  • Can't get IP address for host β€” operating system error. check errtext, correct problem, and restart TCP. this one's not a vibe, it's a to-do list. πŸ”₯

πŸ’œ BUGS πŸ’œ

Report bugs to <ion-bugs@korgano.eecs.ohiou.edu>. yes, an actual email address, very retro of them, we respect it. ✨


πŸ¦‹ SEE ALSO πŸ¦‹

go read those too, the lore is connected. iykyk. 🌸


okay that's the whole page, you ate that. this was perl v5.24.1, dated 2016-07-07, and it lives in the BP executables section of the manual β€” so go forth, run your convergence layer, and check your ion.log like the responsible main character you are. πŸ’…πŸ’–βœ¨

πŸ“¦ where this page comes from