Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
8d85632
Handles the internal header w/ cmake
Mar 27, 2026
a2df311
change log levels
Mar 27, 2026
1d81bd4
tests: Enables memory_test
Mar 27, 2026
9a08f91
logger: fix missing endpoint in TERMINATE
Mar 27, 2026
e240b96
Solve test_boardnet_with_fake_sockets failures
Mar 28, 2026
3351f3c
Remove trailing whitespaces
Mar 30, 2026
7c34036
Fix availability, host state, tcp address race in rmc
Mar 30, 2026
6904d1e
Allow subscriptions as soon as the service is offered
Mar 30, 2026
9f84cf0
tests: add "broken behavior" tests
Mar 30, 2026
e757a21
Separate the two endpoint_manager
Mar 30, 2026
dec4554
Trigger routing_state_handler_ in all states
Mar 31, 2026
d069cd5
fix drop of udp errors
Mar 31, 2026
0a58ea9
decouple endpoint_manager_base from routing_manager_base
Mar 31, 2026
ca6e183
Remove flaky shutdown_tests
Mar 31, 2026
a407f27
Introduces hybrid mode
Mar 31, 2026
74ce2e7
Add robustness to flaky stress test
Apr 1, 2026
752e27c
Fix missing clean-up of pinged clients
Apr 1, 2026
cc29d9e
sei: upgrade log to error
Apr 1, 2026
5d6fd11
Fix offer test external
andrefesilva Apr 2, 2026
882dbc2
only one mutex for serviceinfo
Apr 2, 2026
8cdfe73
Fix missing lock in udp_client_endpoint
Apr 2, 2026
87a1145
Fix UDP connection availability loop
Apr 2, 2026
d5d98c1
Nuke RS_DIAGNOSIS
Apr 2, 2026
5e0b3f0
logger_ext header to include in android bp
Apr 2, 2026
1de741e
Move offered services into rmc/rmi
Apr 2, 2026
8acbc89
tests: Extends ecu config with custom interface
Apr 2, 2026
eadc70c
Fix offer test external v2
andrefesilva Apr 2, 2026
a3491b9
tests: Disables SD configuration for IPC testing
Apr 2, 2026
b3a22f1
add preparation stage to serviceinfo
Apr 7, 2026
41d51dc
Test routing state handler states with fake_socket
Apr 7, 2026
26ac5d8
Move events out out routing_manager_base
Apr 7, 2026
bc3ed34
fix log to file
Apr 7, 2026
79724e6
Move implementation of event_dispatcher
Apr 7, 2026
16c2210
Cleanup offer test big sd msg
andrefesilva Apr 9, 2026
394de62
Hybrid mode follow up changes
Apr 9, 2026
fd5a93b
fix payload not being printed on android
Apr 10, 2026
e58e878
Fix initial event client data race
Apr 10, 2026
a107277
mitigate TCP port assignment log spam
Apr 10, 2026
b564f83
Reintroduce marker log on resume
Apr 14, 2026
7fd366f
remove unused tests
andrefesilva Apr 16, 2026
de87ebf
vSomeIP-Lib 3.7.2
Apr 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions Android.bp
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,9 @@ cc_defaults {
],

local_include_dirs: [
"interface"
"interface",
"implementation/configuration/include/android",
"implementation/logger/include"
]
}

