SOME/IP in AUTOSAR Classic

SOME/IP

SOME/IP at a glance

Every feature of SOME/IP in the course on one page: its AUTOSAR name, the rule in one line, and the lesson that explains it.

The modules in one row from left to right: SWC, RTE with the SOME/IP transformer, COM or LdCom, PduR with SOME/IP TP, SoAd with Sd and BswM, TcpIp, EthIf and Eth. SWC RTE +transformer COM /LdCom PduR SOME/IPTP SoAd Sd BswM TcpIp EthIfEth Ethernet transmission runs left to right, reception right to left (lessons 3, 18, 19)
The modules on the data path. Same colours as in every lesson.

Events, methods and fields

FeatureIn one lineLesson
SOME/IP headerMessage ID, Length, Request ID (Client ID + Session ID), Protocol Version, Interface Version, Message Type, Return Code; several SOME/IP messages may share one UDP datagram.4
eventSent by the server to its subscribers as a NOTIFICATION; no response and never an error back; cyclic update, update on change or epsilon change is the sender's choice.5
method (request/response)The RESPONSE carries the Request ID of the REQUEST; the client times out with E_TIMEOUT; one open request per client and operation in the RTE (transaction handle).6
fire&forgetREQUEST_NO_RETURN without response or error; in the Classic Platform described by a sender-receiver interface or a trigger interface.7
fieldgetter, setter (its RESPONSE carries the value actually set) and notifier, with an initial event for a new subscriber.8
Return CodeThe Classic Platform SOME/IP transformer reports errors in the Return Code of an ERROR, without exception data; a REQUEST whose Message ID SoAd cannot route is dropped, so the client ends with E_TIMEOUT.9
server and clientConfigured per service instance as SdServerService or SdClientService; eventgroups as event handler or consumed eventgroup.10

Service Discovery

FeatureIn one lineLesson
OfferService, TTLOffer with Endpoint options; valid only for its TTL; StopOfferService is an OfferService with TTL 0.11
Initial Wait Phase, Repetition Phase, Main PhaseRandom wait, repetitions with doubling gaps, then cyclic offers every CYCLIC_OFFER_DELAY (or none).12
FindServiceOnly while no offer is known; repetitions with doubling gaps, never cyclic; answers to a multicast FindService wait a random REQUEST_RESPONSE_DELAY.13
SubscribeEventgroup, SubscribeEventgroupAck, SubscribeEventgroupNackSent in reply to every OfferService; unicast only; initial events right after the Ack when the Initial Data Requested flag is set.14
unicast or multicast events, multicast thresholdThreshold 0: always unicast; 1: always multicast; N: multicast from N subscribers on.15
reboot detectionThe reboot flag went from 0 to 1, or it is set and the Session ID did not increase: the partner rebooted.16
Sd and BswMBswM requests: REQUESTED / RELEASED, server services AVAILABLE / DOWN; Sd reports client services and consumed eventgroups AVAILABLE / DOWN and event handlers REQUESTED / RELEASED; service groups.17

The data path between the wire and the SWC

TopicIn one lineLesson
TransmissionThe RTE runs the SOME/IP transformer → COM / LdCom → PduR → SoAd adds the SoAd PDU header (Message ID and Length) for each enabled socket connection → TcpIp → EthIf → Eth driver.18
ReceptionEthIf picks the frame owner → TcpIp: IP address and port → SoAd: socket connection and message acceptance filter, then the header ID selects the socket route, if its routing group is enabled → the SOME/IP transformer checks versions and Message Type.19
Who writes the SOME/IP headerSoAd: Message ID and Length; SOME/IP transformer: the rest; SOME/IP TP: the TP flag and the SOME/IP TP header; Sd: its own SOME/IP-SD messages.20
Socket connections and routing groupsSd fills in the wildcard remote address and enables routing groups per socket connection; a triggering routing group sends the initial events.21
UDP or TCPUDP: lean, may lose a message; TCP: no loss but waits; large data with hard timing: UDP with SOME/IP TP. One TCP connection per service instance, opened and closed by the client.22
segmentationSegments of up to 1392 bytes of payload (multiples of 16 except the last), each with the original SOME/IP header plus the TP flag and a SOME/IP TP header; AUTOSAR SOME/IP TP does not reorder or retry.23
COM, LdCom and the transformer chainThe RTE runs the chain (the SOME/IP transformer first, then for example the E2E transformer); the bytes travel as one byte-array signal (UINT8_N or UINT8_DYN) in COM, or as an I-PDU in the leaner LdCom.24

Configuration and details

Source: the lessons of this course, which name their R20-11 sources.