SOME/IP Server Stack

Overview

RAPIDSEA supports SOME/IP protocol as explained in the SOME/IP Protocol page. This page explains the server architecture and details how the user should interface the stack with their custom logic and realize the ECU implementation quickly. It also provides guidelines on adopting the stack for different systems.

The below diagram captures the block level diagram of the SOME/IP server and how it interfaces with other modules.

SOME/IP Stack Block Diagram

Application Interface

While the RAPIDSEA SOME/IP server stack can handle most of the functionality such as message validation, service discovery management, subscription handling, Notification process etc, the business logic has to implement the application functionality. the RAPIDSEA SOME/IP server clearly defines API and callback functions that are essential for the user to use/implement.

The below table captures the function that are to be called from the application logic.

API Functions

Function

Description

rs_some_server_open

To initialize the SOME/IP server instance structure for both discovery and notification process.

rs_some_server_run

To be called to set the run state for state machine for both discovery and notification process.

rs_some_server_sd_service_set_state

To set the service state (online/offline) for the given SOME/IP server service instance.

rs_some_server_set_tx_msg_buf

To set up the transmit buffers to be used for the SOME/IP server communication.

rs_some_server_set_rx_msg_buf

To set up the receive buffers to be used for the SOME/IP server communication.

rs_some_server_req_stop_offer_service

To frame and send the stop offer service

rs_some_server_process

To be called to call the discovery and notification’s state machine and process respectively and notification event send function.

rs_some_server_subscribe_init

To initialize the SOME/IP subscription details structure associated with the server

rs_some_server_set_reboot_flag

To be called to set the reboot flag in SOME/IP server instance.

rs_some_server_send_notify_event

To be called to send notification events from server

rs_some_server_close

To free the SOME/IP server handle

There are many functions through which the SOME/IP server stack retrieves information from the application logic or indicate actions to be performed. These functions are captured in the below table.

Callback Functions

Function

Description

rcb_some_server_get_serialized_config_option

called to get the serialized data of configuration option

rcb_some_server_get_load_balancing_option_info

Called to get the data of load balancing option

rcb_some_server_set_deserialize_config_option

Called to set the deserialized data of configuration option

rcb_some_server_send_notification_event

Called to send a notification event

rcb_some_server_rx_resp_err_handler

Called to handle the error response

rcb_some_server_get_mem

Called to get memory

Method setter/getter callbacks

This callbacks must mapped into event information under service details information

SOME/IP Server Configuration Parameter:

Server Configuration

Function

Description

server_addr

SOME/IP Server IP address

sd_addr

SOME/IP SD Multicast or Unicast IP address

sd_port

SOME/IP SD Port number

protocol_ver

SOME/IP protocol version

interface_ver

SOME/IP interface version

initial_delay

SOME/IP SD initial wait time

repetitions_base_delay

SOME/IP SD repetition base delay

repetitions_max

SOME/IP SD repetition max

sd_ip_version

SOME/IP SD IP Version (IPv4/IPv6)

log_level

SOME/IP Server log level

These functions are documented in detail in the below sections. It is important for the server to implement these functions correct for proper operation of the system.

Implementation Guide

This section explains how the SOME/IP server can be implemented using the RAPIDSEA stack. The stack is available in source form; the steps to be followed are

  • Initialize the server configuration.

  • Implement the Callback functions mentioned above

  • Initialize the buffers necessary for the operation

  • Initialize the SOME/IP stack function.

  • Periodically call the rs_some_server_process functions so that internal timeouts are handled.

High level flow chart is depicted below:

SOME/IP Server Flow Diagram

The below diagram captures the high level sequence of operations associated with the SOME/IP stack.

SOME/IP High level Sequence Diagram

SOME/IP Server Transmission and Reception Over UDP ( < 1400 bytes)

Transmission:

  • For payloads smaller than 1400 bytes, SOME/IP directly uses UDP transport without TP segmentation. The message is wrapped in a SOME/IP header and transmitted in a single frame.

The below block diagram captures the SOMEIP/IP Server Transmission Over UDP

SOME/IP Server Transmission Over UDP

Reception:

  • When a SOME/IP message under 1400 bytes is received via UDP, it’s directly delivered to the SOME/IP layer for parsing and dispatching to the respective application handler

The below block diagram captures the SOMEIP/IP Server Reception Over UDP

SOME/IP Server Reception Over UDP

