aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/hicn-light.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/source/hicn-light.md')
-rw-r--r--docs/source/hicn-light.md92
1 files changed, 35 insertions, 57 deletions
diff --git a/docs/source/hicn-light.md b/docs/source/hicn-light.md
index e321b78e5..a68af7f05 100644
--- a/docs/source/hicn-light.md
+++ b/docs/source/hicn-light.md
@@ -1,5 +1,4 @@
-The Hybrid ICN Portable Forwarder
-==============================
+# The Hybrid ICN Portable Forwarder
## Introduction
@@ -7,24 +6,11 @@ hicn-light is a socket based forwarder
## Using hicn-light
-### Platforms
-
-hicn-light has been tested in:
-
-- Ubuntu 16.04 / 18.04 (x86_64)
-- Debian Testing
-- Centos 7
-- MacOSX 10.12
-- Android
-- iOS
-
-Other platforms and architectures may work.
-
### Dependencies
Build dependencies:
-- c99 ( clang / gcc )
+- C99 ( clang / gcc )
- CMake 3.4
Basic dependencies:
@@ -49,7 +35,7 @@ Use the `-h` option to display the help messages
The command `hicn-light-daemon` runs the hicn-light forwarder. The forwarder can be executed
with the following options:
-```
+```shell
hicn-light-daemon [--port port] [--daemon] [--capacity objectStoreSize] [--log facility=level]
[--log-file filename] [--config file]
@@ -81,7 +67,7 @@ default port for hicn-light is 9695. Commands are expected on port 2001.
`hicn-light-control` can be used to send command to the hicn-light forwarder and configure it.
The command can be executed in the following way:
-```
+```shell
hicn-light-control [commands]
Options:
@@ -101,7 +87,7 @@ Information about the commands are also available in the `hicn-light-control` he
For local connections (application to hicn-light) we expect a TCP listener. The default port for
the local listener is 9695.
-```
+```shell
add listener <protocol> <symbolic> <local_adress> <local_port>
<symbolic> :User defined name for listener, must start with alpha and bealphanum
@@ -113,7 +99,7 @@ add listener <protocol> <symbolic> <local_adress> <local_port>
`add listener hicn`: creates a hicn listener with the specified options on the local forwarder.
-```
+```shell
add listener hicn <symbolic> <local_adress>
<symbolic> :User defined name for listener, must start with alpha and be alphanum
@@ -123,7 +109,7 @@ add listener hicn <symbolic> <local_adress>
`add connection`: creates a TCP or UDP connection on the local forwarder with the specified options.
-```
+```shell
add connection <protocol> <symbolic> <remote_ip> <remote_port> <local_ip> <local_port>
<protocol> : tcp | udp
@@ -134,9 +120,10 @@ 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.
-```
+```shell
add connection hicn <symbolic> <remote_ip> <local_ip>
<symbolic> : symbolic name, e.g. 'conn1' (must be unique, start with alpha)
@@ -144,14 +131,17 @@ add connection hicn <symbolic> <remote_ip> <local_ip>
<local_ip> : local IP address to bind to
```
+
`list`: lists the connections, routes or listeners available on the local hicn-light forwarder
-```
+
+```shell
list <connections | routes | listeners>
```
+
`add route`: adds a route to the specified connection
-```
+```shell
add route <symbolic | connid> <prefix> <cost>
<symbolic> :The symbolic name for an exgress (must be unique, start with alpha)
@@ -163,7 +153,7 @@ add route <symbolic | connid> <prefix> <cost>
`remove connection`: removes the specified connection. At the moment, this commands is available
only for UDP connections, TCP is ignored.
-```
+```shell
remove connection <protocol> <symbolic | connid>
<protocol> : tcp | upd. This is the protocol used to create the connection.
@@ -174,7 +164,7 @@ remove connection <protocol> <symbolic | connid>
`remove route`: remove the specified prefix for a local connection
-```
+```shell
remove route <symbolic | connid> <prefix>
<connid> : the alphanumeric name of a local connection
@@ -183,22 +173,24 @@ remove route <symbolic | connid> <prefix>
`cache serve`: enables/disables replies from local content store (if available)
-```
+```shell
cache serve <on|off>
```
+
`cache store`: enables/disables the storage of incoming data packets in the local content store
(if available)
-```
+```shell
cache store <on|off>
```
+
`cache clear`: removes all the cached data form the local content store (if available)
-```
+```shell
cache clear
-
```
+
`set strategy`: sets the forwarding strategy for a give prefix. There are 4 different strategies
implemented in hicn-light:
@@ -211,12 +203,13 @@ 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
-```
+```shell
set strategy <prefix> <strategy>
<preifx> : the prefix to which apply the forwarding strategy
<strategy> : random | loadbalancer | low_latency
```
+
`set wldr`: turns on/off WLDR on the specified connection. WLDR (Wireless Loss Detiection and
Recovery) is a protocol that can be used to recover losses generated by unreliable wireless
connections, such as WIFI. More information on WLDR are available in:
@@ -225,42 +218,46 @@ set strategy <prefix> <strategy>
ICN 2016. Notice that WLDR is currently available only for UDP connections. In order to work
properly, WLDR needs to be activated on both side of the connection.
-```
+```shell
set wldr <on|off> <symbolic | connid>
<symbolic> :The symbolic name for an exgress (must be unique, start with alpha)
<connid>: :The egress connection id (see 'help list connections')
```
+
`add punting`: Add punting rules to the forwarders.
-```
+```shell
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
-```
+```shell
mapme enable <on|off>
```
`mapme discovery`: enables/disables mapme discovery
-```
+```shell
mapme discovery <on|off>
```
`mapme timescale`: set the timescale value expressed in millisencods
-```
+```shell
mapme timescale <milliseconds>
```
+
`mapme retx`: set the retrasmission time value expressed in millisecond
-```
+```shell
mapme retx <milliseconds>
```
+
`quit`: Exits the interactive shell
### hicn-light Configuration File Example
@@ -268,7 +265,7 @@ mapme retx <milliseconds>
This is an example of a simple configuration file for hicn-light. It can be loaded by running
the command `hicn-light-daemon --config configFile.cfg`, assuming the file name is configFile.cfg
-```
+```shell
#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
@@ -279,22 +276,3 @@ add connection udp conn0 192.168.0.20 12345 192.168.0.1 9199
#add a route toward the remote node
add route conn0 c001::/64 1
```
-
-## License
-
-This software is distributed under the following license:
-
-```
-Copyright (c) 2017-2019 Cisco and/or its affiliates.
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at:
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-```