Skip to content
This repository was archived by the owner on Apr 13, 2019. It is now read-only.

Commit 28366cf

Browse files
author
Ignacio (Nacho) Solis
committed
Metis 1.0 - Initial GitHub release
0 parents  commit 28366cf

File tree

361 files changed

+78980
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

361 files changed

+78980
-0
lines changed

.gitignore

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
VERSION
2+
metis-*tar.gz
3+
config.cache
4+
5+
.cproject
6+
.project
7+
*.plist
8+
autom4te.cache
9+
*~
10+
.libs
11+
LongBow
12+
include
13+
lib
14+
.DS_Store
15+
*.lo
16+
*.o
17+
*.lo
18+
build/
19+
conf.mk
20+
*.dSYM
21+
*.gcda
22+
*.gcno
23+
*.gcov
24+
*.la
25+
conf.mk
26+
.deps
27+
config.log
28+
config.h
29+
config.status
30+
*.log
31+
*.trs
32+
.dirstamp
33+
Makefile
34+
stamp-h1
35+
36+
37+
*.xcuserdatad
38+
autom4te.cache/
39+
ccnx/forwarder/metis/.libs/
40+
ccnx/forwarder/metis/libmetis.la
41+
libtool
42+
test_metis_StandardPIT

BASE_VERSION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1.0

CMakeLists.txt

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
cmake_minimum_required(VERSION 3.3)
2+
project(cmake)
3+
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
4+
5+
set(CMAKE_C_STANDARD 99)
6+
set(CMAKE_C_STANDARD_REQUIRED ON)
7+
8+
if( UNIX )
9+
link_libraries(m)
10+
endif( UNIX )
11+
12+
include( CTest )
13+
include( version )
14+
include( detectCacheSize )
15+
16+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
17+
18+
link_directories($ENV{CCNX_DEPENDENCIES}/lib)
19+
include_directories($ENV{CCNX_DEPENDENCIES}/include)
20+
set(OPENSSL_ROOT_DIR $ENV{CCNX_DEPENDENCIES})
21+
22+
find_package( LongBow REQUIRED )
23+
include_directories(${LONGBOW_INCLUDE_DIRS})
24+
25+
find_package( LibEvent REQUIRED )
26+
include_directories(${LIBEVENT_INCLUDE_DIRS})
27+
28+
find_package( Libparc REQUIRED )
29+
include_directories(${LIBPARC_INCLUDE_DIRS})
30+
31+
find_package( CCNX_Common REQUIRED )
32+
include_directories(${CCNX_COMMON_INCLUDE_DIRS})
33+
34+
find_package( CCNX_Transport_Rta REQUIRED )
35+
include_directories(${CCNX_TRANSPORT_RTA_INCLUDE_DIRS})
36+
37+
find_package( CCNX_Portal REQUIRED )
38+
include_directories(${CCNX_PORTAL_INCLUDE_DIRS})
39+
40+
find_package ( Threads REQUIRED )
41+
42+
find_package ( OpenSSL REQUIRED )
43+
44+
include_directories(${PROJECT_BINARY_DIR}/ccnx/forwarder/metis
45+
${PROJECT_SOURCE_DIR}
46+
)
47+
48+
find_package( Doxygen )
49+
50+
set(METIS_LINK_LIBRARIES
51+
metis
52+
${LONGBOW_LIBRARIES}
53+
${LIBEVENT_LIBRARIES}
54+
${OPENSSL_LIBRARIES}
55+
${CMAKE_THREAD_LIBS_INIT}
56+
${CCNX_PORTAL_LIBRARIES}
57+
${CCNX_TRANSPORT_RTA_LIBRARIES}
58+
${CCNX_COMMON_LIBRARIES}
59+
${LIBPARC_LIBRARIES}
60+
)
61+
62+
macro(AddTest testFile)
63+
add_executable(${ARGV0} ${ARGV0}.c)
64+
target_link_libraries(${ARGV0} ${METIS_LINK_LIBRARIES})
65+
add_test(${ARGV0} ${ARGV0})
66+
endmacro(AddTest)
67+
68+
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
69+
set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -undefined dynamic_lookup")
70+
message( "-- Set \"-undefined dynamic_lookup\" for shared libraries")
71+
endif()
72+
73+
add_subdirectory(ccnx/forwarder/metis)

LICENSE

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
Copyright (c) 2013, 2014, 2015, 2016, Xerox Corporation (Xerox)and Palo Alto
2+
Research Center (PARC)
3+
All rights reserved.
4+
5+
Redistribution and use in source and binary forms, with or without
6+
modification, are permitted provided that the following conditions are met:
7+
8+
* Redistributions of source code must retain the above copyright
9+
notice, this list of conditions and the following disclaimer.
10+
* Redistributions in binary form must reproduce the above copyright
11+
notice, this list of conditions and the following disclaimer in the
12+
documentation and/or other materials provided with the distribution.
13+
* Patent rights are not granted under this agreement. Patent rights are
14+
available under FRAND terms.
15+
16+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19+
DISCLAIMED. IN NO EVENT SHALL XEROX or PARC BE LIABLE FOR ANY
20+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