The below sequence diagram captures the SOMEIP/IP Server Transmission and Reception Over UDP

SOME/IP Server Over UDP

SOME/IP Server Transmission and Reception Over UDP ( > 1400 bytes)

Transmission:

  • For payloads exceeding 1400 bytes, SOME/IP uses SOME/IP-TP over UDP. The TP layer breaks the data into smaller frames and sends them sequentially.

The below block diagram captures the SOMEIP/IP Server Transmission Over UDP with TP

SOME/IP Server Transmission Over UDP

Reception:

  • Large payloads received over UDP are reassembled by the SOME/IP-TP layer. Segments are combined until a complete message is reconstructed, which is then passed to the application

The below block diagram captures the SOMEIP/IP Server Reception Over UDP with TP

SOME/IP Server Reception Over UDP

The below sequence diagram captures the SOMEIP/IP Server Transmission and Reception Over UDP with TP

SOME/IP Server Over UDP

SOME/IP Server Transmission and Reception Over TCP

Transmission:

  • For reliable, connection-oriented communication, SOME/IP messages are transmitted using TCP. TCP ensures delivery and order, but latency can increase due to retransmissions.

The below block diagram captures the SOMEIP/IP Server Transmission Over TCP

SOME/IP Server Transmission Over TCP

Reception:

  • SOME/IP over TCP is used when guaranteed message delivery is needed. The TCP stream ensures all bytes arrive in sequence.

The below block diagram captures the SOMEIP/IP Server Reception Over TCP

SOME/IP Server Reception Over TCP

The below sequence diagram captures the SOMEIP/IP Server Transmission and Reception Over TCP

SOME/IP Server Over TCP

This can be implemented in a bare-metal system or over RTOS or over full fledged OS such as Linux etc.

SOME/IP Server Stack Buffer Details

The SOME/IP Server stack maintains dedicated buffers and memory structures to manage service discovery, event notifications, and request–response exchanges with multiple clients over TCP and UDP.

Each server instance allocates transmit (TX) and receive (RX) buffers to handle message framing and reassembly. By default, the buffer size is configured to approximately 5 KB, suitable for standard SOME/IP and SOME/IP-TP operations.

In compliance with the AUTOSAR SOME/IP and SOME/IP-TP specifications, the maximum size of a SOME/IP message that fits within a single Ethernet frame is limited by the MTU (≈1400 bytes). When payloads exceed this limit, the stack uses SOME/IP-TP for segmentation and reassembly. Thus, the TP buffer size must always be identical to the SOME/IP buffer size to prevent data loss or truncation during fragmentation or reassembly.

The following summarizes the memory handling modes for the server:

SOME/IP Server Buffer Configuration

Configuration Mode

Description

Without TP (Standard SOME/IP)

Handles single-frame transmissions within Ethernet MTU (≈1400 bytes). Only the SOME/IP layer is active, and TX/RX buffers of 1400 bytes are sufficient.

With TP Enabled (SOME/IP-TP Mode)

Handles multi-frame payloads segmented by SOME/IP-TP. The SOME/IP buffer size and TP buffer size must be equal (e.g., 5 KB) to maintain consistency between segmentation and reassembly logic.

This ensures that both SOME/IP and SOME/IP-TP operate seamlessly during multi-segment message exchanges.

SOME/IP Server Memory Allocation Details

The SOME/IP Server stack uses static and dynamic allocations to manage service information, subscriptions, TCP/UDP sockets, and event notifications. These allocations are configured through compile-time macros defined in rs_someip_server.h.

The following table outlines key structures, macros, and their impact on memory footprint:

SOME/IP Server Static Memory Details

Structure / Field

Macro / Size

Description & Impact

notify_udp_info[RS_SOMEIP_SERVER_MAX_NOTIFY_UDP_SOCKET]

10 (default)

Maintains UDP notification socket information for service event transmission. Each element holds an rs_someip_udp_proto_info_t instance. Increasing this allows more parallel UDP notifications but increases memory.

server_tcp_info[RS_SOMEIP_SERVER_MAX_NOTIFY_TCP_SOCKET]

10 (default)

Holds TCP notification socket instances for event publishing. Each includes socket configuration, handle, and up to five client connections. Memory grows proportionally with socket count.

client_inst[RS_SOMEIP_SERVER_MAX_NUM_OF_TCP_CLIENT_CONN]

5 (default)

Represents active TCP clients connected to the server for SOME/IP notification. Each instance tracks session state and handle. Increasing this improves concurrency but raises static RAM usage.

