aboutsummaryrefslogtreecommitdiffstats
path: root/metis/documentation/manpage/metis_daemon.1.html
blob: 75d8c24b1c222e020ca99f21ed5da3f863ef046c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
<!-- Creator     : groff version 1.22.2 -->
<!-- CreationDate: Tue May 26 01:54:12 2015 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
       p       { margin-top: 0; margin-bottom: 0; vertical-align: top }
       pre     { margin-top: 0; margin-bottom: 0; vertical-align: top }
       table   { margin-top: 0; margin-bottom: 0; vertical-align: top }
       h1      { text-align: center }
</style>
<title>metis_daemon</title>

</head>
<body>

<h1 align="center">metis_daemon</h1>

<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#USAGE">USAGE</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<a href="#CAVEATS">CAVEATS</a><br>
<a href="#BUGS">BUGS</a><br>
<a href="#AUTHOR">AUTHOR</a><br>

<hr>


<h2>NAME
<a name="NAME"></a>
</h2>


<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="-3%">


<p><b>metis_daemon</b></p></td>
<td width="15%"></td>
<td width="8%"></td>
<td width="69%">


<p>&mdash; Metis is the CCNx 1.0 forwarder, which runs on
each end system and as a software forwarder on intermediate
systems.</p> </td></tr>
</table>

<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>



<p style="margin-left:11%; margin-top: 1em"><b>metis_daemon</b>
[<b>&minus;&minus;port</b> <i>port</i>]
[<b>&minus;&minus;daemon</b>] [<b>&minus;&minus;capacity</b>
<i>contentStoreSize</i>] [<b>&minus;&minus;log</b>
<i>facility=level</i> ...] [<b>&minus;&minus;log-file</b>
<i>logfile</i>] [<b>&minus;&minus;config</b>
<i>configfile</i>]</p>

<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>



<p style="margin-left:11%; margin-top: 1em"><b>metis_daemon</b>
is the CCNx 1.0 forwarder, which runs on each end system and
as a software forwarder on intermediate systems.
metis_daemon is the program to launch Metis, either as a
console program or a background daemon (detatched from
console). Once running, use the program <b>metis_control</b>
to configure Metis.</p>

<p style="margin-left:11%; margin-top: 1em">Metis is
structured as a set of Listeners, each of which handles a
specific method of listening for packets. For example, a TCP
listener will accept connections on a specific TCP port on a
specific local IP address. An Ethernet listener will accept
frames of a specific EtherType on a specific Interface.</p>

<p style="margin-left:11%; margin-top: 1em">When Metis
accepts a connection, it will create a Connection entry in
the ConnectionTable to represent that peer. For Ethernet, a
Connection is the tuple {dmac, smac, ethertype}. For TCP and
UDP, it is the tuple {source IP, source port, destination
IP, destination port}. The connid (connection ID) becomes
the reverse route index in the Pending Interest Table.</p>

<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>



<p style="margin-left:11%; margin-top: 1em">&minus;&minus;config
<i>configfile</i></p>

<p style="margin-left:26%;">Reads configuration parameters
from <i>configfile</i>. The <i>&minus;&minus;port</i> option
has no effect in this mode and Metis will not listen to any
ports. This means that <b>metis_control</b> will not be able
to connect to Metis to configure it further unless one
includes at least a listener for TCP localhost or a unix
domain socket.</p>

<p style="margin-left:11%;">&minus;&minus;capacity
<i>contentStoreSize</i></p>

<p style="margin-left:26%;">Sets the capacity of the
Content Store to <i>contentStoreSize</i> content objects.
Metis uses a least-recently-used eviction policy. A size of
0 will disable the Content Store.</p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="12%">
</td>
<td width="3%"></td>
<td width="74%">


<p>The Content Store sits on the fast path of the
forwarder, so there is a cost associated with adding and
removing items to the Content Store tables.</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="12%">


<p>&minus;&minus;daemon</p></td>
<td width="3%"></td>
<td width="74%">


<p>Runs Metis in daemon mode, detaching from the console.
It must be run with the <i>&minus;&minus;log-file</i>
option.</p> </td></tr>
</table>

<p style="margin-left:11%;">&minus;&minus;log
<i>facility</i>=<i>level</i></p>

<p style="margin-left:26%;">Sets the log level of the given
<i>facility</i> to the given <i>level</i>. The
<i>&minus;&minus;log</i> option may be repeated several
times setting the log level of different facilities. If the
same facility is listed twice, only the last occurance takes
effect. The default log level is Error for all
facilities.</p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="26%"></td>
<td width="17%">


<p>Facilities:</p></td>
<td width="57%">
</td></tr>
</table>

<p style="margin-left:26%;">&bull;</p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="31%"></td>
<td width="1%"></td>
<td width="3%"></td>
<td width="65%">


