NAME
eppclo - DTN CCSDS Encapsulation Packet Protocol convergence layer output task
SYNOPSIS
eppclo duct_name library_path sdlp_channel
DESCRIPTION
eppclo is a background "daemon" task that transmits bundles encapsulated in CCSDS Encapsulation Packets (per CCSDS 734.20-O-1) using a dynamically loaded provider library.
The task loads the provider library specified by library_path using dynamic linking (dlopen) and uses it to send encapsulation packets containing bundles via the ENCAPSULATION.request service primitive.
duct_name is the name of the outduct as configured in the BP database.
library_path is the full path to the provider shared library (e.g., /usr/local/lib/libepp_loopback_provider.so).
sdlp_channel is the SDLP (Space Data Link Protocol) channel identifier, a mission-specific integer.
The provider library must implement the following functions:
- void init_epp_sender(void)
- void finalize_epp_sender(void)
-
int encapsulation_request(unsigned char *data, size_t length, int sdlp_channel, int epi)
Returns the number of bytes sent on success, or negative on error.
The Encapsulation Protocol Identifier (EPI) for Bundle Protocol is 4 (registered in SANA) and is set automatically by the CLA.
eppclo is spawned automatically by bpadmin in response to the 's' (START) command that starts operation of the Bundle Protocol; the text of the command that is used to spawn the task must be provided at the time the "epp" convergence layer protocol is added to the BP database. The convergence layer output task is terminated by bpadmin in response to an 'x' (STOP) command.
EPP CHARACTERISTICS
- Maximum bundle size: 4,294,967,287 bytes per CCSDS 734.20-O-1 (ION uses 1MB buffer)
- EPI for Bundle Protocol: 4
- Simpler than SPP with no sequence counting at the CLA level
EXIT STATUS
-
"0"
eppclo terminated normally, for reasons noted in the ion.log file.
-
"1"
eppclo 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 eppclo.
FILES
No configuration files are needed. The provider library must be accessible at the specified path.
ENVIRONMENT
No environment variables apply.
DIAGNOSTICS
The following diagnostics may be issued to the ion.log log file:
-
eppclo can't attach to BP.
bpadmin has not yet initialized Bundle Protocol operations.
-
No such epp duct.
No EPP outduct matching duct_name has been added to the BP database.
-
Failed to load provider library.
The specified shared library could not be loaded.
-
Failed to find required function in provider library.
The provider library does not export all required functions.
EXAMPLES
Example bprc configuration (SDLP channel = 42):
a protocol epp 1400 100
a outduct epp loopback 'eppclo loopback /path/to/libepp_loopback_provider.so 42'
BUGS
Report bugs to <https://github.com/nasa-jpl/ION-DTN/issues>
SEE ALSO
bpadmin(1), eppcli(1), bprc(5)