tx_msg / rx_msg

Structure type: rs_someip_msg_t

Represents SOME/IP message transmit and receive buffers. The payload buffer inside this structure is typically ~5 KB. If TP mode is enabled, TP buffer size must equal SOME/IP buffer size.

ptr_service_info

User Defined Size

Points to service configuration details such as eventgroup lists, port number, and protocol type. Each instance corresponds to one advertised SOME/IP service.

ptr_subscribe_details

User Defined Size

Holds subscription information for connected clients. Each rs_someip_server_subscribe_info_t tracks socket addresses, TTL, and last subscription time.

notify_process_info

Static structure

Encapsulates notification sockets (UDP and TCP) for the server instance. Defined by rs_someip_server_notify_info_t — consumes memory based on configured socket counts.

discov_udp_info

Static structure

Contains Service Discovery (SD) UDP socket information, used to broadcast service availability and respond to find-service requests.

rcb_some_server_get_mem

Size depends on the user

This function is used to get memory for the given user size.

Note

  • All macros (e.g., RS_SOMEIP_SERVER_MAX_NOTIFY_UDP_SOCKET) define compile-time constants that directly influence the static memory footprint.

  • Increasing these macros enhances scalability (e.g., more clients or notifications) but proportionally increases RAM consumption.

  • Reducing any of these may lead to runtime connection limits or dropped event notifications.

  • TX/RX buffer sizes in SOME/IP and SOME/IP-TP must always be equal when TP mode is active.

  • Ensure total memory usage remains within target MCU or OS resource limits, particularly when enabling multi-client TCP notifications.

See also

  • All the rs_someip_server_xx calls are must be called in a single thread.

  • For reference, see the apps/someip_server_demo under RS source directory page

SOME/IP Server Stack Memory Usage

ROM/RAM Consumption (Stack only)

Platform

Memory

Size

Micro controller (iMXRT)

ROM

77KB

Micro controller (iMXRT)

RAM

29KB

ROM/RAM Consumption (Stack + Application)

Platform

Memory

Size

Micro controller (iMXRT)

ROM

294KB

Micro controller (iMXRT)

RAM

164KB

Note:

The above table captures the memory usage for five services. Each service has two or one event groups, and across these eventgroups, a total of ten events are mapped. If you add or remove services, the memory usage will increase or decrease accordingly.

Dependency

This stack depends on the below RAPIDSEA interfaces that can be obtained or custom implemented.

Example demo

An example implementation is available along with the release and is described in SOME/IP Server Demo.

SOME/IP Server Header Details

Documentation from the relevant header as follows:

SOME/IP server based APIs.

This file have declaration of SOME/IP server based functions

Author

Embien RAPIDSEA Team

Copyright

Embien Technologies India Pvt. Ltd.

Defines

RS_SOMEIP_SERVER_VERSION

SOME/IP server version.

RS_SOMEIP_SERVER_MAX_NOTIFY_UDP_SOCKET

SOME/IP Server Maximum Number of Notification UDP Sockets.

RS_SOMEIP_SERVER_MAX_NOTIFY_TCP_SOCKET

SOME/IP Server Maximum Number of Notification TCP Sockets.

RS_SOMEIP_SERVER_MAX_NUM_OF_TCP_CLIENT_CONN

SOME/IP Server Maximum Number of TCP Client connections.

RS_SOMEIP_SERVER_SD_UNICAST
RS_SOMEIP_SERVER_SD_MULTICAST
RS_SOMEIP_SD_SERVER_SERVICE_DOWN
RS_SOMEIP_SD_SERVER_SERVICE_AVAILABLE

Typedefs

typedef struct tag_rs_someip_server_service_info rs_someip_server_service_info_t

Contains information about SOME/IP Server service details.

typedef struct tag_rs_someip_server_subscribe_info rs_someip_server_subscribe_info_t

Contains information about SOME/IP subscribe details.

typedef struct tag_rs_someip_tcp_conn_instance rs_someip_tcp_conn_instance_t

Contains information about SOME/IP TCP Client connection details.

typedef struct tag_rs_someip_server_tcp_info rs_someip_server_tcp_info_t

Contains information about SOME/IP TCP Server Socket details.

typedef struct tag_rs_someip_server_notify_info rs_someip_server_notify_info_t

Contains information about SOME/IP Server notification process.

