summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrant Thomsen <brant.thomsen@harman.com>2017-12-04 14:55:39 -0700
committerBrant Thomsen <brant.thomsen@harman.com>2017-12-04 14:55:39 -0700
commitcc5a18043d513f2c0e5cce4ff0621515ca9044b4 (patch)
tree3fa5cf299698db66b797d02ef047d0ca5cb9305d
parent564637792d558f189e082c2f2bd8e57e6200e3f1 (diff)
parent9bbb455e4eb27a428404e00bb82b2cf3976dd087 (diff)
downloadOpen-AVB-cc5a18043d513f2c0e5cce4ff0621515ca9044b4.tar.gz
Merge branch 'open-avb-next' of https://github.com/AVnu/Open-AVB into avb_endpoint
-rw-r--r--.gitmodules2
-rw-r--r--.travis.yml11
-rw-r--r--CMakeLists.txt37
-rw-r--r--README.rst7
-rw-r--r--appveyor.yml24
-rw-r--r--daemons/gptp/CMakeLists.txt12
-rw-r--r--daemons/gptp/common/gptp_cfg.cpp2
-rw-r--r--daemons/gptp/common/ptptypes.hpp1
-rw-r--r--daemons/gptp/linux/src/linux_hal_common.cpp5
-rw-r--r--daemons/gptp/linux/src/linux_hal_common.hpp2
-rw-r--r--daemons/gptp/linux/src/linux_hal_generic.cpp21
-rw-r--r--daemons/gptp/linux/src/linux_hal_generic_adj.cpp6
-rw-r--r--daemons/maap/linux/src/maap_log_linux.c17
-rw-r--r--daemons/maap/windows/src/maap_main.c29
-rw-r--r--daemons/mrpd/mvrp.c3
-rw-r--r--daemons/shaper/src/shaper_log_linux.c16
-rw-r--r--examples/mrp_client/mrpdhelper.c4
-rw-r--r--lib/avtp_pipeline/platform/Linux/openavb_tasks.h10
-rwxr-xr-xrun_daemons.sh10
m---------thirdparty/cpputest0
20 files changed, 186 insertions, 33 deletions
diff --git a/.gitmodules b/.gitmodules
index 3254bb8a..6494de60 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,6 @@
[submodule "thirdparty/cpputest"]
path = thirdparty/cpputest
- url = ../../cpputest/cpputest.git
+ url = ../../AVnu/cpputest.git
[submodule "avdecc-lib"]
path = avdecc-lib
url = ../../AVnu/avdecc-lib
diff --git a/.travis.yml b/.travis.yml
index 8eb91588..ecc2b9d6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -21,12 +21,19 @@ before_install:
- sudo update-alternatives --set c++ /usr/bin/g++
compiler:
- gcc
-env: BUILD_KERNEL=4.4.0-75-generic
+env:
+ - BUILD_KERNEL=4.4.0-75-generic
install:
- sudo apt-get update -qq
- - sudo apt-get install -y libpcap-dev libpci-dev libsndfile1-dev libjack-dev linux-headers-4.4.0-75-generic cmake
+ - sudo apt-get install -y libpcap-dev libpci-dev libsndfile1-dev libjack-dev linux-headers-4.4.0-75-generic
- sudo apt-get install -y libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libasound2-dev
- sudo cp /usr/src/linux-headers-4.4.0-75/include/uapi/linux/ethtool.h /usr/include/linux
- sudo cp /usr/src/linux-headers-4.4.0-75/include/uapi/linux/ptp_clock.h /usr/include/linux
+ - CMAKE_URL="https://cmake.org/files/v3.9/cmake-3.9.4-Linux-x86_64.tar.gz"
+ - mkdir -p ${TRAVIS_BUILD_DIR}/deps/cmake
+ - travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C ${TRAVIS_BUILD_DIR}/deps/cmake
+ - export PATH=${TRAVIS_BUILD_DIR}/deps/cmake/bin:${PATH}
+
+
script: ./travis.sh
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 555d9db3..eccb62eb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,8 +2,43 @@ cmake_minimum_required (VERSION 2.8)
project (open-avb)
enable_testing()
-set(C++11 ON CACHE BOOL "Compile with C++11 support" FORCE)
+include(CheckCXXCompilerFlag)
+CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
+CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
+if(COMPILER_SUPPORTS_CXX11)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+elseif(COMPILER_SUPPORTS_CXX0X)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+else()
+ message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
+endif()
+
add_subdirectory("thirdparty/cpputest")
add_subdirectory("daemons/common/tests")
add_subdirectory("daemons/mrpd")
add_subdirectory("daemons/maap")
+add_subdirectory("daemons/gptp")
+
+message("
+-------------------------------------------------------
+OpenAvnu Build information
+
+Current compiler options:
+ CC: ${CMAKE_C_COMPILER}
+ CXX: ${CMAKE_CXX_COMPILER}
+ OpenAvnu CFLAGS: ${CMAKE_C_FLAGS}
+ OpenAvnu CXXFLAGS: ${CMAKE_CXX_FLAGS}
+ OpenAvnu LDFLAGS: ${CMAKE_LD_FLAGS}
+
+Features configured in OpenAvnu root CMakeFile.txt:
+ Memory Leak Detection: ${MEMORY_LEAK_DETECTION}
+ Compiling Extensions: ${EXTENSIONS}
+ Support Long Long: ${LONGLONG}
+ Use OpenAvnu flags: ${CMAKE_FLAGS}
+
+ Using Standard C library: ${STD_C}
+ Using Standard C++ library: ${STD_CPP}
+ Using C++11 library: ${C++11}
+
+-------------------------------------------------------
+")
diff --git a/README.rst b/README.rst
index e9635b1b..b8fecdf1 100644
--- a/README.rst
+++ b/README.rst
@@ -120,3 +120,10 @@ XMOS is a semiconductor company providing a reference design for AVB/TSN
endpoints in pro audio and automotive. XMOS endpoint source code is open source
and available on Github - https://github.com/xcore/sw_avb
+Apple Vendor PTP Profile
+------------------------
+Support for the Apple Vendor PTP Profile can be found on this fork of the OpenAvnu code within the branch ArtAndLogic-aPTP-changes.
+
++ https://github.com/rroussel/OpenAvnu/tree/ArtAndLogic-aPTP-changes
+
+These changes allow interaction with Apple proprietary PTP clocks. This implementation has been tested with the Apple AirPlay SDK on a Raspberry Pi 3 running within a group of devices playing the same music stream.
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 00000000..be1355c1
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,24 @@
+version: '1.0.{build}'
+
+clone_folder: c:\oavb
+clone_depth: 20
+
+environment:
+ # Config for mrp Windows build
+ WPCAP_DIR: c:\oavb\WpdPack
+
+install:
+ - git submodule update --init --recursive
+ # download WinPcap developer module and unzip it
+ - ps: Start-FileDownload 'https://www.winpcap.org/install/bin/WpdPack_4_1_2.zip'
+ - ps: 7z x WpdPack_4_1_2.zip
+
+before_build:
+ # cmake
+ - choco upgrade cmake
+ - set path=C:\Program Files\CMake\bin;%path%
+
+build_script:
+ - cd c:\oavb
+ - cmake CMakeLists.txt -G "Visual Studio 12 2013"
+ - cmake --build . --config Release
diff --git a/daemons/gptp/CMakeLists.txt b/daemons/gptp/CMakeLists.txt
index 4935e665..fb7d19b3 100644
--- a/daemons/gptp/CMakeLists.txt
+++ b/daemons/gptp/CMakeLists.txt
@@ -6,8 +6,16 @@ file(GLOB GPTP_COMMON "./common/*.cpp" "./common/*.c")
if(UNIX)
include_directories( include "./linux/src" )
- file(GLOB GPTP_OS "./linux/src/*.cpp")
- target_link_libraries(gptp pthread)
+ file(GLOB GPTP_OS
+ "./linux/src/daemon_cl.cpp"
+ "./linux/src/linux_ipc.cpp"
+ "./linux/src/platform.cpp"
+ "./linux/src/linux_hal_persist_file.cpp"
+ "./linux/src/linux_hal_generic.cpp"
+ "./linux/src/linux_hal_generic_adj.cpp"
+ "./linux/src/linux_hal_common.cpp")
+ add_executable (gptp ${GPTP_COMMON} ${GPTP_OS})
+ target_link_libraries(gptp pthread rt)
elseif(WIN32)
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
link_directories($ENV{WPCAP_DIR}/Lib/x64)
diff --git a/daemons/gptp/common/gptp_cfg.cpp b/daemons/gptp/common/gptp_cfg.cpp
index fae8e6c0..8b9db0dc 100644
--- a/daemons/gptp/common/gptp_cfg.cpp
+++ b/daemons/gptp/common/gptp_cfg.cpp
@@ -253,7 +253,7 @@ void GptpIniParser::print_phy_delay( void )
tx = i->second.get_tx_delay();
rx = i->second.get_rx_delay();
- snprintf( phy_delay_desc, PHY_DELAY_DESC_LEN+1,
+ PLAT_snprintf( phy_delay_desc, PHY_DELAY_DESC_LEN+1,
"TX: %hu | RX: %hu", tx, rx );
speed_name = findNameBySpeed( speed );
diff --git a/daemons/gptp/common/ptptypes.hpp b/daemons/gptp/common/ptptypes.hpp
index 03cd57be..f73c8f92 100644
--- a/daemons/gptp/common/ptptypes.hpp
+++ b/daemons/gptp/common/ptptypes.hpp
@@ -43,6 +43,7 @@ typedef double FrequencyRatio; /*!< Frequency Ratio */
typedef long double FrequencyRatio; /*!< Frequency Ratio */
#endif
+#define ETHER_HDR_LEN (14)
#define ETHER_ADDR_OCTETS 6 /*!< Number of octets in a link layer address*/
#define IP_ADDR_OCTETS 4 /*!< Number of octets in a ip address*/
#define PTP_ETHERTYPE 0x88F7 /*!< PTP ethertype */
diff --git a/daemons/gptp/linux/src/linux_hal_common.cpp b/daemons/gptp/linux/src/linux_hal_common.cpp
index cd880ba9..3be16c86 100644
--- a/daemons/gptp/linux/src/linux_hal_common.cpp
+++ b/daemons/gptp/linux/src/linux_hal_common.cpp
@@ -704,9 +704,10 @@ bool LinuxLock::initialize( OSLockType type ) {
lock_c = pthread_mutex_init(&_private->mutex,&_private->mta);
if(lock_c != 0) {
GPTP_LOG_ERROR("Mutex initialization failed - %s",strerror(errno));
- return oslock_fail;
+ return false;
}
- return oslock_ok;
+
+ return true;
}
LinuxLock::~LinuxLock() {
diff --git a/daemons/gptp/linux/src/linux_hal_common.hpp b/daemons/gptp/linux/src/linux_hal_common.hpp
index 28332f01..9eb3ddc9 100644
--- a/daemons/gptp/linux/src/linux_hal_common.hpp
+++ b/daemons/gptp/linux/src/linux_hal_common.hpp
@@ -306,7 +306,7 @@ public:
OSLock * createLock( OSLockType type ) const
{
LinuxLock *lock = new LinuxLock();
- if (lock->initialize(type) != oslock_ok) {
+ if (!lock->initialize(type)) {
delete lock;
lock = NULL;
}
diff --git a/daemons/gptp/linux/src/linux_hal_generic.cpp b/daemons/gptp/linux/src/linux_hal_generic.cpp
index 5364fa6a..9eeba46f 100644
--- a/daemons/gptp/linux/src/linux_hal_generic.cpp
+++ b/daemons/gptp/linux/src/linux_hal_generic.cpp
@@ -30,9 +30,10 @@
POSSIBILITY OF SUCH DAMAGE.
******************************************************************************/
-
#include <linux_hal_generic.hpp>
#include <linux_hal_generic_tsprivate.hpp>
+#include <platform.hpp>
+#include <avbts_message.hpp>
#include <sys/select.h>
#include <sys/socket.h>
#include <netpacket/packet.h>
@@ -285,6 +286,10 @@ int LinuxTimestamperGeneric::HWTimestamper_txtimestamp
struct cmsghdr *cmsg;
struct sockaddr_ll remote;
struct iovec sgentry;
+ PTPMessageId reflectedMessageId;
+ uint8_t reflected_bytes[ETHER_HDR_LEN + PTP_COMMON_HDR_LENGTH];
+ uint8_t *gptpCommonHeader;
+ uint16_t sequenceId;
struct {
struct cmsghdr cm;
char control[256];
@@ -296,8 +301,10 @@ int LinuxTimestamperGeneric::HWTimestamper_txtimestamp
msg.msg_iov = &sgentry;
msg.msg_iovlen = 1;
- sgentry.iov_base = NULL;
- sgentry.iov_len = 0;
+ sgentry.iov_base = reflected_bytes;
+ sgentry.iov_len = sizeof(reflected_bytes);
+
+ gptpCommonHeader = reflected_bytes + ETHER_HDR_LEN;
memset( &remote, 0, sizeof(remote));
msg.msg_name = (caddr_t) &remote;
@@ -316,6 +323,14 @@ int LinuxTimestamperGeneric::HWTimestamper_txtimestamp
goto done;
}
}
+ sequenceId = PLAT_ntohs(*((uint16_t*)(PTP_COMMON_HDR_SEQUENCE_ID(gptpCommonHeader))));
+ reflectedMessageId.setSequenceId(sequenceId);
+ reflectedMessageId.setMessageType((MessageType)(*PTP_COMMON_HDR_TRANSSPEC_MSGTYPE(gptpCommonHeader) & 0xF));
+ if (messageId != reflectedMessageId) {
+ GPTP_LOG_WARNING("Timestamp discarded due to wrong message id");
+ ret = GPTP_EC_EAGAIN;
+ goto done;
+ }
// Retrieve the timestamp
cmsg = CMSG_FIRSTHDR(&msg);
diff --git a/daemons/gptp/linux/src/linux_hal_generic_adj.cpp b/daemons/gptp/linux/src/linux_hal_generic_adj.cpp
index f722ac4a..7f1d59c8 100644
--- a/daemons/gptp/linux/src/linux_hal_generic_adj.cpp
+++ b/daemons/gptp/linux/src/linux_hal_generic_adj.cpp
@@ -31,10 +31,8 @@
******************************************************************************/
-#include <linux/timex.h>
- // avoid indirect inclusion of time.h since this will clash with linux/timex.h
-#define _TIME_H 1
-#define _STRUCT_TIMEVAL 1
+#include <sys/timex.h>
+#define ADJ_SETOFFSET 0x0100 // Missing from older header files
#include <linux_hal_generic.hpp>
#include <syscall.h>
#include <math.h>
diff --git a/daemons/maap/linux/src/maap_log_linux.c b/daemons/maap/linux/src/maap_log_linux.c
index 2d6f02b3..35dcfcbc 100644
--- a/daemons/maap/linux/src/maap_log_linux.c
+++ b/daemons/maap/linux/src/maap_log_linux.c
@@ -27,6 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <stdarg.h>
#include <string.h>
#include <inttypes.h>
+#include <limits.h>
#include "platform.h"
#include "maap_log_queue.h"
@@ -74,7 +75,14 @@ extern void *loggingThreadFn(void *pv);
THREAD_TYPE(loggingThread);
THREAD_DEFINITON(loggingThread);
-#define THREAD_STACK_SIZE 65536
+#if !defined(PTHREAD_STACK_MIN)
+#error "PTHREAD_STACK_MIN variable not defined"
+#elif (PTHREAD_STACK_MIN > 65536)
+#define THREAD_STACK_SIZE PTHREAD_STACK_MIN
+#else
+#define THREAD_STACK_SIZE 65536
+#endif
+
#define loggingThread_THREAD_STK_SIZE THREAD_STACK_SIZE
static MUTEX_HANDLE_ALT(gLogMutex);
@@ -211,13 +219,16 @@ void maapLogInit(void)
loggingThreadRunning = TRUE;
THREAD_CREATE(loggingThread, loggingThread, NULL, loggingThreadFn, NULL);
THREAD_CHECK_ERROR(loggingThread, "Thread / task creation failed", errResult);
- if (errResult); // Already reported
+ if (errResult) {
+ loggingThreadRunning = FALSE;
+ MAAP_LOG_ERROR("Could not log data: loggingThread create failure");
+ }
}
}
void maapLogExit()
{
- if (MAAP_LOG_FROM_THREAD) {
+ if (MAAP_LOG_FROM_THREAD && loggingThreadRunning ) {
loggingThreadRunning = FALSE;
THREAD_JOIN(loggingThread, NULL);
}
diff --git a/daemons/maap/windows/src/maap_main.c b/daemons/maap/windows/src/maap_main.c
index 6c817d71..dce75312 100644
--- a/daemons/maap/windows/src/maap_main.c
+++ b/daemons/maap/windows/src/maap_main.c
@@ -1,3 +1,32 @@
+/*************************************************************************************
+Copyright (c) 2016-2017, Harman International Industries, Incorporated
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+2. 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.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS LISTED "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 THE COPYRIGHT OWNER OR CONTRIBUTORS LISTED 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.
+*************************************************************************************/
+
/*
* TODO: This code still needs to be added!
*/
+
+int main(int argc, char *argv[])
+{
+}
diff --git a/daemons/mrpd/mvrp.c b/daemons/mrpd/mvrp.c
index b36e3ace..fa14ac37 100644
--- a/daemons/mrpd/mvrp.c
+++ b/daemons/mrpd/mvrp.c
@@ -331,7 +331,8 @@ int mvrp_event(int event, struct mvrp_attribute *rattrib)
}
attrib = mvrp_conditional_reclaim(attrib);
#if LOG_MVRP
- mvrp_print_debug_info(event, attrib);
+ if (attrib != NULL)
+ mvrp_print_debug_info(event, attrib);
#endif
break;
default:
diff --git a/daemons/shaper/src/shaper_log_linux.c b/daemons/shaper/src/shaper_log_linux.c
index d68a79a2..38017c38 100644
--- a/daemons/shaper/src/shaper_log_linux.c
+++ b/daemons/shaper/src/shaper_log_linux.c
@@ -27,6 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <stdarg.h>
#include <string.h>
#include <inttypes.h>
+#include <limits.h>
#include "platform.h"
#include "shaper_log_queue.h"
@@ -74,7 +75,13 @@ extern void *loggingThreadFn(void *pv);
THREAD_TYPE(loggingThread);
THREAD_DEFINITON(loggingThread);
-#define THREAD_STACK_SIZE 65536
+#if !defined(PTHREAD_STACK_MIN)
+#error "PTHREAD_STACK_MIN variable not defined"
+#elif (PTHREAD_STACK_MIN > 65536)
+#define THREAD_STACK_SIZE PTHREAD_STACK_MIN
+#else
+#define THREAD_STACK_SIZE 65536
+#endif
#define loggingThread_THREAD_STK_SIZE THREAD_STACK_SIZE
static MUTEX_HANDLE_ALT(gLogMutex);
@@ -217,13 +224,16 @@ void shaperLogInit(void)
loggingThreadRunning = TRUE;
THREAD_CREATE(loggingThread, loggingThread, NULL, loggingThreadFn, NULL);
THREAD_CHECK_ERROR(loggingThread, "Thread / task creation failed", errResult);
- if (errResult) {} // Already reported
+ if (errResult) {
+ loggingThreadRunning = FALSE;
+ SHAPER_LOG_ERROR("Could not log data: loggingThread create failure");
+ }
}
}
void shaperLogExit()
{
- if (SHAPER_LOG_FROM_THREAD) {
+ if (SHAPER_LOG_FROM_THREAD && loggingThreadRunning) {
loggingThreadRunning = FALSE;
THREAD_JOIN(loggingThread, NULL);
}
diff --git a/examples/mrp_client/mrpdhelper.c b/examples/mrp_client/mrpdhelper.c
index ddd5a958..a4026903 100644
--- a/examples/mrp_client/mrpdhelper.c
+++ b/examples/mrp_client/mrpdhelper.c
@@ -301,8 +301,8 @@ static int parse_mmrp(char *sz, size_t len, struct mrpdhelper_notify *n)
if (parse_state(&sz[5], n) < 0)
return -1;
- n->attrib = mrpdhelper_attribtype_mvrp;
- if (sscanf(&sz[8], "M=%" SCNx64, &n->u.m.mac) != 1)
+ n->attrib = mrpdhelper_attribtype_mmrp;
+ if (sscanf(&sz[4], "M=%" SCNx64, &n->u.m.mac) != 1)
return -1;
return parse_registrar(sz, n, NULL);
}
diff --git a/lib/avtp_pipeline/platform/Linux/openavb_tasks.h b/lib/avtp_pipeline/platform/Linux/openavb_tasks.h
index 01969f09..387fd985 100644
--- a/lib/avtp_pipeline/platform/Linux/openavb_tasks.h
+++ b/lib/avtp_pipeline/platform/Linux/openavb_tasks.h
@@ -32,7 +32,15 @@ https://github.com/benhoyt/inih/commit/74d2ca064fb293bc60a77b0bd068075b293cf175.
#ifndef _EAVBTASKS_H
#define _EAVBTASKS_H
-#define THREAD_STACK_SIZE 65536
+#include <limits.h>
+
+#if !defined(PTHREAD_STACK_MIN)
+#error "PTHREAD_STACK_MIN variable not defined"
+#elif (PTHREAD_STACK_MIN > 65536)
+#define THREAD_STACK_SIZE PTHREAD_STACK_MIN
+#else
+#define THREAD_STACK_SIZE 65536
+#endif
///////////////////////////
// Platform code Tasks values
diff --git a/run_daemons.sh b/run_daemons.sh
index 63645541..c8ed4996 100755
--- a/run_daemons.sh
+++ b/run_daemons.sh
@@ -1,8 +1,6 @@
#!/bin/bash
# Start all daemons
-nic=$1
-
if [ "$1" == "-h" ]; then
echo "Usage: $0 <network interface>"
echo " eg: $0 eth1"
@@ -21,11 +19,11 @@ if [ "$1" == "" ]; then
exit -1
fi
+nic=$1
echo "Starting daemons on "$nic
groupadd ptp > /dev/null 2>&1
-daemons/gptp/linux/build/obj/daemon_cl $1 &
-daemons/mrpd/mrpd -mvs -i $1 &
-daemons/maap/linux/build/maap_daemon -i $1 -d /dev/null
+daemons/gptp/linux/build/obj/daemon_cl $nic &
+daemons/mrpd/mrpd -mvs -i $nic &
+daemons/maap/linux/build/maap_daemon -i $nic -d /dev/null
daemons/shaper/shaper_daemon -d &
-
diff --git a/thirdparty/cpputest b/thirdparty/cpputest
-Subproject 69d1b24fa92fc8c3cf5542bf44293c3e05cfbf0
+Subproject 1d95a3905413d99fddb5bcbd30be35a16dbf911