|
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 <command> <arguments><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 <parameter> <value><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 <conv_layer> |
|
116 field of the "interface add" and "link add" commands must be "extcl". |
|
117 There is only one required argument -- "protocol=<cla_name>" -- |
|
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=<cla_name>" 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> |