Expand All @@ -75,7 +77,7 @@ cc_library_shared {

cflags: [
"-DWITHOUT_SYSTEMD",
"-DVSOMEIP_VERSION=\"3.7.1\"",
"-DVSOMEIP_VERSION=\"3.7.2\"",
"-DVSOMEIP_BASE_PATH=\"/vendor/run/someip/\"",
],

Expand Down
4 changes: 2 additions & 2 deletions Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ LOCAL_CFLAGS := \
-frtti \
-fexceptions \
-DWITHOUT_SYSTEMD \
-DVSOMEIP_VERSION=\"3.7.1\" \
-DVSOMEIP_VERSION=\"3.7.2\" \
-DVSOMEIP_BASE_PATH=\"/vendor/run/someip/\" \
-Wno-unused-parameter \
-Wno-non-virtual-dtor \
Expand Down Expand Up @@ -160,7 +160,7 @@ LOCAL_CFLAGS := \
-frtti \
-fexceptions \
-DWITHOUT_SYSTEMD \
-DVSOMEIP_VERSION=\"3.7.1\" \
-DVSOMEIP_VERSION=\"3.7.2\" \
-DVSOMEIP_BASE_PATH=\"/vendor/run/someip/\" \
-Wno-unused-parameter \
-Wno-non-virtual-dtor \
Expand Down
51 changes: 46 additions & 5 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,5 +1,46 @@
Changes
=======
v3.7.2
- global
- Internal header w/ cmake instead of using macros in the header files
- Minor log level changes
- Remove trailing whitespaces
- Introduces hybrid mode
- Deprecate RS_DIAGNOSIS
- Fix payload not being printed on android

- endpoints
- Separate the two endpoint_manager
- Decouple endpoint_manager_base from routing_manager_base
- Fix missing lock in udp_client_endpoint
- Fix UDP connection availability loop

- service-discovery
- Fix data races in the service discovery
- Allow subscriptions as soon as the service is offered

- routing
- Fix availability, host state, tcp address races in rmc
- Trigger routing_state_handler_ in all states
- Fix missing clean-up of pinged clients
- Only one mutex for serviceinfo
- Move offered services into rmc/rmi
- Add preparation stage to serviceinfo
- Move events out out routing_manager_base
- Move implementation of event_dispatcher

-tests
- Add post tests log level tests
- Re-enable memory_test
- New "broken behavior" test
- Remove flaky shutdown_tests
- Add robustness to flaky stress test
- Fix offer test external
- Add test for routing state handler states
- Cleanup offer test big sd msg
- Fix initial event client data race


v3.7.1
- global
- avoid routing info race on reconnect
Expand Down Expand Up @@ -350,7 +391,7 @@ v3.6.1
- deliver service availability only after endpoint creation

- tests
- add regression test - client ignores server connections for a while
- add regression test - client ignores server connections for a while
- add another fake_socket test
- update subscribe notify tests documentation
- update shebang line to interpret as bash
Expand Down Expand Up @@ -469,7 +510,7 @@ v3.5.9
- Remove use of strerror
- React on Bad File Descriptor (EBADF) for epoll_wait
- Remove leftover configurations
- Improve logger performance, turn it almost lock-free
- Improve logger performance, turn it almost lock-free
- Fix use of boost non-asio error codes
- Fix compile with GCC < 10 again
- Mark all DLT log messages as public
Expand All @@ -488,7 +529,7 @@ v3.5.9
- unit tests
- Created udp_server_endpoint_impl unit tests
- Fix unit tests with boost 1.87+

- endpoint
- Fix get_local_port, remove set_local_port
- Fix multicast leave, add repeat delay
Expand Down Expand Up @@ -521,7 +562,7 @@ v3.5.8

- routing
- Check if a service is available before sending a request to it
- Infer routing information (client-id, guest address) for a local server connection from
- Infer routing information (client-id, guest address) for a local server connection from
the first received message, removing the dependency of ADD_CLIENT command from the routing manager host.

- routing_manager_client
Expand All @@ -545,7 +586,7 @@ v3.5.8
- When tcp keepalive is disabled, for clients in the same VM/SOC, the HOST never discovers that it lost the connection.
Add recovery mechanism for this scenario: replace the previous connection.

- e2e
- e2e
- Fix update of E2E local counters

- application_impl
Expand Down
46 changes: 31 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ set (VSOMEIP_NAME vsomeip3)

set (VSOMEIP_MAJOR_VERSION 3)
set (VSOMEIP_MINOR_VERSION 7)
set (VSOMEIP_PATCH_VERSION 1)
set (VSOMEIP_PATCH_VERSION 2)
set (VSOMEIP_HOTFIX_VERSION 0)

set (VSOMEIP_VERSION ${VSOMEIP_MAJOR_VERSION}.${VSOMEIP_MINOR_VERSION}.${VSOMEIP_PATCH_VERSION})
Expand Down Expand Up @@ -270,6 +270,8 @@ else()
add_definitions(-DVSOMEIP_VERSION="${VSOMEIP_VERSION}.${VSOMEIP_HOTFIX_VERSION}")
endif()



if (MSVC)
message("using MSVC Compiler")
# add_definitions(-DVSOMEIP_DLL_COMPILATION) now it is controlled per target
Expand All @@ -282,13 +284,23 @@ if (MSVC)
elseif(${CMAKE_SYSTEM_NAME} MATCHES "QNX")
set(USE_RT "")
elseif(ANDROID_CI_BUILD)
set( USE_RT "")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DANDROID_CI_BUILD -Wno-format-security -Wno-conversion -Wno-error -Wno-inconsistent-missing-override -llog")
set(USE_RT "")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DANDROID_CI_BUILD -Wno-format-security -Wno-conversion -Wno-error -Wno-inconsistent-missing-override -llog")
else()
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OS_CXX_FLAGS} -g ${OPTIMIZE} ${NO_DEPRECATED} ${EXPORTSYMBOLS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OS_CXX_FLAGS} -g ${OPTIMIZE} ${NO_DEPRECATED} ${EXPORTSYMBOLS}")
set(USE_RT "rt")
endif()