README.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
Metis
2+
=======
3+
4+
The Metis CCNx Forwarder
5+
==========
6+
7+
## Introduction ##
8+
9+
This is a CCNx forwarder
10+
11+
## Overview ##
12+
13+
For a full CCNx software distribution please look at the CCNx Distillery
14+
https://github.com/PARC/CCNx_Distillery
15+
16+
## Dependencies ##
17+
18+
This library depends on LongBow.
19+
- https://github.com/PARC/LongBow
20+
- https://github.com/PARC/Libparc
21+
- https://github.com/PARC/Libccnx-common
22+
- https://github.com/PARC/Libccnx-transport-rta
23+
24+
## Getting Started ##
25+
26+
Build and install LongBow by executing
27+
```
28+
mkdir build
29+
cd build
30+
cmake ..
31+
make
32+
make install
33+
make test
34+
```
35+
36+
This will create the `include` and `lib` directories containing the necessary files to compile with LongBow.
37+
38+
### Contact ###
39+
40+
Please see http://www.ccnx.org/
41+
42+
### License ###
43+
44+
This software is distributed under the following license:
45+
46+
```
47+
Copyright (c) 2013, 2014, 2015, 2016, Xerox Corporation (Xerox)and Palo Alto
48+
Research Center (PARC)
49+
All rights reserved.
50+
51+
Redistribution and use in source and binary forms, with or without
52+
modification, are permitted provided that the following conditions are met:
53+
54+
* Redistributions of source code must retain the above copyright
55+
notice, this list of conditions and the following disclaimer.
56+
* Redistributions in binary form must reproduce the above copyright
57+
notice, this list of conditions and the following disclaimer in the
58+
documentation and/or other materials provided with the distribution.
59+
* Patent rights are not granted under this agreement. Patent rights are
60+
available under FRAND terms.
61+
62+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
63+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
64+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
65+
DISCLAIMED. IN NO EVENT SHALL XEROX or PARC BE LIABLE FOR ANY
66+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
67+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
68+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
69+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
70+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
71+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
72+
```

ccnx/forwarder/metis/.gitignore

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
libmetis.a
2+
3+
command-line/metis_control/metis_control
4+
command-line/metis_daemon/metis_daemon
5+
6+
config/test/test_metis_CommandLineInterface
7+
config/test/test_metis_Configuration
8+
config/test/test_metis_ConfigurationFile
9+
config/test/test_metis_ConfigurationListeners
10+
config/test/test_metis_CommandOps
11+
config/test/test_metis_CommandParser
12+
config/test/test_metis_SymbolicNameTable
13+
config/test/test_metisControl_AddListener
14+
15+
content_store/test/test_metis_LRUContentStore
16+
content_store/test/test_metis_ContentStoreFactory
17+
content_store/test/test_metis_ContentStoreInterface
18+
content_store/test/test_metis_ContentStoreEntry
19+
content_store/test/test_metis_LruList
20+
content_store/test/test_metis_TimeOrderedList
21+
22+
core/test/test_metis_Clock
23+
core/test/test_metis_Connection
24+
core/test/test_metis_ConnectionTable
25+
core/test/test_metis_Dispatcher
26+
core/test/test_metis_Forwarder
27+
core/test/test_metis_Interface
28+
core/test/test_metis_Logger
29+
core/test/test_metis_Message
30+
core/test/test_metis_NumberSet
31+
core/test/test_metis_StreamBuffer
32+
core/test/test_metis_System
33+
core/test/test_metis_ConnectionList
34+
core/test/test_metis_ThreadedForwarder
35+
36+
io/test/test_metis_AddressPair
37+
io/test/test_metis_EtherConnection
38+
io/test/test_metis_EtherListener
39+
io/test/test_metis_IPMulticastListener
40+
io/test/test_metis_ListenerSet
41+
io/test/test_metis_LocalListener
42+
io/test/test_metis_StreamConnection
43+
io/test/test_metis_TcpListener
44+
io/test/test_metis_TcpTunnel
45+
io/test/test_metis_UdpConnection
46+
io/test/test_metis_UdpListener
47+
io/test/test_metis_UdpTunnel
48+
io/test/test_metis_HopByHopFragmenter
49+
50+
51+
messenger/test/test_metis_Messenger
52+
messenger/test/test_metis_MessengerRecipient
53+
messenger/test/test_metis_Missive
54+
messenger/test/test_metis_MissiveDeque
55+
56+
processor/test/test_metis_FIB
57+
processor/test/test_metis_FibEntry
58+
processor/test/test_metis_FibEntryList
59+
processor/test/test_metis_HashTableFunction
60+
processor/test/test_metis_MatchingRulesTable
61+
processor/test/test_metis_MessageProcessor
62+
processor/test/test_metis_PIT
63+
processor/test/test_metis_PitEntry
64+
65+
strategies/test/test_strategy_All
66+
67+
test/test_sys_Errors
68+
test/test_sys_EtherEndToEnd
69+
test/test_sys_TcpEndToEnd
70+
test/test_sys_UdpEndToEnd
71+
test/test_sys_TcpTunnel
72+
73+
74+
config/test/test_metisControl_Add
75+
config/test/test_metisControl_AddConnection
76+
config/test/test_metisControl_AddRoute
77+
config/test/test_metisControl_List
78+
config/test/test_metisControl_ListConnections
79+
config/test/test_metisControl_ListInterfaces
80+
config/test/test_metisControl_ListRoutes
81+
config/test/test_metisControl_Quit
82+
config/test/test_metisControl_Remove
83+
config/test/test_metisControl_RemoveConnection
84+
config/test/test_metisControl_RemoveRoute
85+
config/test/test_metisControl_Root
86+
config/test/test_metisControl_Set
87+
config/test/test_metisControl_Unset
88+
config/test/test_metisControl_SetDebug
89+
config/test/test_metisControl_UnsetDebug
90+
config/test/test_metis_ControlState
91+

0 commit comments

Comments
 (0)