SOME/IP in S-CORE [2026-09-04] #3240
Replies: 1 comment 1 reply
Minutes from the follow-up meeting on the 2026-09-07:Participants@crimson11 MinutesRecap of the above proposal @NEOatNHNG feels like this is very similar to the proposal from one year ago.
@crimson11 will check once more for GenericSkeleton. Expectation is that no config is needed. Major difference between socom and mw::com is that socom allows creation of proxies upfront before a service appears. @crimson11 stated that this is also already present on IPC side of the gateway where proxies would have to be spawned adhoc. @LittleHuba irt reusability of different SOME/IP stacks: The comm. protocol still is present to provide a reusable API. We expect that this API is general enough to support many SOME/IP stacks. @lurtz What are the sizes of GenericSkeleton events? @lurtz currently favors a 1:1 mapping of SOME/IP service instances to GenericSkeleton. This simplifies state handling which @lurtz would like to get rid of in socom. @lurtz we will need an additional service for handling service discovery requests to the network. @NEOatNHNG Subscription will have to be an explicit step. This can be solved via method calls. Summary:
What option to implement for the multiplexing strategy? Next steps: |
Uh oh!
There was an error while loading. Please reload this page.
Participants
@NEOatNHNG
@lurtz
@pawelrutkaq
@crimson11
@LittleHuba
Agenda
Meeting Minutes
to (1)
See attached proposal
LoLa_for_SoCom.md
Minutes
@lurtz mentioned that the current ipc bridge is in bad shape. Therefore, it would need a rehaul anyway.
Directly switching to mw::com and LoLa is thus okay from his side.
@NEOatNHNG raised the risk that we might now loose data between someipd and gatewayd.
Currently the communication between someipd and gatewayd blocks when queues are full.
By default mw::com does not do that.
This might be problematic for TCP based SOME/IP communication.
No definitive mitigation was defined in the meeting.
@pawelrutkaq suggested we extend Send API to provide an error if no space in FIFO is available
This was declined by @crimson11 because this does not work with IPC semantics.
Any solution would have to be on application transport protocol.
Michael and Ulrich will each get feedback from their company on how to handle this.
@NEOatNHNG raised an additional concern:
A QM sender (someipd) may modify memory at any time after sending the data. The ASIL-B recipient (gatewayd) would need to do a copy of the data before E2E verifications are performed.
The following discussion highlighted that this is a general problem of using shared memory. A resolution would require that the sender looses write privileges on the memory area while sending. This involves OS-specific kernel calls.
The current assumption is, that doing a copy on a SOME/IP message is cheaper than doing 3+ kernel calls per message.
If this must be reevaluated there are some options:
@pawelrutkaq mentioned that currently mw::com only allows no concurrency for message calls on a single method in a service offer. This is very limiting in this use case.
@crimson11 separated this into two distinct problems:
Additionally a fully async implementation of methods may also resolve this.
to (2)
@lurtz sees the need to handle different bindings dynamically. A: When we really need this, mw::com is the appropriate layer to be extended to support loading bindings dynamically.
@lurtz also raised that we may need to support different SOME/IP stacks:
-- Yes, but in reality there is ONE stack deployed only
Explanation of architecture by @LittleHuba:
-- E2E will be used more common (LoLa/SOMEIP). Some parts of it will go into frontend to be shared.
-- Q from @lurtz: Will SoCom API survive? To some degree -> the comm-protocol part, which defines WHAT will be communicated will mostly stay. Additionally we will require as part of the comm-protocol an API that someipd will use.
Next steps for SoCom:
--- 1st replace the IPC layer with score::mw::com/LoLa.
--- 2nd step: Then we see, what needs to change/what is left from existing SoCom.
All reactions