Ccnxlib

From fd.io
Revision as of 15:12, 18 April 2017 by Mauro91 (Talk | contribs)

Jump to: navigation, search

CCNx libs include: the common library, the transport library and the portal library.


Libccnx-common

The CCNx Common Library

Quick Start

Installation from binary packages

Ubuntu 14.04 and Ubuntu 16.04

 $ echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io.master.ubuntu.$(lsb_release -sc).main/ ./" \
          | sudo tee -a /etc/apt/sources.list.d/99fd.io.list
 $ sudo apt-get update
 $ sudo apt-get install libccnx-common

Centos 7

$ cat << EOF | sudo tee -a /etc/yum.repos.d/99fd.io.repo
[fdio-cicn-master]
name=fd.io master branch latest merge
baseurl=https://nexus.fd.io/content/repositories/fd.io.master.centos7/
enabled=1
gpgcheck=0
EOF
$ sudo yum install libccnx-common

Installation from source code

$ git clone -b ccnxlibs/master https://gerrit.fd.io/r/cicn ccnxlibs
$ cd ccnxlibs/libccnx-common
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make test
$ make install

Introduction

The CCNx Common library is a set of functions and data structures for CCNx.

Using Libccnx-common

Platforms

Libccnx-common has been tested in:

  • Ubuntu 16.04 (x86_64)
  • Debian testing
  • MacOSX 10.12

Other platforms and architectures may work.

Dependencies

Build dependencies:

  • c99 ( clang / gcc )
  • CMake 3.4

Basic dependencies:

  • OpenSSL
  • pthreads
  • Libevent
  • LongBow
  • Libparc

Documentation dependencies:

  • Doxygen

Using Libccnx-common

Libccnx-common is a set of functions and data structures for C. You can use it in your code by including the right header files and linking to the Libccnx-common library.

CCNX_HOME=<directory-where-Libccnx-common-is-installed>

-I${CCNX_HOME}/include -L${CCNX_HOME}/lib -lccnx_common

Libccnx-transport-rta

The CCNx RTA Stack implementation

Quick Start

$ git clone -b ccnxlibs/master https://gerrit.fd.io/r/cicn ccnxlibs
$ cd ccnxlibs/libccnx-transport-rta
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make test
$ make install

Introduction

The CCNx Transport RTA stack is a CCNx networking base stack.

Using Libccnx-transport-rta

Platforms

Libccnx-transport-rta has been tested in:

  • Ubuntu 16.04 (x86_64)
  • Debian Testing
  • MacOSX 10.12

Other platforms and architectures may work.

Dependencies

Build dependencies:

  • c99 ( clang / gcc )
  • CMake 3.4

Basic dependencies:

  • OpenSSL
  • pthreads
  • Libevent
  • LongBow
  • Libparc
  • Libccnx-common
$ git clone -b cframework/master https://gerrit.fd.io/r/cicn cframework;
$ git clone -b ccnxlibs/master https://gerrit.fd.io/r/cicn ccnxlibs;
  • Documentation dependencies:
  • Doxygen

Using Libccnx-transport-rta

Libccnx-transport-rta is a set of functions and data structures for C. You can use it in your code by including the right header files and linking to the Libccnx-transport-rta library.

CCNX_HOME=<directory-where-Libccnx-transport-rta-is-installed>

-I${CCNX_HOME}/include -L${CCNX_HOME}/lib -lccnx_transport_rta -lccnx_api_notify -lccnx_api_control

Libccnx-portal

A CCNx base API

Quick Start

$ git clone -b ccnxlibs/master https://gerrit.fd.io/r/cicn ccnxlibs
$ cd ccnxlibs/libccnx-portal
$ mkdir build
$ cd build
$ cmake .. 
$ make
$ make test
$ make install

Introduction

The CCNx Portal API is a simple API to communicate via Interests and Content Objects. It connects to a transport stack like Transport RTA (libccnx-transport-rta).

Using Libccnx-portal

Platforms

Libccnx-portal has been tested in:

  • Ubuntu 16.04 (x86_64)
  • Debian Testing
  • MacOSX 10.12

Other platforms and architectures may work.

Dependencies

Build dependencies:

  • c99 ( clang / gcc )
  • CMake 3.4

Basic dependencies:

  • OpenSSL
  • pthreads
  • libevent
  • longBow
  • libparc
  • libccnx-common
  • libccnx-transport-rta

Documentation dependencies:

  • Doxygen

Using Libccnx-portal

Libccnx-portal is a set of functions and data structures for C. You can use it in your code by including the right header files and linking to the Libccnx_api_portal library.

CCNX_HOME=<directory-where-Libccnx-portal-is-installed>

-I${CCNX_HOME}/include -L${CCNX_HOME}/lib -lccnx_api_portal

License

This software is distributed under the following license:

Copyright (c) 2017 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.