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