aboutsummaryrefslogtreecommitdiffstats
path: root/metis/documentation/manpage/metis.cfg.5.txt
blob: 3465bc34cb0034ddd0a01cbe60dd41efa7ee3250 (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
          mmeettiiss..ccffgg      (5)  File Formats Manual           mmeettiiss..ccffgg      (5)



NNAAMMEE
       mmeettiiss..ccffgg         --  mmeettiiss..ccffgg  is  an  example of a configuation file
       usable with mmeettiiss__ddaaeemmoonn((11)), though there is nothing special about  the
       actual  filename.   Each  line of the configuration file is also usable
       with mmeettiiss__ccoonnttrrooll((11)).  This document specifies all  available  command
       lines used to configure and query Metis.

       All  commands  have a 'help', so typing 'help command' will display on-
       line help.

       In a configuration file, lines beginning with '#' are comments.


AADDDD CCOOMMMMAANNDDSS
       add connection ether _s_y_m_b_o_l_i_c _d_m_a_c _i_n_t_e_r_f_a_c_e
                 Adds an Ethernet connection on _i_n_t_e_r_f_a_c_e  to the given desti-
                 nation MAC address.  The _s_y_m_b_o_l_i_c name is a symbolic name for
                 the connection, which may be used in later commands, such  as
                 aadddd  rroouuttee.  There must be an Ethernet Listener on the speci-
                 fied interface (see aadddd lliisstteenneerr), and  the  connection  will
                 use  the same EtherType as the Listener. The _d_m_a_c destination
                 MAC address is in hexidecimal with optional "-" or ":"  sepa-
                 rators.


                 A  connection is a target for a later route assignment or for
                 use as an ingress identifier in the PIT.  When using a broad-
                 cast  or  group  address for a connection, an Interest routed
                 over that connection will be broadcast.  Many  receivers  may
                 respond.   When  Metis  receives a broadcast Interest it uses
                 the unicast source MAC for the reverse route -- it will auto-
                 matically create a new connection for the source node and put
                 that in the PIT entry, so  a  Content  Object  answering  the
                 broadcast Interest will only be unicast to the previous hop.


                 add connection ether conn7 e8-06-88-cd-28-de em3


                 add connection ether bcast0 FFFFFFFFFFFF eth0


       add   connection  (tcp|udp)  _s_y_m_b_o_l_i_c  _r_e_m_o_t_e___i_p  _r_e_m_o_t_e___p_o_r_t  _l_o_c_a_l___i_p
       _l_o_c_a_l___p_o_r_t
                 Opens a connection to the specific _r_e_m_o_t_e___i_p (which may be  a
                 hostname, though you do not have control over IPv4 or IPv6 in
                 this case) on _r_e_m_o_t_e___p_o_r_t.  The local endpoint  is  given  by
                 _l_o_c_a_l___i_p _l_o_c_a_l___p_o_r_t.  While the _l_o_c_a_l___i_p _l_o_c_a_l___p_o_r_t are tech-
                 nically optional parameters, the  system's  choice  of  local
                 address  may  not  be  what one expects or may be a different
                 protocols (4 or 6).  The default port is 9695.


                 A TCP connection will go through a TCP connection  establish-
                 ment  and  will  not  register  as  UP  until the remote side
                 accepts.  If one side goes down, the TCP connection will  not
                 auto-restart if it becomes availble again.


                 A  UDP  connection will start in the UP state and will not go
                 DOWN unless there is a serious network error.


                 Opens a connection to 1.1.1.1 on port  1200  from  the  local
                 address 2.2.2.2 port 1300
                           add connection tcp conn0 1.1.1.1 1200 2.2.2.2 1300


                 opens connection to IPv6 address on port 1300
                           add          connection         udp         barney2
                           fe80::aa20:66ff:fe00:314a 1300


       add listener (tcp|udp) _s_y_m_b_o_l_i_c _i_p___a_d_d_r_e_s_s _p_o_r_t

       add listener ether _s_y_m_b_o_l_i_c _i_n_t_e_r_f_a_c_e_N_a_m_e _e_t_h_e_r_t_y_p_e

       add listener local _s_y_m_b_o_l_i_c _p_a_t_h
                 Adds a protocol listener to accept packets of a given  proto-
                 col  (TCP  or UDP or Ethernet).  The _s_y_m_b_o_l_i_c name represents
                 the listener and will be used  in  future  commands  such  as
                 access  list  restrictions.  If using a configuration file on
                 mmeettiiss__ddaaeemmoonn, you must include a listener  on  localhost  for
                 local applications to use.


                 The  _i_p___a_d_d_r_e_s_s is the IPv4 or IPv6 local address to bind to.
                 The _p_o_r_t is the TCP or UDP port to bind to.


                 The _i_n_t_e_r_f_a_c_e_N_a_m_e is the interface to open a  raw  socket  on
                 (e.g. "eth0").  The _e_t_h_e_r_t_y_p_e is the EtherType to use, repre-
                 sented as a 0x hex number (e.g. 0x0801) or an  integer  (e.g.
                 2049).


                 The  _p_a_t_h  parameter specifies the file path to a unix domain
                 socket.  Metis will create this file and remove  it  when  it
                 exits.


                 Listens  to 192.168.1.7 on tcp port 9695 with a symbolic name
                 'homenet'
                           add listener tcp homenet 192.168.1.7 9695


                 Listens to IPv6 localhost on udp port 9695
                           add listener udp localhost6 ::1 9695


                 Listens to interface 'en0' on ethertype 0x0801
                           add listener ether nic0 en0 0x0801


       add route _s_y_m_b_o_l_i_c _p_r_e_f_i_x _p_r_e_f_i_x
                 Adds a static route to a given _p_r_e_f_i_x to the FIB for  longest
                 match.


                 Currently, the _s_y_m_b_o_l_i_c and _c_o_s_t are not used.


LLIISSTT CCOOMMMMAANNDDSS
       list connections
                 Enumerates  the  current connections to Metis.  These include
                 all TCP, UDP, Unix Domain, and Ethernet peers.  Each  connec-
                 tion  has  an connection ID (connid) and a state (UP or DOWN)
                 followed by the local (to metis) and remote addresses.


       list interfaces
                 Enumerates the system interfaces available  to  Metis.   Each
                 interface has an Interface ID, a 'name' (e.g. 'eth0'), an MTU
                 as reported by the system, and one or more addresses.


       list routes
                 Enumerates the routes installed in the FIB.  The _i_f_a_c_e is the
                 out-bound connection.  The _p_r_o_t_o_c_o_l is the the routing proto-
                 col that injected  the  route.   _r_o_u_t_e  is  the  route  type.
                 'LONGEST'  means  longest  matching  prefix and 'EXACT' means
                 exact match.  Only 'LONGEST' is supported.  _c_o_s_t is the  cost
                 of the route.  It is not used.  _n_e_x_t is the nexthop on a mul-
                 tiple access interface.  it is not used because  the  current
                 implementation  uses  one  connection  (iface)  per neighbor.
                 _p_r_e_f_i_x is the CCNx name prefix for the route.


       Examples

       > list connections
       23   UP inet4://127.0.0.1:9695 inet4://127.0.0.1:64260 TCP

       > list interfaces
       int       name lm      MTU
       24        lo0 lm    16384 inet6://[::1%0]:0
       inet4://127.0.0.1:0
       inet6://[fe80::1%1]:0
       25        en0  m     1500 link://3c-15-c2-e7-c5-ca
       inet6://[fe80::3e15:c2ff:fee7:c5ca%4]:0
       inet4://13.1.110.60:0
       inet6://[2620::2e80:a015:3e15:c2ff:fee7:c5ca%0]:0
       inet6://[2620::2e80:a015:a4b2:7e10:61d1:8d97%0]:0
       26        en1  m     1500 link://72-00-04-43-4e-50
       inet4://192.168.1.1:0
       27        en2  m     1500 link://72-00-04-43-4e-51
       28    bridge0  m     1500 link://3e-15-c2-7e-96-00
       29       p2p0  m     2304 link://0e-15-c2-e7-c5-ca

       > list routes
       iface  protocol   route     cost                 next prefix
       23    STATIC LONGEST        1 ---.---.---.---/.... lci:/foo/bar
       Done


RREEMMOOVVEE CCOOMMMMAANNDDSS
       remove connection
                 Not implemented.


       remove route
                 Not implemented.


MMIISSCC CCOOMMMMAANNDDSS
       quit      In interactive mode of mmeettiiss__ccoonnttrrooll, it cause the program to
                 exit.


       set debug Turns  on  the  debugging  flag  in  mmeettiiss__ccoonnttrrooll to display
                 information about its connection to Metis.


       unset debug
                 Turns off the debugging  flag  in  mmeettiiss__ccoonnttrrooll  to  display
                 information about its connection to Metis.


UUSSAAGGEE
       EExxaammppllee LLiinnuuxx mmeettiiss..ccffgg ccoonnffiigguurraattiioonn ffiillee

       #local listeners for applications
       add listener tcp local0 127.0.0.1 9695
       add listener udp local1 127.0.0.1 9695
       add listener local unix0 /tmp/metis.sock

       # add ethernet listener and connection
       add listener ether nic0 eth0 0x0801
       add connection ether conn0 ff:ff:ff:ff:ff:ff eth0
       add route conn0 lci:/ 1

       # add UDP tunnel to remote system
       add connection udp conn1 ccnx.example.com 9695
       add route conn1 lci:/eample.com 1


       EExxaammppllee oonnee--sshhoott mmeettiiss__ccoonnttrrooll ccoommmmaannddss

       mmeettiiss__ccoonnttrrooll list routes
       mmeettiiss__ccoonnttrrooll add listener local unix0 /tmp/metis.sock


SSEEEE AALLSSOO
       mmeettiiss__ccoonnttrrooll((11)) mmeettiiss__ddaaeemmoonn((11))

CCAAVVEEAATTSS
BBUUGGSS
          +o  The output of 'list interfaces' is difficult to read because mul-
             tiple addresses do not align.


AAUUTTHHOORR
       Marc Mosko Palo Alto Research Center



                                                            mmeettiiss..ccffgg      (5)