summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorS. Hameed <shameed@jp.adit-jv.com>2015-11-27 18:16:59 +0900
committerLutz Helwing <lutz_helwing@mentor.com>2015-12-07 10:07:26 +0100
commitf817bdaf8b45c8fb11280b572565475eeee5ed73 (patch)
tree3cf16c8eab07370ea57b2a1438ff6335f6988794
parent979364a42e12b1bb473a5bcc1554ef0b2ce80fde (diff)
downloadDLT-daemon-f817bdaf8b45c8fb11280b572565475eeee5ed73.tar.gz
dlt-daemon: Make IP version compile time configurable
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com> Signed-off-by: S. Hameed <shameed@jp.adit-jv.com>
-rw-r--r--CMakeLists.txt6
-rw-r--r--src/adaptor/dlt-adaptor-udp.c8
-rw-r--r--src/daemon/dlt_daemon_socket.c4
-rw-r--r--src/system/dlt-system-syslog.c8
4 files changed, 26 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ccf2ba2..30587f5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -72,6 +72,7 @@ option(WITH_DLT_CXX11_EXT "Set to ON to build C++11 extensions"
option(WITH_DLT_COREDUMPHANDLER "EXPERIMENTAL! Set to ON to build src/core_dump_handler binaries. EXPERIMENTAL" OFF)
option(WITH_DLT_LOGSTORAGE_CTRL_UDEV "PROTOTYPE! Set to ON to build logstorage control application with udev support" OFF)
option(WITH_DLT_LOGSTORAGE_CTRL_PROP "PROTOTYPE! Set to ON to build logstorage control application with proprietary support" OFF)
+option(WITH_DLT_USE_IPv6 "Set to ON for IPv6 support" ON)
# RPM settings
set( GENIVI_RPM_RELEASE "1")#${DLT_REVISION}")
set( LICENSE "Mozilla Public License Version 2.0" )
@@ -110,6 +111,10 @@ if(WITH_DLT_SHM_ENABLE)
add_definitions( -DDLT_SHM_ENABLE)
endif(WITH_DLT_SHM_ENABLE)
+if(WITH_DLT_USE_IPv6)
+ add_definitions( -DDLT_USE_IPv6)
+endif(WITH_DLT_USE_IPv6)
+
if(WITH_GPROF)
SET(CMAKE_C_FLAGS "-pg")
endif(WITH_GPROF)
@@ -204,6 +209,7 @@ message( STATUS "WITH_DLT_COREDUMPHANDLER = ${WITH_DLT_COREDUMPHANDLER}" )
message( STATUS "WITH_CHECK_CONFIG_FILE = ${WITH_CHECK_CONFIG_FILE}" )
message( STATUS "WITH_TESTSCRIPTS = ${WITH_TESTSCRIPTS}" )
message( STATUS "WITH_GPROF = ${WITH_GPROF}" )
+message( STATUS "WITH_DLT_USE_IPv6 = ${WITH_DLT_USE_IPv6}" )
message( STATUS "BUILD_SHARED_LIBS = ${BUILD_SHARED_LIBS}" )
message( STATUS "TARGET_CPU_NAME = ${TARGET_CPU_NAME}" )
if(WITH_SYSTEMD_JOURNAL)
diff --git a/src/adaptor/dlt-adaptor-udp.c b/src/adaptor/dlt-adaptor-udp.c
index 9e4ce74..3f62033 100644
--- a/src/adaptor/dlt-adaptor-udp.c
+++ b/src/adaptor/dlt-adaptor-udp.c
@@ -152,13 +152,21 @@ int main(int argc, char* argv[])
}
}
+#ifdef DLT_USE_IPv6
if ((sock = socket(AF_INET6, SOCK_DGRAM, 0)) == -1)
+#else
+ if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
+#endif
{
perror("Socket");
exit(1);
}
+#ifdef DLT_USE_IPv6
server_addr.sin_family = AF_INET6;
+#else
+ server_addr.sin_family = AF_INET;
+#endif
server_addr.sin_port = htons(port);
server_addr.sin_addr.s_addr = INADDR_ANY;
bzero(&(server_addr.sin_zero), 8);
diff --git a/src/daemon/dlt_daemon_socket.c b/src/daemon/dlt_daemon_socket.c
index 1054e9a..686f4d6 100644
--- a/src/daemon/dlt_daemon_socket.c
+++ b/src/daemon/dlt_daemon_socket.c
@@ -71,7 +71,11 @@ int dlt_daemon_socket_open(int *sock, unsigned int servPort)
int rv;
memset(&hints, 0, sizeof hints);
+#ifdef DLT_USE_IPv6
hints.ai_family = AF_INET6; // force IPv6 - will still work with IPv4
+#else
+ hints.ai_family = AF_INET;
+#endif
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE; // use my IP address
diff --git a/src/system/dlt-system-syslog.c b/src/system/dlt-system-syslog.c
index aa60e55..0f498b9 100644
--- a/src/system/dlt-system-syslog.c
+++ b/src/system/dlt-system-syslog.c
@@ -70,7 +70,11 @@ int init_socket(SyslogOptions opts)
int sock = -1;
struct sockaddr_in syslog_addr;
+#ifdef DLT_USE_IPv6
sock = socket(AF_INET6, SOCK_DGRAM, 0);
+#else
+ sock = socket(AF_INET, SOCK_DGRAM, 0);
+#endif
if(sock < 0)
{
DLT_LOG(syslogContext, DLT_LOG_FATAL,
@@ -78,7 +82,11 @@ int init_socket(SyslogOptions opts)
return -1;
}
+#ifdef DLT_USE_IPv6
syslog_addr.sin_family = AF_INET6;
+#else
+ syslog_addr.sin_family = AF_INET;
+#endif
syslog_addr.sin_port = htons(opts.Port);
syslog_addr.sin_addr.s_addr = INADDR_ANY;
bzero(&(syslog_addr.sin_zero), 8);