<p style="margin-top: 1em">all: All facilities.</p></td></tr>
<tr valign="top" align="left">
<td width="31%"></td>
<td width="1%">


<p>&bull;</p></td>
<td width="3%"></td>
<td width="65%">


<p>config: Configuration activies.</p></td></tr>
<tr valign="top" align="left">
<td width="31%"></td>
<td width="1%">


<p>&bull;</p></td>
<td width="3%"></td>
<td width="65%">


<p>core: Core forwarder, such as startup and shutdown.</p></td></tr>
<tr valign="top" align="left">
<td width="31%"></td>
<td width="1%">


<p>&bull;</p></td>
<td width="3%"></td>
<td width="65%">


<p>io: Listeners, connections, and all I/O related
activities.</p> </td></tr>
<tr valign="top" align="left">
<td width="31%"></td>
<td width="1%">


<p>&bull;</p></td>
<td width="3%"></td>
<td width="65%">


<p>message: CCNx messages, such as parsing.</p></td></tr>
<tr valign="top" align="left">
<td width="31%"></td>
<td width="1%">


<p>&bull;</p></td>
<td width="3%"></td>
<td width="65%">


<p>processor: Forwarding processor, such as CS, FIB, and
PIT activities.</p></td></tr>
</table>

<p style="margin-left:26%; margin-top: 1em">The log levels
are: debug, info, notice, warning, error, critical, alert,
off.</p>

<p style="margin-left:11%;">&minus;&minus;log-file
<i>logfile</i></p>

<p style="margin-left:26%;">Specifies the <i>logfile</i> to
write all log messages. This parameter is required with
<i>&minus;&minus;daemon</i> mode.</p>

<p style="margin-left:11%;">&minus;&minus;port
<i>port</i></p>

<p style="margin-left:26%;">The UDP and TCP port to listen
on. If no <i>configfile</i> is specified, Metis will listen
on this port on all interfaces including localhost.</p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="26%"></td>
<td width="74%">


<p>If this parameter is not given, Metis uses the default
port 9695.</p></td></tr>
</table>

<h2>USAGE
<a name="USAGE"></a>
</h2>



<p style="margin-left:11%; margin-top: 1em"><b>metis_daemon</b>
&minus;&minus;config metis.cfg &minus;&minus;log all=info
&minus;&minus;log config=debug &minus;&minus;log-file
metis.log</p>

<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">See
<b>metis_control(1)</b> for a description of how to
configure <b>metis_daemon</b>.</p>

<p style="margin-left:11%; margin-top: 1em">For a list of
all configuration lines that may be used with
<b>metis_control</b> and by <i>&minus;&minus;config</i>
configuration file, see <b>metis.cfg(5)</b>.</p>

<h2>CAVEATS
<a name="CAVEATS"></a>
</h2>


<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="15%"></td>
<td width="2%">


<p style="margin-top: 1em">&bull;</p></td>
<td width="3%"></td>
<td width="80%">


<p style="margin-top: 1em">A given interface may only have
one Ethernet listener on one EtherType.</p></td></tr>
<tr valign="top" align="left">
<td width="15%"></td>
<td width="2%">


<p>&bull;</p></td>
<td width="3%"></td>
<td width="80%">


<p>If there are multiple longest matching prefix entries
that match an Interest, it will be forwarded to all those
routes (i.e. multicast).</p></td></tr>
<tr valign="top" align="left">
<td width="15%"></td>
<td width="2%">


<p>&bull;</p></td>
<td width="3%"></td>
<td width="80%">


<p>Ethernet fragmentation will only use the interface MTU
and there is not MTU discovery. If Metis is used in a
bridged environment, this may lead to errors if the MTU
changes on different segments, such as a 10G link at 9000
bytes and a 100 Mbps link at 1500 bytes.</p></td></tr>
</table>

<h2>BUGS
<a name="BUGS"></a>
</h2>


<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="15%"></td>
<td width="2%">


<p style="margin-top: 1em">&bull;</p></td>
<td width="3%"></td>
<td width="80%">


<p style="margin-top: 1em">Adding the same listener twice
will cause Metis to crash.</p></td></tr>
<tr valign="top" align="left">
<td width="15%"></td>
<td width="2%">


<p>&bull;</p></td>
<td width="3%"></td>
<td width="80%">


<p>Errors in the configuration file may cause Metis to
crash.</p> </td></tr>
<tr valign="top" align="left">
<td width="15%"></td>
<td width="2%">


<p>&bull;</p></td>
<td width="3%"></td>
<td width="80%">


<p>The command &rsquo;list connections&rsquo; will display
all connections as TCP encapsulation.</p></td></tr>
</table>

<h2>AUTHOR
<a name="AUTHOR"></a>
</h2>


<p>Marc Mosko Palo Alto Research Center</p></table>
<hr>
</body>
</html>