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
|
mmeettiiss__ddaaeemmoonn (1)General Commands Manual mmeettiiss__ddaaeemmoonn (1)
NNAAMMEE
mmeettiiss__ddaaeemmoonn — Metis is the CCNx 1.0 forwarder, which runs on each
end system and as a software forwarder on intermediate systems.
SSYYNNOOPPSSIISS
mmeettiiss__ddaaeemmoonn [----ppoorrtt _p_o_r_t] [----ddaaeemmoonn] [----ccaappaacciittyy _c_o_n_t_e_n_t_S_t_o_r_e_S_i_z_e]
[----lloogg _f_a_c_i_l_i_t_y_=_l_e_v_e_l ...] [----lloogg--ffiillee _l_o_g_f_i_l_e] [----ccoonnffiigg _c_o_n_f_i_g_f_i_l_e]
DDEESSCCRRIIPPTTIIOONN
mmeettiiss__ddaaeemmoonn 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 back‐
ground daemon (detatched from console). Once running, use the program
mmeettiiss__ccoonnttrrooll to configure Metis.
Metis is structured as a set of Listeners, each of which handles a spe‐
cific 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 Ether‐
Type on a specific Interface.
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.
OOPPTTIIOONNSS
--config _c_o_n_f_i_g_f_i_l_e
Reads configuration parameters from _c_o_n_f_i_g_f_i_l_e. The _-_-_p_o_r_t
option has no effect in this mode and Metis will not listen
to any ports. This means that mmeettiiss__ccoonnttrrooll 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.
--capacity _c_o_n_t_e_n_t_S_t_o_r_e_S_i_z_e
Sets the capacity of the Content Store to _c_o_n_t_e_n_t_S_t_o_r_e_S_i_z_e
content objects. Metis uses a least-recently-used eviction
policy. A size of 0 will disable the Content Store.
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.
--daemon Runs Metis in daemon mode, detaching from the console. It
must be run with the _-_-_l_o_g_-_f_i_l_e option.
--log _f_a_c_i_l_i_t_y=_l_e_v_e_l
Sets the log level of the given _f_a_c_i_l_i_t_y to the
given _l_e_v_e_l. The _-_-_l_o_g 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.
Facilities:
· all: All facilities.
· config: Configuration activies.
· core: Core forwarder, such as startup and shutdown.
· io: Listeners, connections, and all I/O related activi‐
ties.
· message: CCNx messages, such as parsing.
· processor: Forwarding processor, such as CS, FIB, and
PIT activities.
The log levels are: debug, info, notice, warning, error,
critical, alert, off.
--log-file _l_o_g_f_i_l_e
Specifies the _l_o_g_f_i_l_e to write all log messages.
This parameter is required with _-_-_d_a_e_m_o_n mode.
--port _p_o_r_t
The UDP and TCP port to listen on. If no _c_o_n_f_i_g_f_i_l_e
is specified, Metis will listen on this port on all inter‐
faces including localhost.
If this parameter is not given, Metis uses the default port
9695.
UUSSAAGGEE
mmeettiiss__ddaaeemmoonn --config metis.cfg --log all=info --log config=debug
--log-file metis.log
SSEEEE AALLSSOO
See mmeettiiss__ccoonnttrrooll((11)) for a description of how to configure mmeettiiss__ddaaee‐‐
mmoonn.
For a list of all configuration lines that may be used with mmeettiiss__ccoonn‐‐
ttrrooll and by _-_-_c_o_n_f_i_g configuration file, see mmeettiiss..ccffgg((55)).
CCAAVVEEAATTSS
· A given interface may only have one Ethernet listener on one
EtherType.
· If there are multiple longest matching prefix entries that match
an Interest, it will be forwarded to all those routes (i.e. mul‐
ticast).
· 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.
BBUUGGSS
· Adding the same listener twice will cause Metis to crash.
· Errors in the configuration file may cause Metis to crash.
· The command 'list connections' will display all connections as
TCP encapsulation.
AAUUTTHHOORR
Marc Mosko Palo Alto Research Center
mmeettiiss__ddaaeemmoonn (1)
|