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)