External Convergence Layer

The external convergence layer (ECL) is the gateway between DTN2 and convergence layer adapters (CLAs) running outside of DTN2. External CLAs connect to DTN2 through a socket and exchange XML messages. The first of these messages is one that announces the presence of the new CLA, giving its name (usually the name of the protocol that the CLA implements) to the ECL.

ECLA Commands

The following commands are available to control the ECL. The commands are of the form:

ecla <command> <arguments>

Name
Description
Arguments
start
Start the ECL by adding it to DTN2's list of convergence layers and listening for connections from external CLAs.
None


ECLA Parameters

The following parameters are available to control the ECL. The commands are of the form:

ecla set <parameter> <value>

Name
Type
Default
Comment
schema
String
None
The path to the schema (XSD) file defining the messages between the ECL and CLAs. The ECL will not work if this is not set correctly.
server_addr
IP address or a DNS hostname 127.0.0.1
The address on which to listen for connections from external CLAs.
server_port
IP port number
5070
The port on which to listen for connections from external CLAs.


Interfaces and Links

Interfaces and links for external CLAs are created and manipulated in the same way as are those for built-in CLAs. The <conv_layer> field of the "interface add" and "link add" commands must be "extcl". There is only one required argument -- "protocol=<cla_name>" -- that must follow that. This argument specifies the actual external CLA on which to create the interface or link and should match the name given by one of the CLAs. Any other arguments following "protocol=<cla_name>" will be passed through to the external CLA. For example, the following will create an interface on an external CLA that implements TCP (and is named "tcp"):

interface add iface_tcp0 extcl protocol=tcp local_addr=127.0.1.1 local_port=5000

The following will create a link on the same external CLA:

link add link_tcp0 127.0.1.2:5000 ONDEMAND extcl protocol=tcp

If an interface or a link is added on a protocol for which there yet exists no CLA, the interface or link will be held until such a CLA connects. In this case, links will remain UNAVAILABLE until the CLA connects.