DCCPCLO(1)

πŸ“¦ version 3.2.1, in ubuntu jammy

πŸ’« DCCPCLO(1) πŸ’«

okay bestie, buckle up, we're talking about dccpclo from the BP executables crew, and honestly? she's giving quiet background daemon energy and I am obsessed πŸ’…


🌸 NAME 🌸

dccpclo β€” the DCCP-based BP convergence layer output task. that's it, that's the girl 🫢


✨ SYNOPSIS ✨

dccpclo remote_hostname[:remote_port_nbr]

πŸ¦‹ DESCRIPTION πŸ¦‹

so like, dccpclo is a background "daemon" task, no cap. she connects to a remote node's DCCP socket over at remote_hostname and remote_port_nbr, and then she just starts doing her thing: pulling bundles out of the queues of bundles that are ready to go out via DCCP to that remote bundle protocol agent, and transmitting them as DCCP datagrams to the remote host. main character behavior, truly πŸ’–

if you don't specify it, remote_port_nbr defaults to 4556. defaults are a gift, use them ✨

important vibe check: dccpclo is not a "promiscuous" convergence layer daemon. she can only transmit bundles to the node she's connected to, periodt. so any scheme configuration directives that cite this outduct only need to give the protocol name and the outduct name, exactly as specified on the command line when dccpclo was started. no extra drama required πŸ’…
also important: dccpclo has no fragmentation support at all. like, zero, none, nope. so the biggest bundle that can go through this convergence layer is limited to just under the link's MTU (typically 1500 bytes). keep it smol bestie 😭

dccpclo gets spawned automatically by bpadmin when it hears the 's' (START) command that kicks off Bundle Protocol operation, and she gets terminated by bpadmin when it hears an 'x' (STOP) command. she can also be spawned and terminated in response to START and STOP commands that pertain specifically to the DCCP convergence layer protocol. flexible queen πŸ‘‘


πŸ‘‘ EXIT STATUS πŸ‘‘

  • "0" β€” dccpclo terminated normally, for reasons noted in the ion.log file. if this termination was not commanded by you, go investigate, solve the problem the log file is pointing at, and use bpadmin to restart dccpclo. (she's fine she's fine, just check the log πŸ™ˆ)
  • "1" β€” dccpclo 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 dccpclo. not the slay we wanted πŸ’€

πŸŽ€ FILES πŸŽ€

no configuration files are needed. literally none. she's low maintenance and we love that for her 🫢


🌈 ENVIRONMENT 🌈

no environment variables apply. nothing to export, nothing to source, we stay unbothered ✨


πŸ”₯ DIAGNOSTICS πŸ”₯

here's the tea β€” these diagnostics may get issued to the ion.log log file:

  • dccpclo can't attach to BP. β€” bpadmin has not yet initialized Bundle Protocol operations. she's knocking and nobody's home 😭
  • No memory for DCCP buffer in dccpclo. β€” ION system error. check errtext, correct the problem, and restart dccpclo.
  • No such dccp duct. β€” no DCCP outduct matching local_hostname and local_port_nbr has been added to the BP database. use bpadmin to stop the DCCP convergence-layer protocol, add the outduct, and then restart dccpclo. gotta register her first bestie πŸ’…
  • CLO task is already started for this duct. β€” redundant initiation of dccpclo. she's already here. she's already doing it. stop it 😀
  • dccpclo can't get IP address for host. β€” operating system error. check errtext, correct the problem, and restart dccpclo.
  • dccpclo can't create thread. β€” operating system error. check errtext, correct the problem, and restart dccpclo.
  • CLO can't open DCCP socket. This probably means DCCP is not supported on your system. β€” operating system error. this probably means you are not using an operating system that supports DCCP. make sure you're using a current Linux kernel and that the DCCP modules are being compiled. check errtext, correct the problem, and restart dccpclo. (yes, she said it twice, it's that serious 🚨)
  • CLO can't initialize socket. β€” operating system error. check errtext, correct the problem, and restart dccpclo.
  • CLO send() error on socket. β€” operating system error. check errtext, correct the problem, and restart dccpclo.
  • Bundle is too big for DCCP CLO. β€” configuration error: bundles that are too large for DCCP transmission (i.e., larger than the MTU of the link or 65535 bytes β€” whichever is smaller) are being enqueued for dccpclo. change routing or use smaller bundles. she told you she doesn't do fragmentation, bestie 😭

πŸ’€ BUGS πŸ’€

found a bug? report it to <ion-bugs@korgano.eecs.ohiou.edu> β€” the girlies in Ohio are waiting 🫢


🌟 SEE ALSO 🌟

bpadmin(1), bprc(5), dccpcli(1) β€” go read these next, they're iconic too πŸ‘‘


and that's the whole page, bestie!! this was perl v5.24.1, dated 2016-07-07, page DCCPCLO(1) β€” a certified classic from the BP executables era πŸŽ€πŸ’–βœ¨

πŸ“¦ where this page comes from