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)