summaryrefslogtreecommitdiffstats
path: root/README.md
blob: 137c25913f3a9e2825776e29eae56be559fbbe7b (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
58
59
# Hybrid Information-Centric Networking (hICN)

## Introduction

hicn 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 two main transport protocols and
a socket API. The transport protocols provide one reliable transport service implementation and a
real-time transport service for audio/video media.

## 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              |
| utils          | Tools for testing                                         |
| apps           | Application examples using hicn stack                     |
| 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 16.04 LTS (amd64)
- Ubuntu 18.04 LTS (amd64, arm64)
- CentOS 7 (x86_64)
- Android 10
- iOS 13
- macOS 10.15
- Windows 10

## Binaries

### Ubuntu 16/18 (amd64) and CentOS 7 (x86_64)

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

### Docker

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

### Vagrant

<https://app.vagrantup.com/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.