typedef struct tag_rs_someip_server_config rs_someip_server_config_t

Contains information about SOME/IP server configuration.

typedef struct tag_rs_someip_server_instance rs_someip_server_instance_t

Contains information about SOME/IP server instance.

Functions

rs_handle_t rs_some_server_open(rs_someip_server_instance_t *ptr_instance, rs_someip_server_config_t *ptr_config)

Function Declarations.

Initialize the SOME/IP instance structure with initial values.

This function initialize the SOME/IP instance structure with initial values.

Parameters:
  • ptr_instance[in] - Pointer to the SOME/IP server instance

  • ptr_config[in] - Pointer to the SOME/IP server configuration

Returns:

Handle of the SOME/IP instance information

rs_ret_val_t rs_some_server_run(rs_handle_t handle, uint32_t u32_run)

Assign the initial state of the state machine for SOME/IP Server.

This function assigns the initial state of the state machine for SOME/IP Server.

Parameters:
  • handle[in] - Handle of the SOME/IP server instance.

  • u32_run[in] - State will be set according to this value.

Returns:

Zero on success or negative error code on failure.

rs_ret_val_t rs_some_server_sd_service_set_state(rs_handle_t someip_server_handle, rs_someip_service_details_t *ptr_serv_details, uint8_t u8_state)

Set the state of a SOME/IP server service.

This function sets the service state (online/offline) for the given SOME/IP server service instance.

Parameters:
  • someip_server_handle[in] - Handle of the SOME/IP server instance

  • ptr_serv_details[in] - Pointer to the service details

  • u8_state[in] - Service state value to set

Returns:

Zero on success or negative error code on failure.

rs_ret_val_t rs_some_server_set_tx_msg_buf(rs_handle_t handle, uint8_t *ptr_data_buff, uint16_t u16_buff_len)

Set up the transmit buffer to be used for the SOME/IP server stack.

This function sets up the transmit buffer to be used for SOME/IP server stack

Parameters:
  • handle[in] - Handle of SOME/IP server instance

  • ptr_data_buff[in] - Pointer to the data buffer

  • u16_buff_len[in] - Buffer length in bytes

Returns:

Zero on success or negative error code on failure.

rs_ret_val_t rs_some_server_set_rx_msg_buf(rs_handle_t handle, uint8_t *ptr_data_buff, uint16_t u16_buff_len)

Set up the receive buffer to be used for the SOME/IP stack.

This function sets up the receive buffer to be used for SOME/IP stack

Parameters:
  • handle[in] - Handle of SOME/IP server instance

  • ptr_data_buff[in] - Pointer to the data buffer

  • u16_buff_len[in] - Buffer length in bytes

Returns:

Zero on success or negative error code on failure.

rs_ret_val_t rs_some_server_req_stop_offer_service(rs_handle_t handle)

Frame and send stop offer service.

This function frame and send the stop offer service.

Parameters:

handle[in] - Handle of the SOME/IP server instance

Returns:

Return 0 if success negative value if failure.

rs_ret_val_t rs_some_server_subscribe_init(rs_handle_t handle, rs_someip_server_subscribe_info_t *ptr_subscribe_info, uint32_t u32_num_subscription)

Initialize the subscription structure.

This function initialize the subscription structure in given instance structure to store subscribe information.

Parameters:
  • handle[in] - Handle of the SOME/IP server instance.

  • ptr_subscribe_info[in] - Pointer to subscription structure.

  • u32_num_subscription[in] - Max number of subscription.

Returns:

Return 0 if success or negative if failure.

rs_ret_val_t rs_some_server_process(rs_handle_t someip_server_handle)

Called to call the discovery and notification’s state machine and process respectively and notification event send function.

This function called to call the discovery and notification’s state machine and process respectively and notification event send function.

Parameters:

someip_server_handle[in] - Handle of the SOME/IP instance information

Returns:

Return 0 if success or negative value if failure.

rs_ret_val_t rs_some_server_send_notify_event(rs_handle_t someip_server_handle, rs_someip_notify_event_info_t *ptr_notify_event_info)

Called to send notification events from server.

This function called to send notification events from server.

Parameters:
  • someip_server_handle[in] - Handle of the SOME/IP server instance.

  • ptr_notify_event_info[in] - Pointer to the notification event information

Returns:

Return 0 if success or negative if failure.

rs_ret_val_t rs_some_server_set_reboot_flag(rs_handle_t someip_server_handle, uint8_t u8_reboot_val)

