README.md 3.45 KB
Newer Older
1
Athena
Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
2 3
=======
A CCNx forwarder
4

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
5 6 7 8 9 10 11 12 13 14
## Quick Start ##
```
$ git clone git@github.com:PARC/Athena.git Athena
$ mkdir Athena.build
$ cd Athena.build
$ cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} ../Athena
$ make
$ make test
$ make install
```
15

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
16
## Introduction ##
17

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
18
Athena is a CCNx Forwarder.  
19

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
20
## Using Athena ##
21

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
22
### Distillery ###
23

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
24
Athena is part of [CCNx Distillery](https://github.com/PARC/CCNx_Distillery). You may want to get the software via that distribution if you want to work on CCNx.
25

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
26
### Platforms ###
27

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
28
Athena has been tested in:
29

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
30 31 32
- Ubuntu 14.04 (x86_64)
- MacOSX 10.10
- MacOSX 10.11
33

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
34
Other platforms and architectures may work.
35

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
36
### Dependencies ###
37

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
38
Build dependencies:
39

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
40 41
- c99 ( clang / gcc )
- CMake 3.4
42

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
43
Basic dependencies:
44

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
45 46 47 48 49 50 51
- OpenSSL
- pthreads
- Libevent
- [LongBow](https://github.com/PARC/LongBow)
- [Libparc](https://github.com/PARC/Libparc)
- [Libccnx-common](https://github.com/PARC/Libccnx-common)
- [Libccnx-transport-rta](https://github.com/PARC/Libccnx-transport-rta)
52 53


Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
54
Documentation dependencies:
55

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
56
- Doxygen
57 58


Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
59
### Getting Started ###
60

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
61
Athena is built using cmake. You will need to have CMake 3.4 installed in order to build it.
62

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
63 64 65
```
Download Athena
$ git clone git@github.com:PARC/Athena.git Athena
66

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
67 68 69
Create build directory
$ mkdir Athena.build
$ cd Athena.build
70

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
71 72
Prepare the build, give an install directory
$ cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} ../Athena
73

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
74 75
Compile the software
$ make
76

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
77 78
Run unit tests
$ make test
79

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
80 81 82
Install the software
$ make install
```
83

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
84
This will place the Athena binaries in the `bin` directory of `${INSTALL_DIR}`.
85

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108


### Using Athena ###

Athena is a set of binary executables that are used to run a CCNx forwarder instance. Please refer to the Athena documentation for detailed information.  You can also try the -h flags of the executables

- `athena -h`
- `athenactl -h`

### Contact ###

- [Athena GitHub](https://github.com/PARC/Athena)
- [CCNx Website](http://www.ccnx.org/)
- [CCNx Mailing List](https://www.ccnx.org/mailman/listinfo/ccnx/)


### License ###

This software is distributed under the following license:

```
Copyright (c) 2013, 2014, 2015, 2016, Xerox Corporation (Xerox)and Palo Alto
Research Center (PARC)
109 110 111 112 113
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
114 115 116 117 118 119 120
* Redistributions of source code must retain the above copyright
  notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
  notice, this list of conditions and the following disclaimer in the
  documentation and/or other materials provided with the distribution.
* Patent rights are not granted under this agreement. Patent rights are
  available under FRAND terms.
121 122 123 124 125 126 127 128 129 130 131

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL XEROX or PARC BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Ignacio (Nacho) Solis's avatar
Ignacio (Nacho) Solis committed
132
```