.TH "uD3TN" "1" "October 26, 2026" "TOOL" "" .hy .SH NAME .PP \[mc]D3TN - lightweight DTN protocol implementation .SH SYNOPSIS .PP ud3tn [OPTION]\&... .SH DESCRIPTION .PP \[mc]D3TN (pronounced "Micro-Dee-Tee-En") is a free software project intended to offer an implementation of Delay-tolerant Networking protocols for POSIX operating systems (well, and for Linux). .SH OPTIONS .TP -a, --aap-host HOST HOST specifies the IP address or hostname to which the application agent TCP socket should listen. This argument is only considered if no UNIX domain socket is configured. Note that you have to make sure that the port is not exposed externally as AAP does not provide security (e.g. it has no TLS support)! .TP -A, --aap2-host HOST HOST specifies the IP address or hostname to which the AAP 2.0 TCP socket should listen. This argument is only considered if no UNIX domain socket is configured. Note that you have to make sure that the port is not exposed externally as AAP does not provide security (e.g. it has no TLS support)! .TP -b, --bp-version 6|7 provides the Bundle Protocol version (6 or 7) to be used when creating new bundles .TP -c, --cla CLA_OPTIONS provides parameters to the available CLA subsystem according to the syntax documented below .TP -d, --external-dispatch do not load the internal minimal router, allow for using an AAP 2.0 BDM .TP -e, --node-id EID the node ID which is used by the started ud3tn instance for its administrative endpoint. This is used for deriving the endpoint identifiers of integrated agents as well as for applications connected through AAP and AAP 2.0. The EID scheme is detected automatically, whereas the dtn and ipn schemes are supported. In case of dtn-scheme EIDs, a node ID of the form \[dq]dtn://nodename.dtn/\[dq] is expected, in case of ipn-scheme EIDs, a node ID of the form \[dq]ipn:nodenumber.0\[dq] is expected. .TP -h, --help display help and exit .TP -l, --lifetime SECONDS lifetime of a bundle created via AAP .TP -L, --log-level 1|2|3|4 specifies how detailed the output will be (higher log level means more detailed output) .TP -m, --max-bundle-size BYTES threshold used to determine if a bundle has to be fragmented. The effective threshold will be determined as the minimum of this argument and all maximum bundle sizes reported by the activated CLAs. A value of zero means \[dq]unlimited\[dq] (2^64 bytes). .TP -p, --aap-port PORT PORT specifies the TCP port number to which the application agent service should be bound. This argument is only considered if no UNIX domain socket is configured. Note that you have to make sure that the port is not exposed externally as AAP does not provide security (e.g. it has no TLS support)! .TP -P, --aap2-port PORT PORT specifies the TCP port number to which the AAP 2.0 service should be bound. This argument is only considered if no UNIX domain socket is configured. Note that you have to make sure that the port is not exposed externally as AAP does not provide security (e.g. it has no TLS support)! .TP -r, --status-reports enable status reporting .TP -R, --allow-remote-config allow configuration via bundles received through CLAs or from unauthorized AAP clients .TP -s, --aap-socket PATH path to the UNIX domain socket of the application agent service .TP -S, --aap2-socket PATH path to the UNIX domain socket of the AAP 2.0 service .TP -u, --usage print usage summary and exit .TP -x, --bdm-secret-var VAR restrict AAP 2.0 BDM functions to clients providing the secret in the given environment variable VAR. Providing a secret is required in release builds as otherwise all clients could configure arbitrary links and perform bundle forwarding decisions. .PP \[mc]D3TN supports four different Convergence Layer Adapters (CLA): tcpclv3, tcpspp, smtcp and mtcp. Additionally, the persistent storage of \[mc]D3TN is implemented as a special CLA type, currently solely implemented as the sqlite CLA. Parameters are passed to these adapters via the CLA_OPTIONS leveraging the -c option. The TCP based adapters are configured by providing a host name or IP address and port number to which they should listen in the case they are configured as passive. Additionally, if tcpspp or smtcp are configured as active via their third parameter, the provided host name or IP address and port number are used for initiating a TCP connection. The sqlite adapter receives a database file name as supported by SQLite. .PP To for example let tcpclv3 listen on 127.0.0.1 port 4000, the following CLA_OPTIONS should be used: .PP \[dq]tcpclv3:127.0.0.1,4000\[dq] .PP To for example use tcpspp in passive mode listening on 127.0.0.1 port 5000 with APID 123, the following CLA_OPTIONS should be used: .PP \[dq]tcpspp:127.0.0.1,5000,false,123\[dq] .PP The following default CLA_OPTIONS are applied: .PP \[dq]sqlite:file::memory:?cache=shared;tcpclv3:*,4556;smtcp:*,4222,false;mtcp:*,4224\[dq] .SH REPORTING BUGS .PP Please report bugs to . .SH COPYRIGHT .PP See details provided via . .SH AUTHORS Maintained by D3TN GmbH (see the source code for author details).