doc/manual/cl-extcl.html
changeset 0 2b3e5ec03512
equal deleted inserted replaced
-1:000000000000 0:2b3e5ec03512
       
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
       
     2 <html>
       
     3 <head>
       
     4   <title>DTN2 Manual: TCP Convergence Layer</title>
       
     5   <link rel="stylesheet" type="text/css" href="manual.css">
       
     6 </head>
       
     7 <body>
       
     8 <h1>External Convergence Layer
       
     9 </h1>
       
    10 <p>The external convergence layer (ECL) is the gateway between DTN2 and
       
    11 convergence layer adapters (CLAs) running outside of DTN2. External
       
    12 CLAs connect to DTN2 through a socket and exchange XML messages. The
       
    13 first of these messages is one that announces the presence of the new
       
    14 CLA, giving its name (usually the name of the protocol that the CLA
       
    15 implements) to the ECL.<br>
       
    16 </p>
       
    17 <a name="ecla cmd"/>
       
    18 <h2>ECLA Commands</h2>
       
    19 <p>The following commands are available to control the ECL. The
       
    20 commands are of the form:<br>
       
    21 </p>
       
    22 <pre style="margin-left: 40px;">ecla &lt;command&gt; &lt;arguments&gt;<br></pre>
       
    23 <br>
       
    24 <table style="text-align: left; width: 50%;" border="0" cellpadding="2"
       
    25  cellspacing="2">
       
    26   <tbody>
       
    27     <tr>
       
    28       <th
       
    29  style="vertical-align: top; background-color: grey; text-align: center;"><span
       
    30  style="font-weight: bold;">Name</span><br>
       
    31       </th>
       
    32       <th
       
    33  style="vertical-align: top; background-color: grey; text-align: center;"><span
       
    34  style="font-weight: bold;">Description</span><br>
       
    35       </th>
       
    36       <th style="vertical-align: top;">Arguments<br>
       
    37       </th>
       
    38     </tr>
       
    39     <tr>
       
    40       <td style="vertical-align: top;">start<br>
       
    41       </td>
       
    42       <td style="vertical-align: top;">Start the ECL by adding it to
       
    43 DTN2's list of convergence layers and listening for connections from
       
    44 external CLAs.<br>
       
    45       </td>
       
    46       <td style="vertical-align: top;">None<br>
       
    47       </td>
       
    48     </tr>
       
    49   </tbody>
       
    50 </table>
       
    51 <p><br>
       
    52 </p>
       
    53 <h2>ECLA Parameters</h2>
       
    54 <p>The following parameters are available to control the ECL. The
       
    55 commands are of the form:<br>
       
    56 </p>
       
    57 <pre style="margin-left: 40px;">ecla set &lt;parameter&gt; &lt;value&gt;<br></pre>
       
    58 <br>
       
    59 <table style="text-align: left; width: 50%;" border="0" cellpadding="2"
       
    60  cellspacing="2">
       
    61   <tbody>
       
    62     <tr>
       
    63       <th style="vertical-align: top; text-align: center;"><span
       
    64  style="font-weight: bold;">Name</span><br>
       
    65       </th>
       
    66       <th style="vertical-align: top; text-align: center;"><span
       
    67  style="font-weight: bold;">Type</span><br>
       
    68       </th>
       
    69       <th style="vertical-align: top; text-align: center;"><span
       
    70  style="font-weight: bold;">Default</span><br>
       
    71       </th>
       
    72       <th style="vertical-align: top; text-align: center;"><span
       
    73  style="font-weight: bold;">Comment</span><br>
       
    74       </th>
       
    75     </tr>
       
    76     <tr>
       
    77       <td style="vertical-align: top;">schema<br>
       
    78       </td>
       
    79       <td style="vertical-align: top;">String<br>
       
    80       </td>
       
    81       <td style="vertical-align: top;">None<br>
       
    82       </td>
       
    83       <td style="vertical-align: top;">The path to the schema (XSD)
       
    84 file defining the messages between the ECL and CLAs. The ECL will not
       
    85 work if this is not set correctly.<br>
       
    86       </td>
       
    87     </tr>
       
    88     <tr>
       
    89       <td style="vertical-align: top;">server_addr<br>
       
    90       </td>
       
    91       <td style="vertical-align: top;">IP address or a DNS hostname</td>
       
    92       <td style="vertical-align: top;">127.0.0.1<br>
       
    93       </td>
       
    94       <td style="vertical-align: top;">The address on which to listen
       
    95 for connections from external CLAs.<br>
       
    96       </td>
       
    97     </tr>
       
    98     <tr>
       
    99       <td style="vertical-align: top;">server_port<br>
       
   100       </td>
       
   101       <td style="vertical-align: top;">IP port number<br>
       
   102       </td>
       
   103       <td style="vertical-align: top;">5070<br>
       
   104       </td>
       
   105       <td style="vertical-align: top;">The port on which to listen for
       
   106 connections from external CLAs.<br>
       
   107       </td>
       
   108     </tr>
       
   109   </tbody>
       
   110 </table>
       
   111 <p><br>
       
   112 </p>
       
   113 <h2>Interfaces and Links</h2>
       
   114 <p>Interfaces and links for external CLAs are created and manipulated
       
   115 in the same way as are those for built-in CLAs. The &lt;conv_layer&gt;
       
   116 field of the "interface add" and "link add" commands must be "extcl".
       
   117 There is only one required argument -- "protocol=&lt;cla_name&gt;" --
       
   118 that must follow that. This argument specifies the actual external CLA
       
   119 on which to create the interface or link and should match the name
       
   120 given by one of the CLAs. Any other arguments following
       
   121 "protocol=&lt;cla_name&gt;" will be passed through to the external CLA.
       
   122 For example, the following will create an interface on an external CLA
       
   123 that implements TCP (and is named "tcp"):<br>
       
   124 </p>
       
   125 <pre style="margin-left: 40px;">interface add iface_tcp0 extcl protocol=tcp local_addr=127.0.1.1 local_port=5000<br></pre>
       
   126 <p>The following will create a link on the same external CLA:<br>
       
   127 </p>
       
   128 <pre style="margin-left: 40px;">link add link_tcp0 127.0.1.2:5000 ONDEMAND extcl protocol=tcp<br></pre>
       
   129 <p>If an interface or a link is added on a protocol for which there yet
       
   130 exists no CLA, the interface or link will be held until such a CLA
       
   131 connects. In this case, links will remain UNAVAILABLE until the CLA
       
   132 connects.<br>
       
   133 </p>
       
   134 
       
   135 For more more information see <a href="external-router-interface.html">External Router Interface</a> document
       
   136 </body>
       
   137 </html>