Called to set the reboot flag in SOME/IP server instance.

This function called to set the reboot flag in SOME/IP server instance.

Parameters:
  • someip_server_handle[in] - Handle of the SOME/IP instance information

  • u8_reboot_val[in] - Reboot value.

Returns:

Return 0 if success or negative value if failure.

rs_ret_val_t rs_some_server_close(rs_handle_t someip_server_handle)

Called to free the SOME/IP server handle.

This function called to free the SOME/IP server handle.

Parameters:

someip_server_handle[in] - Handle of the SOME/IP instance information

Returns:

Return 0 if success or negative value if failure.

uint8_t *rcb_some_server_get_mem(uint32_t u32_size)

Called to get memory.

This function called to get memory.

Parameters:

u32_size[in] - Needed size

Returns:

Return pointer to a SOME/IP buffer if available or NULL

rs_ret_val_t rcb_some_server_get_serialized_config_option(rs_handle_t handle, rs_someip_config_opt_info_t *ptr_opt_info, uint8_t u8_serv_type)

Callback function to get the serialized data of configuration option.

This is a callback function to get the serialized data of configuration option

Parameters:
  • handle[in] - Handle of the SOME/IP server instance

  • ptr_opt_info[out] - Pointer to the configuration option information

  • u8_serv_type[in] - Service type

Returns:

Return length of the payload data

rs_ret_val_t rcb_some_server_get_load_balancing_option_info(rs_handle_t handle, rs_someip_load_opt_info_t *ptr_load_opt_info, uint8_t u8_serv_type)

Callback function to get the data of load balancing option.

This is a callback function to get the data of load balancing option

Parameters:
  • handle[in] - Handle of the SOME/IP server instance

  • ptr_load_opt_info[out] - Pointer to the load balance option information

  • u8_serv_type[in] - Service type

Returns:

Return length of the payload data

rs_ret_val_t rcb_some_server_set_deserialize_config_option(rs_handle_t handle, rs_someip_config_opt_info_t *ptr_config_opt_info, uint8_t u8_serv_type)

Callback function to set the deserialized data of configuration option.

This is a callback function to set the deserialized data of configuration option

Parameters:
  • handle[in] - Handle of the SOME/IP server instance

  • ptr_config_opt_info[in] - Pointer to the configuration option data information

Returns:

Return length of the payload data

rs_ret_val_t rcb_some_server_send_notification_event(rs_handle_t handle, rs_someip_req_resp_info_t *ptr_req_info)

Callback function to send notification event.

This is a callback function to send notification event

Parameters:
  • handle[in] - Handle of the SOME/IP server instance

  • ptr_req_info[in] - Pointer to the request data information

Returns:

Return length of the payload data

rs_ret_val_t rcb_some_server_rx_resp_err_handler(rs_handle_t handle, rs_someip_notify_event_info_t *ptr_evt_info, uint8_t u8_err_code)

Callback function to handle the error response.

This is a callback function to to handle the error response.

Parameters:
  • handle[in] - Handle of the SOME/IP server instance

  • ptr_evt_info[in] - Pointer to the notification event information

  • u8_err_code[in] - Error code

Returns:

Return length of the payload data

struct tag_rs_someip_server_service_info
#include <rs_someip_server.h>

Contains information about SOME/IP Server service details.

Public Members

rs_someip_service_details_t serv_details

Server service details.

uint16_t port

Port Number.

uint8_t ip_version

IP Version (IPv4/IPV6)

uint8_t proto_type

Protocol communication type (UDP/TCP)

uint8_t service_state

Server SD Service State.

uint16_t num_of_eventgrp_list

Number of eventgroup.

rs_someip_eventgrp_info_t *ptr_eventgrp_list

Pointer to the eventgroup list information.

struct tag_rs_someip_server_subscribe_info
#include <rs_someip_server.h>

Contains information about SOME/IP subscribe details.

Public Members

rs_someip_service_details_t *ptr_serv_details

Service details of subscription.

rs_someip_eventgrp_info_t *ptr_eventgrp_info

Subscribe Eventgroup ID.

uint16_t client_id

Subscribe Client ID.

rs_sock_addr_t socket_info

Subscription unicast socket IP and port information.

rs_sock_addr_t sd_socket_info

Subscription SD socket IP and port information.

uint8_t comm_type

Communication type.

uint8_t ip_version

IP Version (IPv4/IPv6)

