SOME/IP in AUTOSAR Classic

SOME/IP

IDs, types and codes

The fixed values of SOME/IP and SOME/IP-SD in one place, for reading traces and configurations.

Message Type

The Message Type field of the SOME/IP header.

ValueNameUse
0x00REQUESTmethod call that expects a response, even an empty one
0x01REQUEST_NO_RETURNfire&forget method call
0x02NOTIFICATIONevent or field notifier; also every SOME/IP-SD message
0x80RESPONSEresponse to a REQUEST, Return Code E_OK
0x81ERRORresponse to a REQUEST that failed; the Return Code says why (the Classic Platform SOME/IP transformer sends it without exception data)
0x20 0x21 0x22 0xA0 0xA1TP_REQUEST … TP_ERRORthe same Message Types for a segment of SOME/IP TP: TP flag 0x20 added

Return Code

The Return Code field of the SOME/IP header.

ValueNameMeans
0x00E_OKno error; the only value allowed in a REQUEST or NOTIFICATION
0x01E_NOT_OKunspecified error
0x02E_UNKNOWN_SERVICEService ID unknown
0x03E_UNKNOWN_METHODMethod ID unknown, service known
0x04E_NOT_READYservice and method known, application not running
0x05E_NOT_REACHABLEused only inside the client, never sent
0x06E_TIMEOUTused only inside the client, never sent
0x07E_WRONG_PROTOCOL_VERSIONProtocol Version not supported
0x08E_WRONG_INTERFACE_VERSIONInterface Version does not match
0x09E_MALFORMED_MESSAGEpayload cannot be deserialized
0x0AE_WRONG_MESSAGE_TYPEunexpected Message Type
0x0B–0x0FE2E return codes (PRS)repeated, wrong sequence, generic, not available, no new data; the Classic Platform transformer table lists only 0x0B E_E2E
0x10–0x1Freservedfuture generic SOME/IP errors
0x20–0x5Eservice specificin the Classic Platform: the ApplicationError of the ClientServerOperation + 0x1F

Reserved IDs

IDValueMeaning
Service ID0x0000reserved
Service ID0xFF00–0xFF1F, 0xFF20–0xFF3F, 0xFF40–0xFF5Ftesting at OEM, testing at Tier-1, ECU-internal (Tier-1)
Service ID0xFFFEoffering non-SOME/IP services (with the otherserv key in a Configuration option)
Service ID0xFFFFSOME/IP and SOME/IP-SD special service (Magic Cookie, SOME/IP-SD message)
Instance ID0x0000 / 0xFFFFreserved / all instances
Method ID or Event ID0x0000, 0x7FFF, 0x8000, 0xFFFFreserved; a Method ID has the top bit 0, an Event ID 1
Eventgroup ID0x0000 / 0xFFFFreserved / all eventgroups
Message ID0xFFFF 8100SOME/IP-SD messages
Message ID0xFFFF 0000 / 0xFFFF 8000Magic Cookie client → server / server → client (TCP)

Service Discovery

ItemValue
PortUDP 30490 by default, as source and destination
Header fieldsClient ID 0, Session ID never 0, Protocol Version and Interface Version 1, Message Type 0x02 (NOTIFICATION), Return Code 0x00
Flagsbit 7 reboot flag, bit 6 Unicast flag (always 1), bit 5 Explicit Initial Data Control flag (always 1)
Entry types0x00 FindService · 0x01 OfferService / StopOfferService (TTL 0) · 0x06 SubscribeEventgroup / StopSubscribeEventgroup (TTL 0) · 0x07 SubscribeEventgroupAck / SubscribeEventgroupNack (TTL 0)
Option types0x01 Configuration option · 0x02 Load Balancing option · 0x04 / 0x06 IPv4 / IPv6 Endpoint option · 0x14 / 0x16 IPv4 / IPv6 Multicast option · 0x24 / 0x26 IPv4 / IPv6 SD Endpoint option
L4-Proto in options0x06 TCP, 0x11 UDP
TTLseconds, 24 bit; 0xFFFFFF = until the next reboot; 0 = stop (StopOfferService, StopSubscribeEventgroup, SubscribeEventgroupNack)
Wildcards in a FindServiceInstance ID 0xFFFF, major version 0xFF, minor version 0xFFFFFFFF
Configuration option keyshostname, instancename, servicename, otherserv

SOME/IP TP

SOME/IP TP header4 bytes after the 16-byte SOME/IP header: Offset (upper 28 bits, unit 16 bytes), 3 reserved bits, More Segments flag
Segment sizemultiple of 16 bytes except the last; at most 1392 bytes of payload for UDP
UDP payload limit1400 bytes of SOME/IP payload without segmentation

Source: SOME/IP Protocol Specification, R20-11, sections 4.1.2, 4.2.1, 4.2.6; SOME/IP-SD Protocol Specification, R20-11, sections 4.1.2, 4.1.7 and 5; SOME/IP Transformer, R20-11, section 7.3.4.