diff options
Diffstat (limited to 'docs/source/hicn-light.md')
-rw-r--r-- | docs/source/hicn-light.md | 127 |
1 files changed, 40 insertions, 87 deletions
diff --git a/docs/source/hicn-light.md b/docs/source/hicn-light.md index 90e0afc91..f5012f8e9 100644 --- a/docs/source/hicn-light.md +++ b/docs/source/hicn-light.md @@ -11,15 +11,14 @@ to communicate. Build dependencies: -- C99 ( clang / gcc ) -- CMake 3.4 +- C11 ( clang / gcc ) +- CMake 3.10 Basic dependencies: - OpenSSL - pthreads - libevent -- libparc ## hicn-light executables @@ -37,31 +36,27 @@ The command `hicn-light-daemon` runs the hicn-light forwarder. The forwarder can with the following options: ```bash -hicn-light-daemon [--port port] [--daemon] [--capacity objectStoreSize] [--log facility=level] +hicn-light-daemon [--port port] [--daemon] [--capacity objectStoreSize] [--log level] [--log-file filename] [--config file] Options: ---port <tcp_port> = tcp port for local in-bound connections ---daemon = start as daemon process ---capacity <capacity> = maximum number of content objects to cache. To disable the cache - objectStoreSize must be 0. - Default vaule for objectStoreSize is 100000 ---log <log_granularity> = sets a facility to a given log level. You can have multiple of these. - facilities: all, config, core, io, message, processor - levels: debug, info, notice, warning, error, critical, alert, off - example: hicn-light-daemon --log io=debug --log core=off ---log-file <output_logfile> = file to write log messages to (required in daemon mode) ---config <config_path> = configuration filename +--port <tcp_port> = tcp port for local in-bound connections +--daemon = start as daemon process +--capacity <objectStoreSize> = maximum number of content objects to cache. To disable the cache + objectStoreSize must be 0. + Default vaule for objectStoreSize is 100000 +--log <log_granularity> = sets the log level. Available levels: trace, debug, info, warn, error, fatal +--log-file <output_logfile> = file to write log messages to (required in daemon mode) +--config <config_path> = configuration filename ``` The configuration file contains configuration lines as per hicn-light-control (see below for all the available commands). If logging level or content store capacity is set in the configuration -file, it overrides the command_line. When a configuration file is specified, no default listeners -are setup. Only 'add listener' lines in the configuration file matter. +file, it overrides the command_line. -If no configuration file is specified, hicn-light-daemon will listen on TCP and UDP ports specified -by the --port flag (or default port). It will listen on both IPv4 and IPv6 if available. The -default port for hicn-light is 9695. Commands are expected on port 2001. +In addition to the listeners setup in the configuration file, hicn-light-daemon will listen +on TCP and UDP ports specified by the --port flag (or default port). +It will listen on both IPv4 and IPv6 if available. The default port for hicn-light is 9695. ### hicn-light-control @@ -82,28 +77,20 @@ This is the full list of available commands in `hicn-light-control`. This comman from the command line running `hicn-light-control` as explained before, or listing them in a configuration file. -Information about the commands are also available in the `hicn-light-control` help message. +The list of commands can be navigated using `hicn-light-control help`, `hicn-light-control help <object>`, `hicn-light-control help <object> <action>`. `add listener`: creates a TCP or UDP listener with the specified options on the local forwarder. For local connections (application to hicn-light) we expect a TCP listener. The default port for the local listener is 9695. ```bash -add listener <protocol> <symbolic> <local_adress> <local_port> +add listener <protocol> <symbolic> <local_address> <local_port> <interface> <symbolic> :User defined name for listener, must start with alpha and bealphanum <protocol> :tcp | udp <localAddress> :IPv4 or IPv6 address <local_port> :TCP/UDP port -``` - -`add listener hicn`: creates a hicn listener with the specified options on the local forwarder. - -```bash -add listener hicn <symbolic> <local_adress> - - <symbolic> :User defined name for listener, must start with alpha and be alphanum - <localAddress> :IPv4 or IPv6 address + <interface> :interface on which to bind ``` `add connection`: creates a TCP or UDP connection on the local forwarder with the specified options. @@ -119,17 +106,6 @@ add connection <protocol> <symbolic> <remote_ip> <remote_port> <local_ip> <local <local_port> : local TCP/UDP port ``` -`add connection hicn`: creates an hicn connection on the local forwarder with the specified options. - -```bash -add connection hicn <symbolic> <remote_ip> <local_ip> - - <symbolic> : symbolic name, e.g. 'conn1' (must be unique, start with alpha) - <remote_ip> : the IPv4 or IPv6 of the remote system - <local_ip> : local IP address to bind to - -``` - `list`: lists the connections, routes or listeners available on the local hicn-light forwarder. ```bash @@ -142,7 +118,7 @@ list <connections | routes | listeners> add route <symbolic | connid> <prefix> <cost> <symbolic> :The symbolic name for an exgress (must be unique, start with alpha) - <connid>: :The egress connection id (see 'help list connections') + <connid>: :The egress connection id (see 'list connection' command) <prefix>: :ipAddress/netmask <cost>: :positive integer representing cost ``` @@ -151,11 +127,10 @@ add route <symbolic | connid> <prefix> <cost> only for UDP connections, TCP is ignored. ```bash -remove connection <protocol> <symbolic | connid> +remove connection <symbolic | connid> - <protocol> : tcp | upd. This is the protocol used to create the connection. <symbolic> :The symbolic name for an exgress (must be unique, start with alpha) - <connid>: :The egress connection id (see 'help list connections') + <connid>: :The egress connection id (see 'list connection' command) ``` @@ -168,24 +143,24 @@ remove route <symbolic | connid> <prefix> <prefix> : the prefix (ipAddress/netmask) to remove ``` -`cache serve`: enables/disables replies from local content store (if available). +`serve cache`: enables/disables replies from local content store (if available). ```bash -cache serve <on|off> +serve cache <on|off> ``` -`cache store`: enables/disables the storage of incoming data packets in the local content store +`store cache`: enables/disables the storage of incoming data packets in the local content store (if available). ```bash -cache store <on|off> +store cache <on|off> ``` -`cache clear`: removes all the cached data form the local content store (if available). +`clear cache`: removes all the cached data form the local content store (if available). ```bash -cache clear +clear cache ``` `set strategy`: sets the forwarding strategy for a give prefix. There are 4 different strategies @@ -200,12 +175,14 @@ implemented in hicn-light: ICNP 2013. - **low_latency**: uses the face with the lowest latency. In case more faces have similar latency the strategy uses them in parallel. +- **replication** +- **bastpath** ```bash set strategy <prefix> <strategy> <preifx> : the prefix to which apply the forwarding strategy - <strategy> : random | loadbalancer | low_latency + <strategy> : random | loadbalancer | low_latency | replication | bestpath ``` `set wldr`: turns on/off WLDR on the specified connection. WLDR (Wireless Loss Detiection and @@ -224,36 +201,13 @@ set wldr <on|off> <symbolic | connid> ``` -`add punting`: add punting rules to the forwarders. - -```bash -add punting <symbolic> <prefix> - - <symbolic> : listener symbolic name - <address> : prefix to add as a punting rule. (example 1234::0/64) -``` - -`mapme enable`: enables/disables mapme. - -```bash -mapme enable <on|off> -``` -`mapme discovery`: enables/disables mapme discovery. - -```bash -mapme discovery <on|off> -``` - -`mapme timescale`: set the timescale value expressed in milliseconds. - -```bash -mapme timescale <milliseconds> -``` - -`mapme retx`: set the retransmission time value expressed in millisecond. +`set mapme`: enables/disables mapme, enables/disables mapme discovery, set the timescale value (expressed in milliseconds), set the retransmission time value (expressed in milliseconds). ```bash -mapme retx <milliseconds> +mapme set enable <on|off> +mapme set discovery <on|off> +mapme set timescale <milliseconds> +mapme set retx <milliseconds> ``` `quit`: exits the interactive bash. @@ -264,13 +218,12 @@ This is an example of a simple configuration file for hicn-light. It can be load the command `hicn-light-daemon --config configFile.cfg`, assuming the file name is `configFile.cfg`. ```bash -#create a local listener on port 9199. This will be used by the applications to talk -with the forwarder -add listener udp local0 192.168.0.1 9199 +# Create a local listener on port 9199. This will be used by the applications to talk with the forwarder +add listener udp local0 192.168.0.1 9199 eth0 -#create a connection with a remote hicn-light-daemon, with a listener on 192.168.0.20 12345 -add connection udp conn0 192.168.0.20 12345 192.168.0.1 9199 +# Create a connection with a remote hicn-light-daemon, with a listener on 192.168.0.20 12345 +add connection udp conn0 192.168.0.20 12345 192.168.0.1 9199 eth0 -#add a route toward the remote node +# Add a route toward the remote node add route conn0 c001::/64 1 ``` |