uint16_t reserved

Reserved.

rs_handle_t transport_handle

Transport handle.

uint32_t last_sub_time

Last subscribe time in ms.

uint32_t sub_ttl

RX subscribe TTL Value.

struct tag_rs_someip_tcp_conn_instance
#include <rs_someip_server.h>

Contains information about SOME/IP TCP Client connection details.

Public Members

uint8_t state

SOME/IP Notification TCP Connection process state.

uint8_t run_state

SOME/IP Notification TCP Connection run state.

uint16_t tcp_session_id

SOME/IP Notification TCP Session ID.

rs_handle_t client_handle

SOME/IP Notification TCP Connection handle.

struct tag_rs_someip_server_tcp_info
#include <rs_someip_server.h>

Contains information about SOME/IP TCP Server Socket details.

Public Members

rs_tcp_server_instance_t tcp_socket_instance

SOME/IP TCP Server socket instance(Information)

rs_socket_config_t tcp_socket_config

SOME/IP TCP Server socket configuration.

rs_handle_t comm_tcp_handle

SOME/IP TCP Server socket handle.

uint32_t num_of_clients

Number of client connections.

uint8_t state

SOME/IP TCP Server socket state.

uint8_t run_state

SOME/IP TCP Server socket run state.

rs_someip_tcp_conn_instance_t client_inst[RS_SOMEIP_SERVER_MAX_NUM_OF_TCP_CLIENT_CONN]

SOME/IP TCP Server socket connection instance.

struct tag_rs_someip_server_notify_info
#include <rs_someip_server.h>

Contains information about SOME/IP Server notification process.

Public Members

rs_someip_udp_proto_info_t notify_udp_info[RS_SOMEIP_SERVER_MAX_NOTIFY_UDP_SOCKET]

SOME/IP Server notification UDP Socket info.

rs_someip_server_tcp_info_t server_tcp_info[RS_SOMEIP_SERVER_MAX_NOTIFY_TCP_SOCKET]

SOME/IP Server notification TCP Socket info.

struct tag_rs_someip_server_config
#include <rs_someip_server.h>

Contains information about SOME/IP server configuration.

Public Members

uint8_t server_addr[RS_SOMEIP_IP_ADDR_LEN]

SOME/IP Server IP address.

uint8_t sd_addr[RS_SOMEIP_IP_ADDR_LEN]

SOME/IP SD IP address.

uint8_t sd_tx_mode

SOME/IP SD TX Mode.

uint8_t protocol_ver

SOME/IP protocol version.

uint8_t interface_ver

SOME/IP interface version.

uint8_t repetitions_max

SOME/IP SD repetition max.

uint8_t sd_ip_version

SOME/IP SD IP Version (IPv4/IPv6)

uint8_t log_level

SOME/IP Client log level.

uint16_t sd_port

SOME/IP SD Port number.

uint32_t cyclic_offer_delay

SOME/IP SD cyclic offer delay.

uint32_t initial_delay

SOME/IP SD initial wait time.

uint32_t repetitions_base_delay

SOME/IP SD repetition base delay.

struct tag_rs_someip_server_instance
#include <rs_someip_server.h>

Contains information about SOME/IP server instance.

Public Members

rs_someip_server_config_t *ptr_config

Pointer to containing server configuration.

rs_someip_udp_proto_info_t discov_udp_info

SOME/IP Service Discovery UDP information.

rs_someip_server_notify_info_t notify_process_info

SOME/IP server notification process information.

rs_someip_server_subscribe_info_t *ptr_subscribe_details

Pointer to subscribe structure information.

rs_someip_server_service_info_t *ptr_service_info

Pointer to the SOME/IP service information.

uint32_t number_of_subscribe

Number of subscribers.

uint32_t number_of_services

Number of services.

uint32_t last_offer_time

last offer service sent time

uint8_t enable_main_phase

SOME/IP main phase.

uint8_t repetitions_count

SOME/IP repetition count.

uint8_t reboot_flag

SOME/IP Client reboot flag.

uint8_t sn_udp_tx_mode

SOME/IP Server notification tx mode (unicast or multicast)

uint8_t sd_udp_tx_mode

SOME/IP Server discovery tx mode (unicast or multicast)

rs_handle_t tp_handle

SOME/IP-TP Handle.

rs_someip_msg_t tx_msg

SOME/IP Server TX Message.

rs_someip_msg_t rx_msg

SOME/IP Server RX Message.