aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 98f57d61c3c975ae85b4b1c3c7752f77dde8ae0f (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
# Hybrid Information-Centric Networking (hICN)

## Introduction

This is an open source implementation of Cisco's hICN. It includes a network
stack, that implements ICN forwarding path in IPv6, and a transport stack that
implements reliable and unrelieable transport with congestion control and loss
management by ARQ or FEC. It supports applications such as reliable multicast
for ABR video, real-time video conferencing and on-line multiplayer games.
The client stack has been tested on iOS and Android over Wi-Fi, LTE and Ethernet
including multi-homing use cases.

## Directory layout

| Directory name | Description                                               |
| -------------- | --------------------------------------------------------- |
| lib            | Core support library                                      |
| hicn-plugin    | VPP plugin                                                |
| hicn-light     | Lightweight packet forwarder                              |
| libtransport   | Support library with transport layer and API              |
| apps           | Application examples using hicn stack and tools           |
| ctrl           | Tools and libraries for network configuration and control |

hicn plugin is a VPP plugin that implement hicn packet processing as specified
in https://datatracker.ietf.org/doc/draft-muscariello-intarea-hicn/. The
transport library is used to implement the hicn host stack and makes use of
libmemif as high performance connector between transport and the network stack.
The transport library makes use of VPP binary API to configure the local
namespace (local face management).

## Supported platforms

- Ubuntu 20.04 LTS (amd64, arm64)
- Android 10+
- iOS 13+
- macOS 10.15+
- Windows 10+

## Binaries

### Ubuntu (amd64, arm64)

<https://packagecloud.io/fdio/release>

### Docker

<https://hub.docker.com/u/icnteam>

### Release note

The current master branch provides the latest release which is compatible with
the latest VPP stable. No other VPP releases are supported nor maintained. At
every new VPP release distribution hicn master branch is updated to work with
the latest stable release. All previous stable releases are discontinued and not
maintained. The user who is interested in a specific release can always checkout
the right code tree by searching the latest commit under a given git tag
carrying the release version.