Skip to content

NAME

eppcli - DTN CCSDS Encapsulation Packet Protocol convergence layer input task

SYNOPSIS

eppcli duct_name library_path

DESCRIPTION

eppcli is a background "daemon" task that receives 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 receive encapsulation packets containing bundles via the ENCAPSULATION.indication service primitive.

duct_name is the name of the induct 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).

The provider library must implement the following functions:

  • size_t encapsulation_indication(char *buffer, int *sdlp_channel, int *epi)

    Returns the number of bytes received on success, 0 on error, or 1 for normal stop.

The Encapsulation Protocol Identifier (EPI) for Bundle Protocol is 4 (registered in SANA).

eppcli 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 input 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"

    eppcli terminated normally, for reasons noted in the ion.log file.

  • "1"

    eppcli 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 eppcli.

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:

  • eppcli can't attach to BP.

    bpadmin has not yet initialized Bundle Protocol operations.

  • No such epp duct.

    No EPP induct 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 the encapsulation_indication function.

EXAMPLES

Example bprc configuration:

a protocol epp 1400 100
a induct epp loopback 'eppcli loopback /path/to/libepp_loopback_provider.so'

BUGS

Report bugs to <https://github.com/nasa-jpl/ION-DTN/issues>

SEE ALSO

bpadmin(1), eppclo(1), bprc(5)