if(ANDROID_CI_BUILD)
set(VSOMEIP_CONFIG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/implementation/configuration/include/android)
else()
set(VSOMEIP_CONFIG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/implementation/configuration/include)
endif()

# Set default include directories
set(VSOMEIP_LOGGER_EXT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/implementation/logger/include)
set(VSOMEIP_INTERNAL_INCLUDE_DIRS ${VSOMEIP_CONFIG_INCLUDE_DIR} ${VSOMEIP_LOGGER_EXT_INCLUDE_DIR})

set(CMAKE_POSITION_INDEPENDENT_CODE ON)

################################################################################
Expand All @@ -300,6 +312,7 @@ file(GLOB ${VSOMEIP_NAME}-cfg_SRC
list(SORT ${VSOMEIP_NAME}-cfg_SRC)
if (VSOMEIP_ENABLE_MULTIPLE_ROUTING_MANAGERS EQUAL 0)
add_library(${VSOMEIP_NAME}-cfg-internal OBJECT ${${VSOMEIP_NAME}-cfg_SRC})
target_include_directories(${VSOMEIP_NAME}-cfg-internal PRIVATE ${VSOMEIP_INTERNAL_INCLUDE_DIRS})
target_link_libraries(${VSOMEIP_NAME}-cfg-internal ${VSOMEIP_NAME}-internal ${Boost_LIBRARIES} ${USE_RT} ${DL_LIBRARY} ${SystemD_LIBRARIES})

add_library(${VSOMEIP_NAME}-cfg SHARED $<TARGET_OBJECTS:${VSOMEIP_NAME}-cfg-internal>)
Expand Down Expand Up @@ -341,6 +354,7 @@ list(SORT ${VSOMEIP_NAME}_SRC)

# internal object library, all symbols exposed, used for testing
add_library(${VSOMEIP_NAME}-internal OBJECT ${${VSOMEIP_NAME}_SRC})
target_include_directories(${VSOMEIP_NAME}-internal PRIVATE ${VSOMEIP_INTERNAL_INCLUDE_DIRS})
target_link_libraries(${VSOMEIP_NAME}-internal ${Boost_LIBRARIES} ${USE_RT} ${DL_LIBRARY} ${DLT_LIBRARIES} ${SystemD_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})

add_library(${VSOMEIP_NAME} SHARED $<TARGET_OBJECTS:${VSOMEIP_NAME}-internal>)
Expand Down Expand Up @@ -386,6 +400,7 @@ file(GLOB ${VSOMEIP_NAME}-sd_SRC
list(SORT ${VSOMEIP_NAME}-sd_SRC)

add_library(${VSOMEIP_NAME}-sd-internal OBJECT ${${VSOMEIP_NAME}-sd_SRC})
target_include_directories(${VSOMEIP_NAME}-sd-internal PRIVATE ${VSOMEIP_INTERNAL_INCLUDE_DIRS})
target_link_libraries(${VSOMEIP_NAME}-sd-internal ${VSOMEIP_NAME}-internal ${Boost_LIBRARIES} ${USE_RT} ${DL_LIBRARY} ${SystemD_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})

add_library(${VSOMEIP_NAME}-sd SHARED $<TARGET_OBJECTS:${VSOMEIP_NAME}-sd-internal>)
Expand All @@ -408,6 +423,7 @@ file(GLOB_RECURSE ${VSOMEIP_NAME}-e2e_SRC
list(SORT ${VSOMEIP_NAME}-e2e_SRC)

add_library(${VSOMEIP_NAME}-e2e-internal OBJECT ${${VSOMEIP_NAME}-e2e_SRC})
target_include_directories(${VSOMEIP_NAME}-e2e-internal PRIVATE ${VSOMEIP_INTERNAL_INCLUDE_DIRS})
target_link_libraries(${VSOMEIP_NAME}-e2e-internal ${VSOMEIP_NAME}-internal ${Boost_LIBRARIES} ${USE_RT} ${DL_LIBRARY} ${SystemD_LIBRARIES})

add_library(${VSOMEIP_NAME}-e2e SHARED $<TARGET_OBJECTS:${VSOMEIP_NAME}-e2e-internal>)
Expand Down Expand Up @@ -472,17 +488,17 @@ if (INTERNAL_ROUTING_READY_MESSAGE)
set (VSOMEIP_INTERNAL_ROUTING_READY_MESSAGE ${INTERNAL_ROUTING_READY_MESSAGE})
endif ()

set (VSOMEIP_LOCAL_TCP_PORT_WAIT_TIME 100)
if (LOCAL_TCP_PORT_WAIT_TIME)
set (VSOMEIP_LOCAL_TCP_PORT_WAIT_TIME ${LOCAL_TCP_PORT_WAIT_TIME})
set (VSOMEIP_IPC_PORT_WAIT_TIME 100)
if (IPC_PORT_WAIT_TIME)
set (VSOMEIP_IPC_PORT_WAIT_TIME ${IPC_PORT_WAIT_TIME})
endif ()

set (VSOMEIP_LOCAL_TCP_PORT_MAX_WAIT_TIME 10000)
if (LOCAL_TCP_PORT_MAX_WAIT_TIME)
if (${LOCAL_TCP_PORT_MAX_WAIT_TIME} GREATER ${LOCAL_TCP_PORT_WAIT_TIME})
set (VSOMEIP_LOCAL_TCP_PORT_MAX_WAIT_TIME ${LOCAL_TCP_PORT_MAX_WAIT_TIME})
set (VSOMEIP_IPC_PORT_MAX_WAIT_TIME 10000)
if (IPC_PORT_MAX_WAIT_TIME)
if (${IPC_PORT_MAX_WAIT_TIME} GREATER ${IPC_PORT_WAIT_TIME})
set (VSOMEIP_IPC_PORT_MAX_WAIT_TIME ${IPC_PORT_MAX_WAIT_TIME})
else ()
set (VSOMEIP_LOCAL_TCP_PORT_MAX_WAIT_TIME ${LOCAL_TCP_PORT_WAIT_TIME})
set (VSOMEIP_IPC_PORT_MAX_WAIT_TIME ${VSOMEIP_IPC_PORT_WAIT_TIME})
endif ()
endif ()

Expand All @@ -495,9 +511,9 @@ message(STATUS "Default configuration file: ${DEFAULT_CONFIGURATION_FILE}")
message("Predefined base path: ${VSOMEIP_BASE_PATH}")
message("Predefined unicast address: ${VSOMEIP_UNICAST_ADDRESS}")
message("Predefined diagnosis address: ${VSOMEIP_DIAGNOSIS_ADDRESS}")
message("Predefined wait times for internal communication ports (TCP):\
${VSOMEIP_LOCAL_TCP_PORT_WAIT_TIME}\
(max=${VSOMEIP_LOCAL_TCP_PORT_MAX_WAIT_TIME})")
message("Predefined wait times for internal communication (IPC):\
${VSOMEIP_IPC_PORT_WAIT_TIME}\
(max=${VSOMEIP_IPC_PORT_MAX_WAIT_TIME})")

################################################################################
# Installation
Expand Down
2 changes: 1 addition & 1 deletion documentation/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Multicast

To use IP Multicast, the route must be added.
This is needed to define a network route and enable boardnet (external) communication.
This is needed to define a network route and enable boardnet (external) communication.
In Linux this can be done by:

```bash
Expand Down
Loading
Loading