AUTOSAR SWS TcpIp
AUTOSAR SWS TcpIp
Disclaimer
This work (specification and/or software implementation) and the material contained
in it, as released by AUTOSAR, is for the purpose of information only. AUTOSAR
and the companies that have contributed to it shall not be liable for any use of the
work.
The material contained in this work is protected by copyright and other types of
intellectual property rights. The commercial exploitation of the material contained in
this work requires a license to such intellectual property rights.
This work may be utilized or reproduced without any modification, in any form or by
any means, for informational purposes only. For any other purpose, no part of the
work may be utilized or reproduced, in any form or by any means, without permission
in writing from the publisher.
The work has been developed for automotive applications only. It has neither been
developed, nor tested for non-automotive applications.
The word AUTOSAR and the AUTOSAR logo are registered trademarks.
Table of Contents
The TCP/IP Stack (TCPIP) is located between the Socket Adaptor (SoAd) and the
Ethernet Interface (EthIf) modules.
3 Related documentation
4.1 Limitations
This document does not cover the assignment of UDP or TCP port numbers. There is
no reserved space within the IANA assigned number range. Each implementer is
responsible for managing the used port numbers.
This document does not cover the management of IP addresses. This might be done
dynamically, e.g. by using DHCP, or statically. It is the implementer’s responsibility to
prevent address conflicts and achieve compliance with IANA address assignments.
This specification does not prescribe a certain physical layer or data rate.
Although a CDD interface is specified, allowing additional upper layer modules, a fan-
out of one socket to multiple upper layer modules is not intended to be supported.
5.1 EthIf
The Ethernet Interface is the lower layer module of the TcpIp module.
5.2 EthSM
The Ethernet State Manager controls the communication mode of the TcpIp module
by requesting communication modes from the TcpIp module. TcpIp notifies the
EthSM about communication mode changes.
For details refer to the chapter 5.1.6 “Code file structure” in SWS_BSWGeneral.
This chapter shall contain the h –files especially the h-files which are necessary for
configuration. The configuration c-file shall have a naming convention
TcpIp_Cfg.h.
includes includes
EthSM_Cbk.h includes
MemMap.h ComStack_Types.h
TcpIp_Cfg.h includes
includes
includes
includes
Com.c includes TcpIp.h
SoAd.h includes TcpIp.c
includes
Det.h
6 Requirements traceability
7 Functional specification
Figure 2 provides an architecture overview of the AUTOSAR TCP/IP stack. The
TCP/IP stack consists of the sub modules within the red box. Furthermore the
interaction with other AUTOSAR modules (beside Dem and Det) is shown.
KSF
The TcpIp module supports a variety of different use case, not all of them are
required by each user. In order to achieve a scalable TcpIp Stack the protocols shall
be grouped according to the following scalability classes:
Feature
Scalability
Scalability
Scalability
Class 1
Class 2
Class 3
IPv4
ARP
ICMPv4
DHCPv4
Auto-IP
UDP
TCP
IPv6
NDP
ICMPv6
DHCPv6
Figure 3: TcpIp Scalability Classes
In addition to the scalability classes, the following Feature Groups allow a more fine-
grained selection of optional features to address the specific needs of certain ECUs.
7.1.2 Requirements
[SWS_TCPIP_00150]⌈ The TcpIp module for IPv4 and IPv6 (Dual Stack) – In-
Vehicle and Diagnostic Communication (Scalability class 3) shall support the features
listed in Figure 3: TcpIp Scalability Classes, column Scalability Class 3.⌋ ()
The Internet Protocol (IP) is the main protocol of the TCP/IP stack and is responsible
for delivering datagrams from a source host identified by the source address to one
or multiple destination hosts identified by the destination address. IP hides the
underlying physical network interface, is an unreliable, best-effort, and
connectionless packet delivery protocol.
[SWS_TCPIP_00090]⌈ The TcpIp shall limit the number of ARP table (address
resolution cache) entries to the number specified by the configuration parameter
TcpIpArpTableSizeMax.⌋ ()
[SWS_TCPIP_00091]⌈ The TcpIp shall remove entries of the ARP table if they are
not used for the timeout specified by the configuration parameter
TcpIpArpTableEntryTimeout.⌋ ()
[SWS_TCPIP_00092]⌈ The TcpIp shall use the information from each received IP
packet to update the ARP table in addition to received ARP packets.⌋ ()
[SWS_TCPIP_00156]⌈ The TcpIp shall support the IETF RFC 5095 (Deprecation of
Type 0 Routing Headers in IPv6). The functionality provided by IPv6's Type 0
Routing Header can be exploited in order to achieve traffic amplification over a
remote path for the purposes of generating denial-of-service traffic. This document
updates the IPv6 specification to deprecate the use of IPv6 Type 0 Routing Headers,
in light of this security concern.⌋ ()
[SWS_TCPIP_00157]⌈ The TcpIp shall support the section 5.1. Node Configuration
Variables, section 5.3. Creation of Link-Local Addresses, section 5.4, Duplicate
Address Detection, section 5.5 Creation of Global Addresses and section 5.6
Configuration Consistency of the IETF RFC 4862 (IPv6 Stateless Address
Autoconfiguration).⌋ ()
[SWS_TCPIP_00158]⌈ The TcpIp shall support the Path MTU Discovery for IPv6 as
defined in IETF RFC 1981 (Path MTU Discovery for IP version 6). If the max. MTU is
used, the Path MTU Discovery shall not try to increase the value.⌋ ()
[SWS_TCPIP_00160]⌈ The TcpIp shall support the basic IPv6 header and the
initially defined IPv6 extension headers and options as defined in IETF RFC 2460
(Internet Protocol, Version 6 (IPv6) Specification).⌋ ()
[SWS_TCPIP_00155]⌈ The TcpIp shall support the section 4, first paragraph of the
IETF RFC 5722 (Handling of Overlapping IPv6 Fragments). The IETF RFC 5722
demonstrates the security issues associated with allowing overlapping fragments and
updates the IPv6 specification to explicitly forbid overlapping fragments (transmission
and reception).⌋ ()
[SWS_TCPIP_00269]⌈ The TcpIp shall support the Section 2.6. Anycast Addresses
of IETF RFC 4291 (IP Version 6 Addressing Architecture).⌋ (SRS_Eth_00092)
[SWS_TCPIP_00164]⌈ The TcpIp shall support the Neighbor Discovery protocol for
IP Version 6 as defined in IETF RFC 4861 (Neighbor Discovery for IP version 6
(IPv6)) except the sections 4.5 Redirect Message Format, 6.2. Router Specification,
7.2.8. Proxy Neighbor Advertisements and 8. Redirect Function.⌋ (SRS_Eth_00090)
[SWS_TCPIP_00263]⌈ The TcpIp shall limit the number of neighbor cache entries
to the number specified by the configuration parameter
TcpIpNdpMaxNeighborCacheSize ([ECUC_TcpIp_00129 : ])⌋ (SRS_Eth_00090)
[SWS_TCPIP_00264]⌈ In case the neighbor cache is full and a new entry shall be
added, the TcpIp shall drop the oldest entry to be able to add the new entry⌋
(SRS_Eth_00090)
[SWS_TCPIP_00265]⌈ The TcpIp shall adhere to the rules defined in IETF RFC
5942 - Section 4 “Host Rules” and shall use the updated definition of “on-link”
according to IETF RFC 5942 - Section 6 “Updates to RFC 4861”.⌋
(SRS_Eth_00110)
Note: Each entry of the local IP address table is uniquely identified by the
configuration parameter TcpIpAddrId.
[SWS_TCPIP_00104]⌈ The TcpIp shall fulfill the TCP related requirements specified
by IETF RFC 1122, section 4.2.2.3 (Window Size), 4.2.2.5 (TCP Options), 4.2.2.6
(MSS), 4.2.2.7 (Checksum), 4.2.2.9 (Initial sequence number selection), 4.2.2.10
(Simultaneous Open Attempts), 4.2.2.11 (Recovery from Old Duplicate SYN),
4.2.2.13 (Closing a Connection, excluding “half-duplex close”), 4.2.2.15
(Retransmission Timeout), 4.2.2.16 (Managing the Window), 4.2.2.17 (Probing Zero
Windows), 4.2.2.18 (Passive OPEN Calls), 4.2.2.19 (TTL), 4.2.3.2 (delayed ACK),
4.2.3.6 (TCP Keep Alive), and 4.2.3.10 (Remote Address Validation).⌋ ()
[SWS_TCPIP_00168]⌈ The TcpIp shall support the specific algorithm for responding
to partial acknowledgments as defined in IETF RFC 6582 (The NewReno
Modification to TCP's Fast Recovery Algorithm).The modification shall only be used if
the Fast Recovery strategy of IETF RFC 5681 is enabled.⌋ ()
[SWS_TCPIP_00152]⌈ The TcpIp shall support the Fully Qualified Domain Name
Option for Dynamic Host Configuration Protocol for IPv4 Client requirements as
defined in IETF RFC 4702 (The Dynamic Host Configuration Protocol for IPv4
(DHCPv4) Client Fully Qualified Domain Name (FQDN) Option). No DNS shall be
supported. Only section 2 The Client FQDN Option and section 3 DHCP Client
Behavior shall be supported. Sub-Section 3.2, 3.3, 3.5 shall not be supported.⌋ ()
[SWS_TCPIP_00167]⌈ The TcpIp shall support the Fully Qualified Domain Name
Option for Dynamic Host Configuration Protocol for IPv6 Client requirements as
defined in IETF RFC 4704 (The Dynamic Host Configuration Protocol for IPv6
(DHCPv6) Client Fully Qualified Domain Name (FQDN) Option). No DNS shall be
supported. Only section 4 DHCPv6 Client FQDN Option and section 5 DHCPv6
Client Behavior shall be supported. Sub-Section 5.1, 5.2, 5.4 shall not be supported.
⌋ ()
All IP datagrams which cannot be mapped to an entry in the local address table shall
be silently discarded.
All successfully mapped IP datagrams shall be forwarded to the upper layer protocol.
⌋ ()
b) The socket local address uses the wildcard “ANY” AND the socket EthIfCtrl is
identical to the EthIfCtrl used in the local address (TcpIpAddrId)
The socket is bound to a local address and the EthIfCtrl is identical to the EthIfCtrl
used in the local address (TcpIpAddrId) and the received local address (TcpIpAddrId)
is a broadcast address.⌋ ()
b) The socket local address uses the wildcard “ANY” AND the socket EthIfCtrl is
identical to the EthIfCtrl used in the local address (TcpIpAddrId)
⌋ ()
[SWS_TCPIP_00203]⌈ For receptions the TcpIp Module shall ignore the protocol
checksum fields of frames with respect to the configuration
of the Ethernet Controller according to the following list:
a) for IPv4 frames if IPv4 checksum verification in hardware is enabled, i.e.
EthCtrlEnableOffloadChecksumIPv4 is set to TRUE
27 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
the IP address of the configured local address (TcpIpAddrId), which is of type IPv4
Unicast and assigned to the same EthIfCtrl, as the bound local address
(TcpIpAddrId) as source IP address in the IP datagram header.⌋ ()
[SWS_TCPIP_00101]⌈ The TcpIp shall choose the correct next hop for each
datagram it sends according to IETF RFC 1122, section 3.3.1.1. (IPv4) and IETF
RFC4861 section 5.2. Conceptual Sending Algorithm (IPv6).⌋ ()
[SWS_TCPIP_00084]⌈ After each transition the TcpIp module shall report the new
state to EthSM via EthSM_TcpIpModeIndication().⌋ ()
Note: After successfully assignment of an IP address to the EthIf controller the upper
layer module will be notified via Up_LocalIpAddrAssignmentChg() with State
TCPIP_IPADDR_STATE_ASSIGNED.
[SWS_TCPIP_00094]⌈ The TcpIp module shall only accept new TCP connections if
the related EthIf controller is in state TCPIP_STATE_ONLINE.⌋ ()
⌋ ()
[SWS_TCPIP_00255]⌈
Type of error Related error code Value [hex]
Operation timed out TCPIP_E_TIMEDOUT 0x01
Connection refused TCPIP_E_CONNREFUSED 0x02
No route to host TCPIP_E_HOSTUNREACH 0x03
Path does not support frame TCPIP_E_PACKETTOBIG 0x04
size
Duplicate IP Address TCPIP_E_DADCONFLICT 0x05
detected
⌋ (SRS_Eth_00112)
8 API specification
[SWS_TCPIP_00008] ⌈
Module Imported Type
ComStack_Types BufReq_ReturnType
Dem Dem_EventIdType
Dem_EventStatusType
Eth_GeneralTypes Eth_BufIdxType
Eth_FilterActionType
Eth_FrameType
Std_Types Std_ReturnType
Std_VersionInfoType
⌋ ()
[SWS_TCPIP_00012] ⌈
Name: TcpIp_SockAddrType
Type: Structure
Element: TcpIp_DomainType domain This is the code for the address format
of this address
Description: Generic structure used by APIs to specify an IP address. (A specific address type
can be derived from this structure via a cast to the specific struct type.)
⌋ ()
36 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
[SWS_TCPIP_00013] ⌈
Name: TcpIp_SockAddrInetType
Type: Structure
Element: TcpIp_DomainType domain This is the code for the address format
of this address
uint16 port port number
uint32[1] addr IPv4 address in network byte order
Description: This structure defines an IPv4 address type which can be derived from the generic
address structure via cast.
⌋ ()
[SWS_TCPIP_00014] ⌈
Name: TcpIp_SockAddrInet6Type
Type: Structure
Element: TcpIp_DomainType domain This is the code for the address format
of this address
uint16 port port number
uint32[4] addr IPv6 address in network byte order
Description: This structure defines a IPv6 address type which can be derived from the generic
address structure via cast.
⌋ ()
[SWS_TCPIP_00030] ⌈
Name: TcpIp_LocalAddrIdType
Type: uint8
Description: Address identification type for unique identification of a local IP address and EthIf
Controller configured in the TcpIp module.
⌋ ()
[SWS_TCPIP_00038] ⌈
Name: TcpIp_SocketIdType
Type: uint8, uint16
Description: socket identifier type for unique identification of a TcpIp stack socket.
TCPIP_SOCKETID_INVALID shall specify an invalid socket handle
⌋ ()
[SWS_TCPIP_00073] ⌈
Name: TcpIp_StateType
Type: Enumeration
Range: TCPIP_STATE_ONLINE -- TCP/IP stack state for a specific EthIf controller is
ONLINE, i.e. communication via at least one IP address
is possible.
TCPIP_STATE_ONHOLD -- TCP/IP stack state for a specific EthIf controller is
ONHOLD, i.e. no communication is currently possible
(e.g. link down).
TCPIP_STATE_OFFLINE -- TCP/IP stack state for a specific EthIf controller is
OFFLINE, i.e. no communication is possible.
TCPIP_STATE_STARTUP -- TCP/IP stack state for a specific EthIf controller is
STARTUP, i.e. IP address assignment in progress or
ready for manual start, communication is currently not
possible.
TCPIP_STATE_SHUTDOWN -- TCP/IP stack state for a specific EthIf controller is
SHUTDOWN, i.e. release of resources using the EthIf
controller, release of IP address assignment.
Description: Specifies the TcpIp state for a specific EthIf controller.
37 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
⌋ ()
[SWS_TCPIP_00082] ⌈
Name: TcpIp_IpAddrStateType
Type: Enumeration
Range: TCPIP_IPADDR_STATE_ASSIGNED -- local IP address is assigned
TCPIP_IPADDR_STATE_ONHOLD -- local IP address is assigned, but cannot
be used as the network is not active
TCPIP_IPADDR_STATE_UNASSIGNED -- local IP address is unassigned
Description: Specifies the state of local IP address assignment
⌋ ()
[SWS_TCPIP_00031] ⌈
Name: TcpIp_EventType
Type: Enumeration
Range: TCPIP_TCP_RESET 0x01 TCP connection was reset, TCP socket and all
related resources have been released.
TCPIP_TCP_CLOSED 0x02 TCP connection was closed successfully, TCP
socket and all related resources have been
released.
TCPIP_TCP_FIN_RECEIVED 0x03 A FIN signal was received on the TCP
connection, TCP socket is still valid.
TCPIP_UDP_CLOSED 0x04 UDP socket and all related resources have been
released.
Description: Events reported by TcpIp.
⌋ ()
[SWS_TCPIP_00065] ⌈
Name: TcpIp_IpAddrAssignmentType
Type: Enumeration
Range: TCPIP_IPADDR_ASSIGNMENT_STATIC -- Static configured
IPv4/IPv6 address.
TCPIP_IPADDR_ASSIGNMENT_LINKLOCAL_DOIP -- Linklocal IPv4/IPv6
address assignment using
DoIP parameters.
TCPIP_IPADDR_ASSIGNMENT_DHCP -- Dynamic configured
IPv4/IPv6 address by
DHCP.
TCPIP_IPADDR_ASSIGNMENT_LINKLOCAL -- Linklocal IPv4/IPv6
address assignment.
TCPIP_IPADDR_ASSIGNMENT_IPV6_ROUTER -- Dynamic configured
IPv4/IPv6 address by
Router Advertisement.
TCPIP_IPADDR_ASSIGNMENT_ALL -- All configured TcpIp-
AssignmentMethods with
TcpIpAssignmentTrigger
set to TCPIP_MANUAL
Description: Specification of IPv4/IPv6 address assignment policy.
⌋ ()
[SWS_TCPIP_00066] ⌈
Name: TcpIp_ReturnType
Type: Enumeration
Range: TCPIP_E_OK -- operation completed successfully.
TCPIP_E_NOT_OK -- operation failed.
TCPIP_E_PHYS_ADDR_MISS -- operation failed because of an ARP/NDP cache
miss.
Description: TcpIp specific return type.
⌋ ()
[SWS_TCPIP_00126] ⌈
Name: TcpIp_ParamIdType
Type: uint8
Range: TCPIP_PARAMID_TCP_RXWND_MAX 0x00 Specifies the
maximum TCP
receive window for the
socket. [uint16]
TCPIP_PARAMID_FRAMEPRIO 0x01 Specifies the frame
priority for outgoing
frames on the socket.
[uint8]
TCPIP_PARAMID_TCP_NAGLE 0x02 Specifies if the Nagle
Algorithm according to
IETF RFC 896 is
enabled or not.
[boolean]
TCPIP_PARAMID_TCP_KEEPALIVE 0x03 Specifies if TCP Keep
Alive Probes are sent
on the socket
connection. [boolean]
TCPIP_PARAMID_TTL 0x04 Specifies the time to
live value for outgoing
frames on the socket.
For IPv6 this
parameter specifies
the value of the
HopLimit field used in
the IPv6 header.
[uint8]
TCPIP_PARAMID_TCP_KEEPALIVE_TIME 0x05 Specifies the time in
[s] between the last
data packet sent
(simple ACKs are not
considered data) and
the first keepalive
probe. [uint32]
TCPIP_PARAMID_TCP_KEEPALIVE_PROBES_MAX 0x06 Specifies the
maximum number of
times that a keepalive
probe is retransmitted.
[uint16]
TCPIP_PARAMID_TCP_KEEPALIVE_INTERVAL 0x07 Specifies the interval
in [s] between
subsequent keepalive
probes. [uint32]
TCPIP_PARAMID_TCP_OPTIONFILTER 0x08 Specifies which TCP
option filter shall be
applied on the related
socket. [uint8]
TCPIP_PARAMID_PATHMTU_ENABLE 0x09 Specifies if the Path
MTU Discovery shall
be performed on the
related socket.
[boolean]
TCPIP_PARAMID_FLOWLABEL 0x0a The 20-bit Flow Label
according to IETF
RFC 6437. [uint32]
39 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
[SWS_TCPIP_00133] ⌈
Name: TcpIpIpAddrWildcardType
Type: uint32
Range: TCPIP_IPADDR_ANY implementation defines the value used as
specific wildcard
Description: IP address wildcard.
⌋ ()
[SWS_TCPIP_00132] ⌈
Name: TcpIpIp6AddrWildcardType
Type: uint32
Range: TCPIP_IP6ADDR_ANY implementation defines the value used as wildcard
specific for all IP6 address parts
Description: IP6 address wildcard.
⌋ ()
[SWS_TCPIP_00134] ⌈
Name: TcpIpPortWildcardType
Type: uint16
Range: TCPIP_PORT_ANY implementation defines the value used as
specific wildcard
Description: Port wildcard.
⌋ ()
[SWS_TCPIP_00135] ⌈
Name: TcpIpLocalAddrIdWildcardType
Type: TcpIp_LocalAddrIdType
Range: TCPIP_LOCALADDRID_ANY implementation defines the value used as
specific wildcard
Description: LocalAddrId wildcard.
⌋ ()
[SWS_TCPIP_91004] ⌈
Name: TcpIp_ArpCacheEntryType
Type: Structure
Element: uint32[1] InetAddr IPv4 address in network byte order
uint8[6] PhysAddr physical address in network byte order
40 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
[SWS_TCPIP_91003] ⌈
Name: TcpIp_NdpCacheEntryType
Type: Structure
Element: uint32[4] Inet6Addr IPv6 address in network byte order
uint8[6] PhysAddr physical address in network byte order
uint8 State state of the address entry
(TCPIP_NDP_ENTRY_STATIC,
TCPIP_NDP_ENTRY_VALID,
TCPIP_NDP_ENTRY_STALE)
Description: TcpIp_NdpCacheEntries elements type
⌋ ()
[SWS_TcpIp_91010] ⌈
Name: TcpIp_MeasurementIdxType
Type: uint8
Range: TCPIP_MEAS_DROP_TCP 0x01 Measurement index of dropped PDUs caused
by invalid destination TCP-Port
TCPIP_MEAS_DROP_UDP 0x02 Measurement index of dropped PDUs caused
by invalid destination UDP-Port
TCPIP_MEAS_DROP_IPV4 0x03 Measurement index of dropped datagrams
caused by invalid IPv4 address
TCPIP_MEAS_DROP_IPV6 0x04 Measurement index of dropped datagrams
caused by invalid IPv6 address
TCPIP_MEAS_RESERVED_1 0x05- reserved by AUTOSAR
0x7F
TCPIP_MEAS_RESERVED_2 0x80- Vendor specific range
0xEF
TCPIP_MEAS_RESERVED_3 0xF0- reserved by AUTOSAR (future use)
0xFE
TCPIP_MEAS_ALL 0xFF represents all measurement indexes
Description: Index to select specific measurement data
⌋ ()
8.3.1 General
8.3.1.1 TcpIp_Init
[SWS_TCPIP_00002] ⌈
Service name: TcpIp_Init
Syntax: void TcpIp_Init(
const TcpIp_ConfigType* ConfigPtr
)
8.3.1.2 TcpIp_GetVersionInfo
[SWS_TCPIP_00004] ⌈
Service name: TcpIp_GetVersionInfo
Syntax: void TcpIp_GetVersionInfo(
Std_VersionInfoType* versioninfo
)
Service ID[hex]: 0x02
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): None
Parameters None
(inout):
Parameters (out): versioninfo Pointer to where to store the version information of this module.
Return value: None
Description: Returns the version information.
⌋ ()
8.3.2.1 TcpIp_Close
[SWS_TCPIP_00017] ⌈
Service name: TcpIp_Close
Syntax: Std_ReturnType TcpIp_Close(
TcpIp_SocketIdType SocketId,
boolean Abort
)
Service ID[hex]: 0x04
Sync/Async: Asynchronous
Reentrancy: Reentrant for different SocketIds. Non reentrant for the same SocketId.
SocketId Socket handle identifying the local socket resource.
Abort TRUE: connection will immediately be terminated by sending a
RST-Segment and releasing all related resources.
Parameters (in):
FALSE: connection will be terminated after performing a regular
connection termination handshake and releasing all related
resources.
Parameters None
(inout):
Parameters (out): None
Std_ReturnType E_OK: The request has been accepted
Return value:
E_NOT_OK: The request has not been accepted.
Description: By this API service the TCP/IP stack is requested to close the socket and release
all related resources.
⌋ ()
[SWS_TCPIP_00109]⌈ The service TcpIp_Close() shall perform the following
actions for the socket specified by SocketId in case it is a TCP socket:
(a) if the connection is active and
(a1) abort = FALSE: the connection shall be terminated after performing a regular
connection termination handshake and releasing all related resources.
(a2) abort = TRUE: connection shall immediately be terminated by sending a RST-
Segment and releasing all related resources.
(b) if the socket is in the Listen state, the Listen state shall be left immediately and
related resources shall be released.⌋ ()
8.3.2.2 TcpIp_Bind
[SWS_TCPIP_00015] ⌈
Service name: TcpIp_Bind
Syntax: Std_ReturnType TcpIp_Bind(
TcpIp_SocketIdType SocketId,
TcpIp_LocalAddrIdType LocalAddrId,
uint16* PortPtr
)
Service ID[hex]: 0x05
Sync/Async: Synchronous
Reentrancy: Reentrant for different SocketIds. Non reentrant for the same SocketId.
SocketId Socket identifier of the related local socket resource.
Parameters (in):
LocalAddrId IP address identifier representing the local IP address and EthIf
43 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
Note: Sockets that shall be switched in a listening state later on must be bound to a
local resource. Optionally this API can be used to specify the local IP address and
port used by later calls of TcpIp_TcpConnect() or TcpIp_UdpTransmit().
8.3.2.3 TcpIp_TcpConnect
[SWS_TCPIP_00022] ⌈
Service name: TcpIp_TcpConnect
Syntax: Std_ReturnType TcpIp_TcpConnect(
TcpIp_SocketIdType SocketId,
const TcpIp_SockAddrType* RemoteAddrPtr
)
Service ID[hex]: 0x06
Sync/Async: Asynchronous
Reentrancy: Reentrant for different SocketIds. Non reentrant for the same SocketId.
SocketId Socket identifier of the related local socket resource.
Parameters (in):
RemoteAddrPtr IP address and port of the remote host to connect to.
Parameters None
(inout):
Parameters (out): None
Std_ReturnType E_OK: The request has been accepted
E_NOT_OK: The request has not been accepted, e.g. connection
Return value:
is already established or no route to destination specified by
remoteAddrPtr found.
Description: By this API service the TCP/IP stack is requested to establish a TCP connection to
the configured peer.
⌋ ()
[SWS_TCPIP_00112]⌈ The service TcpIp_TcpConnect() shall establish a TCP
connection between the local socket specified by parameter SocketId and the remote
socket specified with parameter RemoteAddrPtr.⌋ ()
8.3.2.4 TcpIp_TcpListen
[SWS_TCPIP_00023] ⌈
Service name: TcpIp_TcpListen
Syntax: Std_ReturnType TcpIp_TcpListen(
TcpIp_SocketIdType SocketId,
uint16 MaxChannels
)
Service ID[hex]: 0x07
Sync/Async: Asynchronous
Reentrancy: Reentrant for different SocketIds. Non reentrant for the same SocketId.
SocketId Socket identifier of the related local socket resource.
Parameters (in): MaxChannels Maximum number of new parallel connections established on
this listen connection.
Parameters None
(inout):
Parameters (out): None
Std_ReturnType E_OK: The request has been accepted
Return value: E_NOT_OK: The request has not been accepted, the socket is
not configured to be a server socket.
Description: By this API service the TCP/IP stack is requested to listen on the
TCP socket specified by the socket identifier.
⌋ ()
45 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
[SWS_TCPIP_00114]⌈ TcpIp shall derive a separate socket from the listen socket
to establish a new connection from an incoming connection request on the listen
socket and limit the number of new parallel connections to the value specified by
MaxChannels.⌋ ()
8.3.2.5 TcpIp_TcpReceived
[SWS_TCPIP_00024] ⌈
Service name: TcpIp_TcpReceived
Syntax: Std_ReturnType TcpIp_TcpReceived(
TcpIp_SocketIdType SocketId,
uint32 Length
)
Service ID[hex]: 0x08
Sync/Async: Asynchronous
Reentrancy: Reentrant for different SocketIds. Non reentrant for the same SocketId.
SocketId Socket identifier of the related local socket resource.
Parameters (in):
Length Number of bytes finally consumed by the upper layer.
Parameters None
(inout):
Parameters (out): None
Std_ReturnType E_OK: The request has been accepted
Return value:
E_NOT_OK: The request has not been accepted
Description: By this API service the reception of socket data is confirmed to the TCP/IP stack.
⌋ ()
[SWS_TCPIP_00115]⌈ The service TcpIp_TcpReceived() shall increase the TCP
receive window of the socket specified by SocketId considering the number of finally
consumed bytes specified by Length.⌋ ()
8.3.2.6 TcpIp_RequestComMode
[SWS_TCPIP_00070] ⌈
Service name: TcpIp_RequestComMode
Syntax: Std_ReturnType TcpIp_RequestComMode(
uint8 CtrlIdx,
TcpIp_StateType State
)
Service ID[hex]: 0x09
Sync/Async: Asynchronous
Reentrancy: Non Reentrant
CtrlIdx EthIf controller index to identify the communication network
Parameters (in): where the TcpIp state is requested.
State Requested TcpIp state.
Parameters None
(inout):
Parameters (out): None
Return value: Std_ReturnType E_OK: Service accepted
[SWS_TCPIP_00089]⌈ If TCPIP_STATE_STARTUP or
TCPIP_STATE_SHUTDOWN is requested as state the function
TcpIp_RequestComMode shall abort with E_NOT_OK and report
TCPIP_E_INV_ARG if development error detection is enabled.⌋ ()
8.3.3.1 TcpIp_RequestIpAddrAssignment
[SWS_TCPIP_00037] ⌈
Service name: TcpIp_RequestIpAddrAssignment
Syntax: Std_ReturnType TcpIp_RequestIpAddrAssignment(
TcpIp_LocalAddrIdType LocalAddrId,
TcpIp_IpAddrAssignmentType Type,
const TcpIp_SockAddrType* LocalIpAddrPtr,
uint8 Netmask,
const TcpIp_SockAddrType* DefaultRouterPtr
)
Service ID[hex]: 0x0A
Sync/Async: Asynchronous
Reentrancy: Non Reentrant
LocalAddrId IP address index specifying the IP address for which an
assignment shall be initiated.
Type Type of IP address assignment which shall be initiated
Parameters (in): LocalIpAddrPtr Pointer to structure containing the IP address which shall be
assigned to the EthIf controller indirectly specified via
LocalAddrId.
Note: This parameter is only used in case the parameter Type is
set to TCPIP_IPADDR_ASSIGNMENT_STATIC, can be set to
47 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
NULL_PTR otherwise.
Netmask Network mask of IPv4 address or address prefix of IPv6 address
in CIDR Notation.
Note: This parameter is only used in case the parameter Type is
set to TCPIP_IPADDR_ASSIGNMENT_STATIC.
DefaultRouterPtr Pointer to structure containing the IP address of the default router
(gateway) which shall be assigned.
Note: This parameter is only used in case the parameter Type is
set to TCPIP_IPADDR_ASSIGNMENT_STATIC, can be set to
NULL_PTR otherwise.
Parameters None
(inout):
Parameters (out): None
Std_ReturnType E_OK: The request has been accepted
Return value:
E_NOT_OK: The request has not been accepted
Description: By this API service the local IP address assignment for the IP address specified by
LocalAddrId shall be initiated.
⌋ ()
[SWS_TCPIP_00116]⌈ The service TcpIp_RequestIpAddrAssignment() shall
initiate the local IP address assignment according to the IP address table entry
specified by LocalAddId using the method specified by Type.⌋ ()
8.3.3.2 TcpIp_ReleaseIpAddrAssignment
[SWS_TCPIP_00078] ⌈
Service name: TcpIp_ReleaseIpAddrAssignment
Syntax: Std_ReturnType TcpIp_ReleaseIpAddrAssignment(
TcpIp_LocalAddrIdType LocalAddrId
)
Service ID[hex]: 0x0B
Sync/Async: Asynchronous
Reentrancy: Non Reentrant
LocalAddrId IP address index specifying the IP address for which an
Parameters (in):
assignment shall be released.
Parameters None
(inout):
Parameters (out): None
Std_ReturnType E_OK: The request has been accepted
Return value:
E_NOT_OK: The request has not been accepted
Description: By this API service the local IP address assignment for the IP address specified by
LocalAddrId shall be released.
⌋ ()
8.3.3.3 TcpIp_ResetIpAssignment
[SWS_TCPIP_00215] ⌈
Service name: TcpIp_ResetIpAssignment
Syntax: Std_ReturnType TcpIp_ResetIpAssignment(
void
)
Service ID[hex]: 0x1b
Sync/Async: Synchronous /Asynchronous
Reentrancy: Non Reentrant
Parameters (in): None
Parameters None
(inout):
Parameters (out): None
Std_ReturnType E_OK: success
Return value:
E_NOT_OK: switch port could not be initialized
Description: Resets all learned IP-addresses to invalid values.
49 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
⌋ ()
[SWS_TCPIP_00216]⌈ The service TcpIp_ResetIpAssignment() shall reset all
persistently stored IP addresses in the NvMBlock (see ECUC_TcpIp_00184 : ) to
invalid values (e.g. to 0.0.0.0 for IPv4 addresses).⌋ (SRS_Eth_00087)
Note: The next time the TcpIpAddrAssignments configured with TCPIP_STORE are
started, the related address assignment method are started to obtain new IP
addresses.
[SWS_TCPIP_00217]⌈ The service TcpIp_ResetIpAssignment() shall be pre
compile time configurable On/Off by the configuration parameter:
TcpIpResetIPAssignmentApi (see ECUC_TcpIp_00182 : ).⌋ (SRS_Eth_00087)
8.3.3.4 TcpIp_IcmpTransmit
[SWS_TCPIP_00039] ⌈
Service name: TcpIp_IcmpTransmit
Syntax: Std_ReturnType TcpIp_IcmpTransmit(
TcpIp_LocalAddrIdType LocalIpAddrId,
const TcpIp_SockAddrType* RemoteAddrPtr,
uint8 Ttl,
uint8 Type,
uint8 Code,
uint16 DataLength,
const uint8* DataPtr
)
Service ID[hex]: 0x0C
Sync/Async: Synchronous
Reentrancy: Non Reentrant
LocalIpAddrId IP address identifier representing the local IP address and EthIf
controller which shall be used for transmission of the ICMP
message.
RemoteAddrPtr pointer to struct representing the remote address
Ttl Time to live value to be used for the ICMP message. If 0 is
specified the default value shall be used.
Parameters (in):
Type type field value to be used in the ICMP message
(Note: the value of the type field determines the format of the
remaining ICMP message data)
Code code field value to be used in the ICMP message
DataLength length of ICMP message
DataPtr Pointer to data which shall be sent as ICMP message data
Parameters None
(inout):
Parameters (out): None
Std_ReturnType Result of operation
Return value: E_OK The ICMP message has been sent successfully
E_NOT_OK The ICMP message was not sent.
Description: By this API service the TCP/IP stack sends an ICMP message according to the
specified parameters.
⌋ ()
[SWS_TCPIP_00118]⌈ The service TcpIp_IcmpTransmit() shall (a) construct
an ICMP message according to the parameters Type, Code, DataLength and DataPtr
and (b) transmit the ICMP message using the local IP address and EthIf controller
8.3.3.5 TcpIp_IcmpV6Transmit
[SWS_TCPIP_00187] ⌈
Service name: TcpIp_IcmpV6Transmit
Syntax: Std_ReturnType TcpIp_IcmpV6Transmit(
TcpIp_LocalAddrIdType LocalIpAddrId,
const TcpIp_SockAddrType* RemoteAddrPtr,
uint8 HopLimit,
uint8 Type,
uint8 Code,
uint16 DataLength,
const uint8* DataPtr
)
Service ID[hex]: 0x18
Sync/Async: Synchronous
Reentrancy: Non Reentrant
LocalIpAddrId IP address identifier representing the local IP address and EthIf
controller which shall be used for transmission of the ICMPv6
message.
RemoteAddrPtr pointer to struct representing the remote address
HopLimit Hop Limit value to be used for the ICMPv6 message. If 0 is
specified the default value shall be used.
Parameters (in):
Type type field value to be used in the ICMPv6 message.
(Note: the value of the type field determines the format of the
remaining ICMPv6 message data)
Code code field value to be used in the ICMPv6 message
DataLength length of ICMPv6 message
DataPtr Pointer to data which shall be sent as ICMPv6 message data
Parameters None
(inout):
Parameters (out): None
Std_ReturnType Result of operation
Return value: E_OK: The ICMPv6 message has been sent successfully
E_NOT_OK: The ICMPv6 message was not sent.
Description: By this API service the TCP/IP stack sends an ICMPv6 message according to the
specified parameters.
⌋ ()
8.3.3.6 TcpIp_DhcpReadOption
[SWS_TCPIP_00040] ⌈
Service name: TcpIp_DhcpReadOption
Syntax: Std_ReturnType TcpIp_DhcpReadOption(
TcpIp_LocalAddrIdType LocalIpAddrId,
uint8 Option,
uint8* DataLength,
uint8* DataPtr
)
Service ID[hex]: 0x0D
Sync/Async: Synchronous
Reentrancy: Non Reentrant
LocalIpAddrId IP address identifier representing the local IP address and EthIf
Parameters (in): controller for which the DHCP option shall be read.
Option DHCP option according to IEFT RfC 2132, e.g. hostname
DataLength As input parameter, contains the length of the provided data
Parameters
buffer.
(inout):
Will be overwritten with the length of the actual data.
Parameters (out): DataPtr Pointer to memory containing DHCP option data
Std_ReturnType Result of operation
Return value: E_OK requested data retrieved successfully.
E_NOT_OK requested data could not be retrieved.
Description: By this API service the TCP/IP stack retrieves DHCP option data identified by
parameter option for already received DHCP options.
⌋ (SRS_Eth_00066)
[SWS_TCPIP_00233]⌈ If development error detection is enabled:
TcpIp_DhcpReadOption() shall check if the parameter LocalIpAddrId is valid. If the
check fails, TcpIp_DhcpReadOption() shall raise the development error
TCPIP_E_INV_ARG. ⌋ (SRS_Eth_00066)
[SWS_TCPIP_00236]⌈ If the requested option has been set for the address
specified by LocalIpAddrId, TcpIp_DhcpReadOption() shall copy this option into the
buffer provided by DataPtr, set the parameter DataLength to the length of the option
and return E_OK.⌋ (SRS_Eth_00066)
[SWS_TCPIP_00237]⌈ If the requested option has not been set for the address
specified by LocalIpAddrId, TcpIp_DhcpReadOption() shall set the parameter
DataLength to zero, leave the buffer provided by DataPtr unchanged and return
E_OK.⌋ (SRS_Eth_00066)
8.3.3.7 TcpIp_DhcpV6ReadOption
[SWS_TCPIP_00189] ⌈
Service name: TcpIp_DhcpV6ReadOption
Syntax: Std_ReturnType TcpIp_DhcpV6ReadOption(
TcpIp_LocalAddrIdType LocalIpAddrId,
uint16 Option,
uint16* DataLength,
52 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
uint8* DataPtr
)
Service ID[hex]: 0x19
Sync/Async: Synchronous
Reentrancy: Non Reentrant
LocalIpAddrId IP address identifier representing the local IP address and EthIf
Parameters (in): controller for which the DHCPv6 option shall be read.
Option DHCP option according to IEFT RfC 3315, e.g. hostname
DataLength As input parameter, contains the length of the provided data
Parameters
buffer.
(inout):
Will be overwritten with the length of the actual data.
Parameters (out): DataPtr Pointer to memory containing DHCPv6 option data
Std_ReturnType Result of operation
Return value: E_OK: requested data retrieved successfully.
E_NOT_OK: requested data could not be retrieved.
Description: By this API service the TCP/IP stack retrieves DHCPv6 option data identified by
parameter option for already received DHCPv6 options.
⌋ (SRS_Eth_00066)
[SWS_TCPIP_00241]⌈ If the requested option has been set for the address
specified by LocalIpAddrId, TcpIp_DhcpV6ReadOption() shall copy this option into
the buffer provided by DataPtr, set the parameter DataLength to the length of the
option and return E_OK.⌋ (SRS_Eth_00066)
[SWS_TCPIP_00242]⌈ If the requested option has not been set for the address
specified by LocalIpAddrId, TcpIp_DhcpV6ReadOption() shall set the parameter
DataLength to zero, leave the buffer provided by DataPtr unchanged and return
E_OK.⌋ (SRS_Eth_00066)
8.3.3.8 TcpIp_DhcpWriteOption
[SWS_TCPIP_00020] ⌈
Service name: TcpIp_DhcpWriteOption
Syntax: Std_ReturnType TcpIp_DhcpWriteOption(
TcpIp_LocalAddrIdType LocalIpAddrId,
53 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
uint8 Option,
uint8 DataLength,
const uint8* DataPtr
)
Service ID[hex]: 0x0E
Sync/Async: Synchronous
Reentrancy: Non Reentrant
LocalIpAddrId IP address identifier representing the local IP address and EthIf
controller for which the DHCP option shall be written.
Parameters (in): Option DHCP option according to IEFT RfC 2132, e.g. hostname
DataLength length of DHCP option data
DataPtr Pointer to memory containing DHCP option data
Parameters None
(inout):
Parameters (out): None
Std_ReturnType Result of operation
Return value: E_OK no error occured.
E_NOT_OK DHCP option data could not be written.
Description: By this API service the TCP/IP stack writes the DHCP option data identified by
parameter option.
⌋ (SRS_Eth_00065)
[SWS_TCPIP_00243]⌈ If development error detection is enabled:
TcpIp_DhcpWriteOption() shall check if the parameter LocalIpAddrId is valid. If the
check fails, TcpIp_DhcpWriteOption() shall raise the development error
TCPIP_E_INV_ARG. ⌋ (SRS_Eth_00065)
8.3.3.9 TcpIp_DhcpV6WriteOption
[SWS_TCPIP_00190] ⌈
Service name: TcpIp_DhcpV6WriteOption
Syntax: Std_ReturnType TcpIp_DhcpV6WriteOption(
54 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
TcpIp_LocalAddrIdType LocalIpAddrId,
uint16 Option,
uint16 DataLength,
const uint8* DataPtr
)
Service ID[hex]: 0x1a
Sync/Async: Synchronous
Reentrancy: Non Reentrant
LocalIpAddrId IP address identifier representing the local IP address and EthIf
controller for which the DHCPv6 option shall be written.
Parameters (in): Option DHCP option according to IEFT RfC 3315, e.g. hostname
DataLength length of DHCPv6 option data
DataPtr Pointer to memory containing DHCPv6 option data
Parameters None
(inout):
Parameters (out): None
Std_ReturnType Result of operation
Return value: E_OK: no error occured.
E_NOT_OK: DHCPv6 option data could not be written.
Description: By this API service the TCP/IP stack writes the DHCPv6 option data identified by
parameter option.
⌋ (SRS_Eth_00065)
8.3.3.10 TcpIp_ChangeParameter
[SWS_TCPIP_00016] ⌈
Service name: TcpIp_ChangeParameter
55 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
8.3.3.11 TcpIp_GetIpAddr
[SWS_TCPIP_00032] ⌈
Service name: TcpIp_GetIpAddr
Syntax: Std_ReturnType TcpIp_GetIpAddr(
TcpIp_LocalAddrIdType LocalAddrId,
TcpIp_SockAddrType* IpAddrPtr,
uint8* NetmaskPtr,
TcpIp_SockAddrType* DefaultRouterPtr
)
Service ID[hex]: 0x10
Sync/Async: Synchronous
Reentrancy: Reentrant
LocalAddrId Local address identifier referring to the local IP address which
Parameters (in):
shall be obtained.
IpAddrPtr Pointer to a struct where the IP address shall be stored.
The struct member domain shall be set to the desired
TcpIp_DomainType and it shall be ensured that the struct is large
enough to store an address of the selected type (INET or INET6).
Parameters Struct members not related to the IP address are of arbitrary
(inout): value and shall not be used.
DefaultRouterPtr Pointer to struct where the IP address of the default router
(gateway) is stored (struct member "port" is not used and of
arbitrary value).
The struct must be of the same type and size as IpAddrPtr.
NetmaskPtr Pointer to memory where Network mask of IPv4 address or
Parameters (out):
address prefix of IPv6 address in CIDR Notation is stored
Std_ReturnType Result of operation
E_OK: The request was successful
Return value:
E_NOT_OK: The request was not successful, e.g. domain in
IpAddrPtr and the local domain type do not match
Description: Obtains the local IP address actually used by LocalAddrId, the netmask and
default router
⌋ ()
[SWS_TCPIP_00205]⌈ TcpIp_GetIpAddr() shall refuse the request if the
domain set in IpAddrPtr does not match the TcpIp_DomainType of the selected
local address and return E_NOT_OK. If development error detection is enabled, the
service TcpIp_GetIpAddr() shall also raise the development error
TCPIP_E_INV_ARG.⌋ ()
8.3.3.12 TcpIp_GetPhysAddr
[SWS_TCPIP_00033] ⌈
Service name: TcpIp_GetPhysAddr
Syntax: Std_ReturnType TcpIp_GetPhysAddr(
TcpIp_LocalAddrIdType LocalAddrId,
uint8* PhysAddrPtr
)
Service ID[hex]: 0x11
Sync/Async: Synchronous
Reentrancy: Non Reentrant
LocalAddrId Local address identifier implicitely specifing the EthIf controller for
Parameters (in):
which the physical address shall be obtained.
Parameters None
(inout):
PhysAddrPtr Pointer to the memory where the physical source address (MAC
Parameters (out):
address) in network byte order is stored
Std_ReturnType Result of operation
E_OK The request was successful
Return value:
E_NOT_OK The request was not successful, e.g. no unique Ctrl
specified via IpAddrId.
Description: Obtains the physical source address used by the EthIf controller implicitly
specified via LocalAddrId.
⌋ ()
8.3.3.13 TcpIp_GetRemotePhysAddr
[SWS_TCPIP_00137] ⌈
Service name: TcpIp_GetRemotePhysAddr
Syntax: TcpIp_ReturnType TcpIp_GetRemotePhysAddr(
uint8 CtrlIdx,
const TcpIp_SockAddrType* IpAddrPtr,
uint8* PhysAddrPtr,
boolean initRes
)
Service ID[hex]: 0x16
Sync/Async: Synchronous
Reentrancy: Non Reentrant
CtrlIdx EthIf controller index to identify the related ARP/NDP table.
Parameters (in):
IpAddrPtr specifies the IP address for which the physical address shall
57 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
be retrieved
initRes specifies if the address resolution shall be initiated (TRUE) or
not (FALSE) in case the physical address related to the
specified IP address is currently unknown.
Parameters None
(inout):
PhysAddrPtr Pointer to the memory where the physical address (MAC
Parameters (out): address) related to the specified IP address is stored in
network byte order.
TcpIp_ReturnType TCPIP_E_OK: specified IP address resolved, physical
address provided via PhysAddrPtr
Return value:
TCPIP_E_PHYS_ADDR_MISS: physical address currently
unknown (address resolution initiated if initRes set to TRUE)
Description: TcpIp_GetRemotePhysAddr queries the IP/physical address translation table
specified by CtrlIdx and returns the physical address related to the IP address
specified by IpAddrPtr. In case no physical address can be retrieved and
parameter initRes is TRUE, address resolution for the specified IP address is
initiated on the local network.
⌋ ()
8.3.3.14 TcpIp_GetCtrlIdx
[SWS_TCPIP_00140] ⌈
Service name: TcpIp_GetCtrlIdx
Syntax: Std_ReturnType TcpIp_GetCtrlIdx(
TcpIp_LocalAddrIdType LocalAddrId,
uint8* CtrlIdxPtr
)
Service ID[hex]: 0x17
Sync/Async: Synchronous
Reentrancy: Reentrant
LocalAddrId Local address identifier implicitely specifing the EthIf controller
Parameters (in):
that shall be returned.
Parameters None
(inout):
CtrlIdxPtr Pointer to the memory where the index of the controller related to
Parameters (out):
LocalAddrId is stored
Std_ReturnType Result of operation
Return value: E_OK the request was successful
E_NOT_OK the request was not successful.
Description: TcpIp_GetCtrlIdx returns the index of the controller related to LocalAddrId.
58 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
⌋ ()
[SWS_TCPIP_00141][⌈ TcpIp_GetCtrlIdx shall return the index of the controller
related to LocalAddrId.⌋ ()
8.3.3.15 TcpIp_GetArpCacheEntries
[SWS_TCPIP_91002] ⌈
Service name: TcpIp_GetArpCacheEntries
Syntax: Std_ReturnType TcpIp_GetArpCacheEntries(
uint8 ctrlIdx,
uint32* numberOfElements,
TcpIp_ArpCacheEntryType* entryListPtr
)
Service ID[hex]: 0x1d
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): ctrlIdx EthIf controller index to identify the related ARP table.
numberOfElements In: Maximum number of entries that can be stored in
Parameters output entryListPtr.
(inout): Out: Number of entries written to output entryListPtr
(Number of all entries in the cache if input value is 0).
entryListPtr Pointer to memory where the list of cache entries shall be
Parameters (out):
stored.
Std_ReturnType E_OK: physical address cache could be read.
Return value: E_NOT_OK: physical address cache could not be read
(i.e. no IPv4 instance active on this controller)
Description: Copies entries from the physical address cache of the IPv4 instance that is active
on the EthIf controller specified by ctrlIdx into a user provided buffer. The function
will copy all or numberOfElements into the output list. If input value of
numberOfElements is 0 the function will not copy any data but only return the
number of valid entries in the cache. EntryListPtr may be NULL_PTR in this case.
⌋ ()
8.3.3.16 TcpIp_GetNdpCacheEntries
[SWS_TCPIP_91001] ⌈
59 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
8.3.3.17 TcpIp_GetAndResetMeasurementData
[SWS_TcpIp_91006] ⌈
Service name: TcpIp_GetAndResetMeasurementData
Syntax: Std_ReturnType TcpIp_GetAndResetMeasurementData(
TcpIp_MeasurementIdxType MeasurementIdx,
boolean MeasurementResetNeeded,
uint32* MeasurementDataPtr
)
Service ID[hex]: 0x45
Sync/Async: Synchronous
Reentrancy: Reentrant
MeasurementIdx Data index of measurement data
Parameters (in):
MeasurementResetNeeded Flag to trigger a reset of the measurement
data
Parameters None
(inout):
MeasurementDataPtr Reference to data buffer, where to copy
Parameters (out):
measurement data
Std_ReturnType E_OK: successful
Return value:
E_NOT_OK: failed
Description: Allows to read and reset detailed measurement data for diagnostic purposes. Get
all MeasurementIdx's at once is not supported. TCPIP_MEAS_ALL shall only be
used to reset all MeasurementIdx's at once. A NULL_PTR shall be provided for
MeasurementDataPtr in this case.
⌋ ()
[SWS_TCPIP_00294] ⌈ All measurement data which counts data shall not overrun.
⌋ (SRS_Eth_00129)
8.3.4 Transmission
8.3.4.1 TcpIp_UdpTransmit
[SWS_TCPIP_00025] ⌈
Service name: TcpIp_UdpTransmit
Syntax: Std_ReturnType TcpIp_UdpTransmit(
TcpIp_SocketIdType SocketId,
const uint8* DataPtr,
const TcpIp_SockAddrType* RemoteAddrPtr,
uint16 TotalLength
)
Service ID[hex]: 0x12
Sync/Async: Synchronous
Reentrancy: Reentrant for different SocketIds. Non reentrant for the same SocketId.
SocketId Socket identifier of the related local socket resource.
DataPtr Pointer to a linear buffer of TotalLength bytes containing the
data to be transmitted.
Parameters (in): In case DataPtr is a NULL_PTR, TcpIp shall retrieve data from
upper layer via callback <Up>_CopyTxData().
RemoteAddrPtr IP address and port of the remote host to transmit to.
TotalLength indicates the payload size of the UDP datagram.
Parameters None
(inout):
Parameters (out): None
Std_ReturnType E_OK: UDP message has been forwarded to EthIf for
transmission.
Return value:
E_NOT_OK: UDP message could not be sent because of a
permanent error, e.g. message is too long.
Description: This service transmits data via UDP to a remote node. The transmission of the
data is immediately performed with this function call by forwarding it to EthIf.
⌋ ()
[SWS_TCPIP_00120]⌈ The service TcpIp_UdpTransmit() shall immediately
transmit TotalLength data bytes via UDP and the socket specified by SocketId to a
remote socket specified by RemoteAddrPtr according to the sequence diagram
specified in section 9.5.⌋ ()
DataPtr is not a NULL_PTR, or retrieve TotalLength data bytes from the upper layer
by calling Up_CopyTxData() one or multiple times in the context of this service
otherwise.⌋ ()
8.3.4.2 TcpIp_TcpTransmit
[SWS_TCPIP_00050] ⌈
Service name: TcpIp_TcpTransmit
Syntax: Std_ReturnType TcpIp_TcpTransmit(
TcpIp_SocketIdType SocketId,
const uint8* DataPtr,
uint32 AvailableLength,
boolean ForceRetrieve
)
Service ID[hex]: 0x13
Sync/Async: Asynchronous
Reentrancy: Reentrant for different SocketIds. Non reentrant for the same SocketId.
SocketId Socket identifier of the related local socket resource.
DataPtr Pointer to a linear buffer of AvailableLength bytes containing the
data to be transmitted.
In case DataPtr is a NULL_PTR, TcpIp shall retrieve data from
upper layer via callback <Up>_CopyTxData().
AvailableLength Available data for transmission in bytes.
ForceRetrieve This parameter is only valid if DataPtr is a NULL_PTR.
Indicates how the TCP/IP stack retrieves data from upper layer if
Parameters (in): DataPtr is a NULL_PTR.
TRUE: the whole data indicated by availableLength shall be
retrieved from the upper layer via one or multiple
<Up>_CopyTxData() calls within the context of this transmit
function.
FALSE: The TCP/IP stack may retrieve up to availableLength
data from the upper layer. It is allowed to retrieve less than
availableLength bytes. Note: Not retrieved data will be provided
by upper layer with the next call to TcpIp_TcpTransmit (along with
new data if available).
Parameters None
(inout):
Parameters (out): None
Std_ReturnType E_OK: The request has been accepted
Return value: E_NOT_OK: The request has not been accepted, e.g. due to a
lack of buffer space or the socket is not connected.
Description: This service requests transmission of data via TCP to a remote node. The
transmission of the data is decoupled.
Note: The TCP segment(s) are sent dependent on runtime factors (e.g. receive
window) and configuration parameter (e.g. Nagle algorithm) .
⌋ ()
[SWS_TCPIP_00123]⌈ The service TcpIp_TcpTransmit() shall transmit data via
TCP and the socket specified by SocketId to the connected remote socket according
to the sequence diagram specified in section 9.4.⌋ ()
Note: The TCP segment(s) are sent dependent on runtime factors (e.g. receive
window) and configuration parameter (e.g. Nagle algorithm).
8.4.1 TcpIp_RxIndication
[SWS_TCPIP_00029] ⌈
Service name: TcpIp_RxIndication
Syntax: void TcpIp_RxIndication(
uint8 CtrlIdx,
Eth_FrameType FrameType,
boolean IsBroadcast,
const uint8* PhysAddrPtr,
const uint8* DataPtr,
uint16 LenByte
)
Service ID[hex]: 0x14
Sync/Async: Synchronous
Reentrancy: Non Reentrant
CtrlIdx Index of the EthIf controller.
FrameType frame type of received Ethernet frame
IsBroadcast parameter to indicate a broadcast frame
PhysAddrPtr pointer to Physical source address (MAC address in network byte
Parameters (in):
order) of received Ethernet frame
DataPtr Pointer to payload of the received Ethernet frame (i.e. Ethernet
header is not provided).
LenByte Length of received data.
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: By this API service the TCP/IP stack gets an indication and the data of a received
frame.
⌋ ()
8.5.2 TcpIp_MainFunction
[SWS_TCPIP_00026] ⌈
Service name: TcpIp_MainFunction
Syntax: void TcpIp_MainFunction(
void
)
Service ID[hex]: 0x15
Description: Schedules the TCP/IP stack. (Entry point for scheduling)
⌋ ()
This chapter defines all interfaces which are required to fulfill the core functionality of
the module.
[SWS_TCPIP_00027] ⌈
API function Description
Dem_SetEventStatus Called by SW-Cs or BSW modules to report monitor status information
to the Dem. BSW modules calling Dem_SetEventStatus can safely
ignore the return value.
Det_ReportRuntimeError Service to report runtime errors. If a callout has been configured then
this callout shall be called.
EthIf_GetPhysAddr Obtains the physical source address used by the indexed controller
EthIf_ProvideTxBuffer Provides access to a transmit buffer of the specified Ethernet controller.
EthIf_SetPhysAddr Sets the physical source address used by the indexed controller.
EthIf_Transmit Triggers transmission of a previously filled transmit buffer
EthSM_TcpIpModeIndication This service is called by the TcpIp to report the actual TcpIp state (e.g.
online, offline).
⌋ ()
This chapter defines all interfaces which are required to fulfill an optional functionality
of the module.
[SWS_TCPIP_00028] ⌈
API function Description
Det_ReportError Service to report development errors.
EthIf_UpdatePhysAddrFilter Update the physical source address to/from the indexed controller filter.
If the Ethernet Controller is not capable to do the filtering, the software
has to do this.
⌋ ()
In this chapter all interfaces are listed where the target function could be configured.
The target function is usually a call-back function. The names of these kind of
interfaces is not fixed because they are configurable.
The ServiceID of the functions defined in this chapter are specified at the upper layer
module implementing the functions.
8.6.3.1 TcpIp_<Up>GetSocket
[SWS_TCPIP_00018] ⌈
Service name: TcpIp_<Up>GetSocket
Syntax: Std_ReturnType TcpIp_<Up>GetSocket(
TcpIp_DomainType Domain,
TcpIp_ProtocolType Protocol,
TcpIp_SocketIdType* SocketIdPtr
)
Service ID[hex]: 0x03
Sync/Async: Synchronous
Reentrancy: Reentrant
Domain IP address family.
Parameters (in):
Protocol Socket protocol as sub-family of parameter type.
Parameters None
(inout):
SocketIdPtr Pointer to socket identifier representing the requested socket.
This socket identifier must be provided for all further API calls
Parameters (out):
which requires a SocketId.
Note: SocketIdPtr is only valid if return value is E_OK.
Std_ReturnType Result of operation
Return value: E_OK The request has been accepted
E_NOT_OK The request has not been accepted: no free socket
Description: By this API service the TCP/IP stack is requested to allocate a new socket.
Note: Each accepted incoming TCP connection also allocates a socket resource.
⌋ (SRS_Eth_00103)
[SWS_TCPIP_00128]⌈ If development error detection is enabled, the service
TcpIp_<Up>GetSocket() shall check the parameter Domain for being valid and
raise the development error TCPIP_E_AFNOSUPPORT if it is invalid.⌋ ()
8.6.3.2 <Up_PhysAddrTableChg>
[SWS_TCPIP_00143] ⌈
Service name: <Up_PhysAddrTableChg>
Syntax: void <Up_PhysAddrTableChg>(
uint8 CtrlIdx,
const TcpIp_SockAddrType* IpAddrPtr,
const uint8* PhysAddrPtr,
boolean valid
)
Sync/Async: Synchronous
Reentrancy: Non Reentrant
CtrlIdx EthIf controller index of the related ARP/NDP table.
IpAddrPtr specifies the IP address of the changed ARP/NDP table entry
Parameters (in): PhysAddrPtr specifies the physical address of the changed ARP/NDP table entry
valid specifies if the ARP/NDP table entry is added or changed (TRUE) or
has been removed (FALSE)
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: This API is called by TcpIp in case of a change in the ARP/NDP table related to
the controller specified by CtrlIdx.
⌋ ()
8.6.3.3.1 <Up_RxIndication>
[SWS_TCPIP_00223] ⌈
Service name: <Up_RxIndication>
Syntax: void <Up_RxIndication>(
TcpIp_SocketIdType SocketId,
const TcpIp_SockAddrType* RemoteAddrPtr,
const uint8* BufPtr,
uint16 Length
)
Sync/Async: Synchronous
Reentrancy: Reentrant for different SocketIds. Non reentrant for the same SocketId.
SocketId Socket identifier of the related local socket resource.
RemoteAddrPtr Pointer to memory containing IP address and port of the
Parameters (in): remote host which sent the data.
BufPtr Pointer to the received data.
Length Data length of the received TCP segment or UDP datagram.
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: The TCP/IP stack calls this primitive after the reception of data on a socket. The
socket identifier along with configuration information determines which module is
to be called.
⌋ (SRS_Eth_00103)
8.6.3.3.2 <Up_TcpIpEvent>
[SWS_TCPIP_00224] ⌈
Service name: <Up_TcpIpEvent>
Syntax: void <Up_TcpIpEvent>(
TcpIp_SocketIdType SocketId,
TcpIp_EventType Event
)
Sync/Async: Synchronous
Reentrancy: Non Reentrant
SocketId Socket identifier of the related local socket resource.
Parameters (in):
Event This parameter contains a description of the event just encountered.
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: This service gets called if the stack encounters a condition described by the
values in Event.
⌋ (SRS_Eth_00103)
68 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
8.6.3.3.3 <Up_TxConfirmation>
[SWS_TCPIP_00225] ⌈
Service name: <Up_TxConfirmation>
Syntax: void <Up_TxConfirmation>(
TcpIp_SocketIdType SocketId,
uint16 Length
)
Sync/Async: Synchronous
Reentrancy: Reentrant for different SocketIds. Non reentrant for the same SocketId.
SocketId Socket identifier of the related local socket resource.
Parameters (in):
Length Number of transmitted data bytes.
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: The TCP/IP stack calls this function after the data has been acknowledged by the
peer for TCP.
Caveats: The upper layer might not be able to determine exactly which data bytes
have been confirmed.
⌋ (SRS_Eth_00103)
8.6.3.3.4 <Up_TcpAccepted>
[SWS_TCPIP_00226] ⌈
Service name: <Up_TcpAccepted>
Syntax: Std_ReturnType <Up_TcpAccepted>(
TcpIp_SocketIdType SocketId,
TcpIp_SocketIdType SocketIdConnected,
const TcpIp_SockAddrType* RemoteAddrPtr
)
Sync/Async: Synchronous
Reentrancy: Non Reentrant
SocketId Socket identifier of the related local socket resource which
has been used at TcpIp_Bind()
Parameters (in): SocketIdConnected Socket identifier of the local socket resource used for the
established connection.
RemoteAddrPtr IP address and port of the remote host.
Parameters None
(inout):
Parameters (out): None
Std_ReturnType Result of operation
E_OK upper layer accepts the established connection
Return value:
E_NOT_OK upper layer refuses the established
connection, TcpIp stack shall close the connection.
Description: This service gets called if the stack put a socket into the listen mode before (as
server) and a peer connected to it (as client).
In detail: The TCP/IP stack calls this function after a socket was set into the listen
state with TcpIp_TcpListen() and a TCP connection is requested by the peer.
⌋ (SRS_Eth_00103)
8.6.3.3.5 <Up_TcpConnected>
[SWS_TCPIP_00227] ⌈
Service name: <Up_TcpConnected>
Syntax: void <Up_TcpConnected>(
69 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
TcpIp_SocketIdType SocketId
)
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): SocketId Socket identifier of the related local socket resource.
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: This service gets called if the stack initiated a TCP connection
before (as client) and the peer (the server) acknowledged the connection set up.
In detail:
The TCP/IP stack calls this function after a socket was requested to connect with
TcpIp_TcpConnect() and a TCP connection is confirmed by the peer.
The parameter value of SocketId equals the SocketId value of the preceeding
TcpIp_TcpConnect() call.
⌋ (SRS_Eth_00103)
8.6.3.3.6 <Up_CopyTxData>
[SWS_TCPIP_00228] ⌈
Service name: <Up_CopyTxData>
Syntax: BufReq_ReturnType <Up_CopyTxData>(
TcpIp_SocketIdType SocketId,
uint8* BufPtr,
uint16 BufLength
)
Sync/Async: Synchronous
Reentrancy: Reentrant for different SocketIds. Non reentrant for the same SocketId.
SocketId Socket identifier of the related local socket resource.
Parameters (in):
BufLength Length of provided data buffer.
Parameters None
(inout):
Parameters (out): BufPtr Pointer to buffer for transmission data.
BufReq_ReturnType BUFREQ_OK: Data has been copied to the transmit buffer
completely as requested.
BUFREQ_E_NOT_OK: Data has not been copied. Request
Return value:
failed. (No further action for TcpIp required. Later the upper
layer might either close the socket or retry the transmit
request)
Description: This service requests to copy data for transmission to the buffer indicated.
This call is triggered by TcpIp_Transmit(). Note: The call to <Up>_CopyTxData()
may happen in the context of TcpIp_Transmit().
⌋ (SRS_Eth_00103)
8.6.3.3.7 <Up_LocalIpAddrAssignmentChg>
[SWS_TCPIP_00229] ⌈
Service name: <Up_LocalIpAddrAssignmentChg>
Syntax: void <Up_LocalIpAddrAssignmentChg>(
TcpIp_LocalAddrIdType IpAddrId,
TcpIp_IpAddrStateType State
)
Sync/Async: Synchronous
Reentrancy: Non Reentrant
IpAddrId IP address Identifier, representing an IP address specified in the TcpIp
Parameters (in): module configuraiton (e.g. static IPv4 address on EthIf controller 0).
State state of IP address assignment
70 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: This service gets called by the TCP/IP stack if an IP address assignment changes
(i.e. new address assigned or assigned address becomes invalid).
⌋ (SRS_Eth_00103)
8.6.3.5 <Up_DADAddressConflict>
[SWS_TCPIP_91005] ⌈
Service name: <Up_DADAddressConflict>
Syntax: void <Up_DADAddressConflict>(
TcpIp_LocalAddrIdType IpAddrId,
const TcpIp_SockAddrType* IpAddrPtr,
const uint8* LocalPhysAddrPtr,
const uint8* RemotePhysAddrPtr
)
Service ID[hex]: 0x1e
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): IpAddrId IP address Identifier, representing an IP address specified in
9 Sequence diagrams
Note: The following sequence charts showcase SoAd as upper layer of TcpIp. They
shall be understood as example for any other configurable upper layer module.
TcpIp_SoAdGetSocket(Std_ReturnType,
TcpIp_DomainType, TcpIp_ProtocolType,
TcpIp_SoHandleType**)
Allocate/Initialize
socket resource
opt
TcpIp_Bind(Std_ReturnType, TcpIp_SocketIdType,
TcpIp_LocalAddrIdType, uint16*)
TcpIp_MainFunction()
ProvideTxBuffer(BufReq_ReturnType, uint8,
Eth_FrameType, uint8, Eth_BufIdxType*, uint8**,
uint16*)
EthIf_MainFunctionRx()
TcpIp_RxIndication(uint8,
Eth_FrameType, boolean, const uint8*,
const uint8*, uint16)
Receive SYN ACK frame
TcpIp_MainFunction()
ProvideTxBuffer(BufReq_ReturnType, uint8,
Eth_FrameType, uint8, Eth_BufIdxType*,
uint8**, uint16*)
SoAd_TcpConnected(TcpIp_SocketIdType)
TcpIp_SoAdGetSocket(Std_ReturnType,
TcpIp_DomainType, TcpIp_ProtocolType,
TcpIp_SocketIdType**)
Allocate/Initialize
socket resource
TcpIp_Bind(Std_ReturnType, TcpIp_SocketIdType,
TcpIp_LocalAddrIdType, uint16*)
Connection attempt
from remote host.
TcpIp_MainFunction()
ProvideTxBuffer(BufReq_ReturnType, uint8,
Eth_FrameType, uint8, Eth_BufIdxType*,
uint8**, uint16*)
EthIf_MainFunctionRx()
SoAd_TcpAccepted(Std_ReturnType, TcpIp_SocketIdType,
TcpIp_SocketIdType, TcpIp_SockAddrType*)
9.3 Reception
EthIf_MainFunctionRx()
TcpIp_RxIndication(uint8,
Eth_FrameType, boolean, const uint8*,
const uint8*, uint16)
SoAd_RxIndication(TcpIp_SocketIdType,
TcpIp_SockAddrType, uint8*, uint16)
SoAd_MainFunction()
TcpIp_TcpReceived(Std_ReturnType,
TcpIp_SocketIdType, uint32)
TcpIp_MainFunction()
ProvideTxBuffer(BufReq_ReturnType, uint8,
Eth_FrameType, uint8, Eth_BufIdxType*, uint8**,
uint16*)
Acknowledge received
EthIf_Transmit(Std_ReturnType, uint8,
data for one or several
Eth_BufIdxType, Eth_FrameType, boolean,
received segments.
uint16, const uint8*)
Note: Even it is not shown in the sequence diagram of section 9.3, TcpIp may
decouple the data reception if required. E.g. for reassembling of incoming IP
datagrams that are fragmented, TcpIp shall copy the received data to a TcpIp buffer
and decouple TcpIp_RxIndication() from SoAd_RxIndication().
TcpIp_TcpTransmit(Std_ReturnType,
TcpIp_SocketIdType, const uint8*,
uint32, boolean)
SoAd_CopyTxData(BufReq_ReturnType,
TcpIp_SocketIdType, uint8*, uint16)
TcpIp_MainFunction()
ProvideTxBuffer(BufReq_ReturnType, uint8,
Eth_FrameType, uint8, Eth_BufIdxType*, uint8**,
uint16*)
EthIf_Transmit(Std_ReturnType, uint8,
Eth_BufIdxType, Eth_FrameType, boolean,
uint16, const uint8*)
Transmit frame
TcpIp_RxIndication(uint8,
Eth_FrameType, boolean, const
uint8*, const uint8*, uint16)
TCP ACK received
SoAd_TxConfirmation(TcpIp_SocketIdType, uint16)
TcpIp_UdpTransmit(Std_ReturnType, TcpIp_SocketIdType,
const uint8*, const TcpIp_SockAddrType*, uint16)
Transmit frame
EthIf_Transmit(Std_ReturnType, uint8,
Eth_BufIdxType, Eth_FrameType, boolean,
uint16, const uint8*)
Transmit frame
10 Configuration specification
In general, this chapter defines configuration parameters and their clustering into
containers. In order to support the specification Chapter 10.1 describes
fundamentals. It also specifies a template (table) you shall use for the parameter
specification. We intend to leave Chapter 10.1 in the specification to guarantee
comprehension.
Chapter 10.2 specifies the structure (containers) and the parameters of the module
TcpIp.
TcpIp :EcucModuleDef
+container TcpIpGeneral :
EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.1 TcpIp
Included Containers
Container Name Multiplicity Scope / Dependency
This container contains the configuration parameters and sub
TcpIpConfig 1
containers of the AUTOSAR TcpIp module.
This container is a subcontainer of TcpIp and specifies the
TcpIpGeneral 1
general configuration parameters of the TCP/IP stack.
TcpIpDevErrorDetect :
TcpIpGeneral : +parameter EcucBooleanParamDef
EcucParamConfContainerDef
defaultValue = false
TcpIpBufferMemory :
+parameter EcucIntegerParamDef
min = 0
TcpIpMainFunctionPeriod :
+parameter max = 4294967295
EcucFloatParamDef
min = 0
max = INF
TcpIpTcpEnabled :
+parameter EcucBooleanParamDef
TcpIpTcpSocketMax :
+parameter
EcucIntegerParamDef
min = 0
max = 65535
TcpIpUdpEnabled :
+parameter EcucBooleanParamDef
TcpIpUdpSocketMax :
+parameter EcucIntegerParamDef
min = 0
max = 65535
TcpIpVersionInfoApi :
+parameter EcucBooleanParamDef
defaultValue = false
TcpIpScalabilityClass :
EcucEnumerationParamDef +literal SC1 :
EcucEnumerationLiteralDef
+literal SC3 :
EcucEnumerationLiteralDef
TcpIpIpV4General : TcpIpArpEnabled :
+parameter
EcucParamConfContainerDef EcucBooleanParamDef
TcpIpDhcpClientEnabled :
+parameter EcucBooleanParamDef
TcpIpAutoIpEnabled :
+parameter EcucBooleanParamDef
+parameter TcpIpPathMtuDiscoveryEnabled :
EcucBooleanParamDef
+subContainer
TcpIpLocalAddrIpv4EntriesMax :
+parameter
EcucIntegerParamDef
min = 0
max = 255
TcpIpIcmpEnabled :
+parameter EcucBooleanParamDef
TcpIpIpV4Enabled :
+parameter EcucBooleanParamDef
TcpIpIpV6General : TcpIpLocalAddrIpv6EntriesMax :
+parameter EcucIntegerParamDef
EcucParamConfContainerDef
min = 0
max = 255
+parameter TcpIpIpV6Enabled :
EcucBooleanParamDef
+parameter TcpIpIpV6PathMtuDiscoveryEnabled :
EcucBooleanParamDef
+subContainer
+parameter TcpIpNdpAddressResolutionUnrechabilityDetectionEnabled :
EcucBooleanParamDef
+parameter TcpIpNdpPrefixAndRouterDiscoveryEnabled :
EcucBooleanParamDef
+parameter TcpIpDhcpV6ClientEnabled :
EcucBooleanParamDef
+parameter TcpIpResetIpAssignmentApi :
EcucBooleanParamDef
+parameter TcpIpDhcpServerEnabled :
EcucBooleanParamDef
+parameter
TcpIpGetAndResetMeasurementDataApi :
EcucBooleanParamDef
10.2.2 TcpIpGeneral
Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
This container is a subcontainer of TcpIp and specifies the
TcpIpIpV4General 1
general configuration parameters of the TCP/IP stack for IPv4
This container is a subcontainer of TcpIp and specifies the
TcpIpIpV6General 1
general configuration parameters of the TCP/IP stack for IPv6.
10.2.3 TcpIpIpV4General
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Range 0 .. 255
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME, VARIANT-POST-
BUILD
Post-build time --
Scope / Dependency scope: local
No Included Containers
10.2.4 TcpIpIpV6General
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
No Included Containers
TcpIpConfig : TcpIpCtrl :
EcucParamConfContainerDef +subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
TcpIpIpConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpLocalAddr :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
TcpIpPhysAddrConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpTcpConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpUdpConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpSocketOwnerConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = 1
TcpIpDhcpServerConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
TcpIpNvmBlock :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpDuplicateAddressDetectionHeaderFileName :
+parameter EcucStringParamDef
TcpIpDuplicateAddressDetectionConfig :
EcucParamConfContainerDef
+subContainer
lowerMultiplicity = 0
TcpIpDuplicateAddressDetectionCalloutName :
upperMultiplicity = 1
+parameter EcucFunctionNameDef
10.2.5 TcpIpConfig
Included Containers
Container Name Multiplicity Scope / Dependency
Specifies the EthIf controller used for IP
TcpIpCtrl 1..*
communication.
Specifies the configuration parameters of the DHCP
TcpIpDhcpServerConfig 0..*
Server sub-module.
TcpIpDuplicateAddressDetectionConfi
0..1 Specifies the DAD callout function.
g
Specifies the configuration parameters of the IP
TcpIpIpConfig 0..1
(Internet Protocol) sub-module
Specifies the local IP (Internet Protocol) addresses
TcpIpLocalAddr 1..*
used for IP communication.
Configuration of optional usage of Nvm in case the
TcpIp module requires non volatile memory in the
TcpIpNvmBlock 0..1
Ecu to store information (e.g. IP Address received
via DHCP and shall be stored).
TcpIpPhysAddrConfig 0..1 Specifies the physical address configuration.
Specifies the upper layer modules of TcpIp using the
TcpIpSocketOwnerConfig 1
socket API.
Specifies the configuration parameters of the TCP
TcpIpTcpConfig 0..1
(Transmission Control Protocol) sub-module.
Specifies the configuration parameters of the UDP
TcpIpUdpConfig 0..1
(User Datagram Protocol) sub-module
lowerMultiplicity = 0
TcpIpIpFramePrioDefault : upperMultiplicity = *
EcucIntegerParamDef
+parameter
min = 0
max = 7
defaultValue = 0
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpIpVXCtrl : TcpIpIpV4Ctrl :
EcucChoiceContainerDef +choice EcucParamConfContainerDef
lowerMultiplicity = 0
+subContainer upperMultiplicity = 1
TcpIpIpV6Ctrl :
+choice EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.6 TcpIpCtrl
Included Containers
Container Name Multiplicity Scope / Dependency
92 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
10.2.7 TcpIpIpVXCtrl
Container Choices
Container Name Multiplicity Scope / Dependency
TcpIpIpV4Ctrl 0..1 Specifies an Internet Protocol version 4 (IPv4) instance.
TcpIpIpV6Ctrl 0..1 Specifies an Internet Protocol version 6 (IPv6) instance.
TcpIpIpV4Ctrl :
TcpIpArpConfigRef : TcpIpArpConfig :
EcucParamConfContainerDef
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1
upperMultiplicity = 1 upperMultiplicity = *
TcpIpAutoIpConfigRef : TcpIpAutoIpConfig :
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
TcpIpFragmentationConfigRef : TcpIpIpFragmentationConfig :
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
TcpIpDhcpConfigRef : TcpIpDhcpConfig :
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
TcpIpIpV4MtuConfig :
TcpIpIpV4PathMtuTimeout :
EcucParamConfContainerDef
EcucFloatParamDef
lowerMultiplicity = 1 +parameter
min = 1
upperMultiplicity = 1
max = 86400
defaultValue = 600
+subContainer
lowerMultiplicity = 1
upperMultiplicity = 1
TcpIpIpV4PathMtuEnabled :
+parameter EcucBooleanParamDef
lowerMultiplicity = 1
upperMultiplicity = 1
defaultValue = false
10.2.8 TcpIpIpV4Ctrl
Included Containers
Container Name Multiplicity Scope / Dependency
This container specifies the Maximum Transmission Unit
TcpIpIpV4MtuConfig 1
parameters for this IPv4 instance.
TcpIpDhcpV6Config :
TcpIpIpV6Ctrl : TcpIpIpV6DhcpConfigRef :
EcucParamConfContainerDef +reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = *
upperMultiplicity = 1 upperMultiplicity = 1
TcpIpIpV6NdpConfigRef : TcpIpNdpConfig :
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 1 lowerMultiplicity = 1
upperMultiplicity = 1 upperMultiplicity = *
TcpIpIpV6FragmentationConfigRef : TcpIpIpV6FragmentationConfig :
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
TcpIpIpV6MtuConfig : TcpIpIpV6PathMtuTimeout :
EcucParamConfContainerDef EcucFloatParamDef
lowerMultiplicity = 1 +parameter
min = 1
upperMultiplicity = 1 max = 86400
defaultValue = 600
+subContainer
lowerMultiplicity = 1
upperMultiplicity = 1
TcpIpIpV6PathMtuEnabled :
+parameter EcucBooleanParamDef
lowerMultiplicity = 1
upperMultiplicity = 1
defaultValue = false
10.2.9 TcpIpIpV6Ctrl
Name TcpIpIpV6FragmentationConfigRef
Parent Container TcpIpIpV6Ctrl
Description Reference to IPv6 Fragmentation Configuration.
(Multiple IPv6 instances may use the same configuration container but will
operate independently)
Multiplicity 0..1
Type Reference to [ TcpIpIpV6FragmentationConfig ]
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
This container specifies the Maximum Transmission Unit
TcpIpIpV6MtuConfig 1
parameters for this IPv6 instance.
10.2.10 TcpIpIpV6MtuConfig
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
No Included Containers
(from EthIf)
TcpIpDhcpNetmask : +parameter
EcucIntegerParamDef
+parameter EthIfSwitchIdx :
min = 0 EcucIntegerParamDef
max = 128
lowerMultiplicity = 0 min = 0
upperMultiplicity = 1 max = 255
symbolicNameValue = true
+parameter
TcpIpDhcpDefaultRouter : (from EthIf)
EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
+subContainer
TcpIpDhcpAddressAssignment :
EcucParamConfContainerDef TcpIpDhcpSwitchPortRef : EthSwtPort :
+reference EcucSymbolicNameReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = * lowerMultiplicity = 0 lowerMultiplicity = 1
upperMultiplicity = 1 upperMultiplicity = *
(from EthSwt)
+parameter TcpIpDhcpAddressLowerBound :
EcucStringParamDef +parameter
EthSwtPortIdx :
EcucIntegerParamDef
+parameter
TcpIpDhcpAddressUpperBound :
EcucStringParamDef min = 0
max = 255
symbolicNameValue = true
(from EthSwt)
10.2.11 TcpIpDhcpServerConfig
Post-Build Variant
true
Multiplicity
Post-Build Variant Value true
Multiplicity ConfigurationPre-compile time X VARIANT-PRE-COMPILE
Class Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
TcpIpDhcpAddressAssignmen
0..* Defines a Ethernet Switch port based IP address assignment.
t
10.2.12 TcpIpDhcpAddressAssignment
Multiplicity 0..1
Type Symbolic name reference to [ EthSwtPort ]
Post-Build Variant
true
Multiplicity
Post-Build Variant Value true
Multiplicity ConfigurationPre-compile time X VARIANT-PRE-COMPILE
Class Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: ECU
No Included Containers
10.2.13 TcpIpDuplicateAddressDetectionConfig
Post-build time --
Scope / Dependency
No Included Containers
TcpIpIpConfig : TcpIpIpV4Config :
EcucParamConfContainerDef
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = 1
TcpIpIpV6Config :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.14 TcpIpIpConfig
Included Containers
Container Name Multiplicity Scope / Dependency
Specifies the configuration parameters of the IPv4 (Internet
TcpIpIpV4Config 0..1
Protocol version 4) sub-module.
Specifies the configuration parameters of the IPv6 (Internet
TcpIpIpV6Config 0..1
Protocol version 6) sub-module.
TcpIpIpV4Config :
EcucParamConfContainerDef TcpIpArpConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1 lowerMultiplicity = 0
upperMultiplicity = *
TcpIpAutoIpConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
TcpIpIcmpConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpIpFragmentationConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
TcpIpDhcpConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
10.2.15 TcpIpIpV4Config
Included Containers
Container Name Multiplicity Scope / Dependency
Specifies the configuration parameters of the ARP (Address
TcpIpArpConfig 0..*
Resolution Protocol) sub-module.
Specifies the configuration parameters of the Auto-IP
TcpIpAutoIpConfig 0..*
(automatic private IP addressing) sub-module.
TcpIpDhcpConfig 0..* Specifies the configuration parameters of the DHCPv4.
104 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
TcpIpArpConfig :
TcpIpArpTableSizeMax :
EcucParamConfContainerDef
+parameter EcucIntegerParamDef
lowerMultiplicity = 0
min = 0
upperMultiplicity = *
max = 65535
TcpIpArpTableEntryTimeout :
+parameter EcucFloatParamDef
min = 0
max = INF
TcpIpArpNumGratuitousARPonStartup :
+parameter EcucIntegerParamDef
min = 0
max = 255
TcpIpArpPacketQueueEnabled :
+parameter EcucBooleanParamDef
lowerMultiplicity = 1
upperMultiplicity = 1
defaultValue = false
10.2.16 TcpIpArpConfig
Type EcucIntegerParamDef
Range 0 .. 255
Default value --
Post-Build Variant Value true
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local
No Included Containers
TcpIpAutoIpConfig :
TcpIpAutoIpInitTimeout :
EcucParamConfContainerDef +parameter EcucFloatParamDef
lowerMultiplicity = 0
min = 0
upperMultiplicity = *
max = INF
10.2.17 TcpIpAutoIpConfig
No Included Containers
TcpIpIpV4Config : TcpIpDhcpConfig :
EcucParamConfContainerDef +subContainer EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
10.2.18 TcpIpDhcpConfig
No Included Containers
min = 0
lowerMultiplicity = 0 max = 255
upperMultiplicity = 1
TcpIpIcmpMsgHandlerName :
TcpIpIcmpMsgHandler : +parameter EcucFunctionNameDef
EcucParamConfContainerDef
lowerMultiplicity = 0
+subContainer
upperMultiplicity = 1
TcpIpIcmpMsgHandlerHeaderFileName :
+parameter
EcucStringParamDef
minLength = 1
maxLength = 32
+parameter TcpIpIcmpEchoReplyEnabled :
EcucBooleanParamDef
defaultValue = FALSE
10.2.19 TcpIpIcmpConfig
Name TcpIpIcmpTtl
Parent Container TcpIpIcmpConfig
Description Default Time-to-live value of outgoing ICMP packets.
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value --
Post-Build Variant Value true
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
This container is a subcontainer of TcpIpIcmpConfig and
TcpIpIcmpMsgHandler 0..1 specifies the configuration parameters for the ICMP message
handler.
10.2.20 TcpIpIcmpMsgHandler
maxLength --
minLength --
regularExpression --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME, VARIANT-POST-
BUILD
Post-build time --
Scope / Dependency scope: local
No Included Containers
TcpIpIpFragmentationConfig : TcpIpIpFragmentationRxEnabled :
EcucParamConfContainerDef +parameter
EcucBooleanParamDef
TcpIpIpNumFragments :
EcucIntegerParamDef
+parameter
min = 0
max = 255
defaultValue = 0
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpIpReassTimeout :
EcucFloatParamDef
+parameter
min = 0
max = INF
defaultValue = 60
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpIpNumReassDgrams :
EcucIntegerParamDef
+parameter
min = 0
max = 65535
defaultValue = 3
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.21 TcpIpIpFragmentationConfig
No Included Containers
TcpIpIpV6Config : TcpIpDhcpV6Config :
EcucParamConfContainerDef +subContainer EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
TcpIpNdpConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
TcpIpIcmpV6Config :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = 1
TcpIpIpV6FragmentationConfig :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
TcpIpIpV6ConfigExtHeaderFilterEntry :
TcpIpIpV6ConfigExtHeaderFilter EcucIntegerParamDef
+subContainer :EcucParamConfContainerDef +parameter
min = 0
lowerMultiplicity = 0 max = 255
upperMultiplicity = * lowerMultiplicity = 1
upperMultiplicity = *
10.2.22 TcpIpIpV6Config
Included Containers
Container Name Multiplicity Scope / Dependency
Specifies the configuration parameters of the DHCPv6.
This container may be referenced by multiple IPv6
TcpIpDhcpV6Config 0..* instances if they shall use the same configuration.
This container may have multiple instances if different
configurations are required for different IPv6 instances.
Specifies the configuration parameters of the ICMPv6
TcpIpIcmpV6Config 1
(Internet Control Message Protocol for IPv6) sub-module.
This container describes the white list for the filtering of
TcpIpIpV6ConfigExtHeaderFilte
0..* IPv6 extension headers, i.e. frames containing IPv6
r
extension headers not listed here shall be silently dropped.
Specifies the configuration parameters of IPv6 packet
fragmentation/reassembly.
This container may be referenced by multiple IPv6
TcpIpIpV6FragmentationConfig 0..*
instances if they shall use the same configuration.
This container may have multiple instances if different
configurations are required for different IPv6 instances.
Specifies the configuration parameters of the Neighbor
Discovery Protocol for IPv6
TcpIpNdpConfig 1..*
This container may be referenced by multiple IPv6
instances if they shall use the same configuration.
113 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
TcpIpDhcpV6CnfDelayMax :
TcpIpDhcpV6Config :
EcucFloatParamDef
EcucParamConfContainerDef +parameter
min = 0
lowerMultiplicity = 0
max = 100
upperMultiplicity = *
defaultValue = 1
TcpIpDhcpV6CnfDelayMin :
EcucFloatParamDef
+parameter
min = 0
max = 100
defaultValue = 0
TcpIpDhcpV6InfDelayMax :
EcucFloatParamDef
+parameter
min = 0
max = 100
defaultValue = 1
TcpIpDhcpV6InfDelayMin :
EcucFloatParamDef
+parameter
min = 0
max = 100
defaultValue = 0
TcpIpDhcpV6SolDelayMax :
EcucFloatParamDef
+parameter
min = 0
max = 100
defaultValue = 1
TcpIpDhcpV6SolDelayMin :
+parameter EcucFloatParamDef
min = 0
max = 100
defaultValue = 0
10.2.23 TcpIpDhcpV6Config
No Included Containers
TcpIpIcmpV6Config : TcpIpIcmpV6EchoReplyEnabled :
EcucParamConfContainerDef +parameter
EcucBooleanParamDef
defaultValue = false
lowerMultiplicity = 1
upperMultiplicity = 1
TcpIpIcmpV6MsgParameterProblemEnabled :
+parameter
EcucBooleanParamDef
defaultValue = true
TcpIpIcmpV6HopLimit :
+parameter EcucIntegerParamDef
min = 0
max = 255
+parameter TcpIpIcmpV6MsgDestinationUnreachableEnabled :
EcucBooleanParamDef
TcpIpIcmpV6MsgHandler :
TcpIpIcmpV6MsgHandlerHeaderFileName :
EcucParamConfContainerDef
+parameter EcucStringParamDef
+subContainer lowerMultiplicity = 0
minLength = 1
upperMultiplicity = 1
maxLength = 32
+parameter
TcpIpIcmpV6MsgHandlerName :
EcucFunctionNameDef
10.2.24 TcpIpIcmpV6Config
Name TcpIpIcmpV6EchoReplyEnabled
Parent Container TcpIpIcmpV6Config
Description If enabled, the stack will respond to incoming ICMPv6 Echo Requests
(Pings).
Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
This container is a subcontainer of TcpIpIcmpConfig and
TcpIpIcmpV6MsgHandler 0..1 specifies the configuration parameters for the ICMPv6
message handler.
10.2.25 TcpIpIcmpV6MsgHandler
No Included Containers
10.2.26 TcpIpIpV6ConfigExtHeaderFilter
No Included Containers
TcpIpIpV6FragmentationConfig :
EcucParamConfContainerDef TcpIpIpV6ReassemblyBufferCount :
EcucIntegerParamDef
+parameter
lowerMultiplicity = 0
upperMultiplicity = * min = 0
max = 255
defaultValue = 2
TcpIpIpV6ReassemblyBufferSize :
EcucIntegerParamDef
+parameter
min = 1500
max = 65535
defaultValue = 1500
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpIpV6ReassemblyTimeout :
EcucFloatParamDef
+parameter
min = 0.001
max = 100
defaultValue = 60
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpIpV6ReassemblySegmentCount :
EcucIntegerParamDef
+parameter
min = 1
max = 255
defaultValue = 5
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpIpV6TxFragmentBufferCount :
EcucIntegerParamDef
+parameter
min = 1
max = 1000
defaultValue = 2
lowerMultiplicity = 1
upperMultiplicity = 1
TcpIpIpV6TxFragmentBufferSize :
EcucIntegerParamDef
+parameter
min = 1500
max = 65535
defaultValue = 1500
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.27 TcpIpIpV6FragmentationConfig
If the upper layer transmits packets that do not fit into the link or path MTU,
the IpV6 will split-up the packet into fragments.
Link time --
Post-build time --
Scope / Dependency scope: local
No Included Containers
TcpIpNdpConfig : TcpIpNdpSlaacConfig :
EcucParamConfContainerDef EcucParamConfContainerDef
TcpIpNdpArNudConfig :
EcucParamConfContainerDef
+subContainer lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpNdpPrefixRouterDiscoveryConfig :
EcucParamConfContainerDef
+subContainer lowerMultiplicity = 0
upperMultiplicity = 1
10.2.28 TcpIpNdpConfig
Description This container may be referenced by multiple IPv6 instances if they shall
use the same configuration.
This container may have multiple instances if different configurations are
required for different IPv6 instances.
Configuration Parameters
Included Containers
Container Name Multiplicity Scope / Dependency
Specifies the configuration parameters for NDP
TcpIpNdpArNudConfig 0..1 Address Resolution and Neighbor Unreachability
Detection.
TcpIpNdpPrefixRouterDiscoveryConfi Specifies the configuration parameters for NDP Prefix
0..1
g and Router Discovery.
Specifies the configuration parameters for StateLess
TcpIpNdpSlaacConfig 0..1
Address AutoConfiguration.
TcpIpNdpArNudConfig :
EcucParamConfContainerDef TcpIpNdpMaxNeighborCacheSize :
EcucIntegerParamDef
+parameter
lowerMultiplicity = 0
upperMultiplicity = 1 min = 1
max = 254
defaultValue = 5
TcpIpNdpDefaultReachableTime :
EcucFloatParamDef
+parameter
min = 0
max = 120
defaultValue = 30
TcpIpNdpDefaultRetransTimer :
EcucFloatParamDef
+parameter
min = 0
max = 60
defaultValue = 1
TcpIpNdpNumUnicastSolicitations :
EcucIntegerParamDef
+parameter
min = 0
max = 255
defaultValue = 3
TcpIpNdpDefensiveProcessing :
EcucBooleanParamDef
+parameter
defaultValue = false
lowerMultiplicity = 1
upperMultiplicity = 1
TcpIpNdpNumMulticastSolicitations :
EcucIntegerParamDef
+parameter
min = 0
max = 255
defaultValue = 3
TcpIpNdpDelayFirstProbeTime :
EcucFloatParamDef
+parameter
min = 0
max = 60
defaultValue = 5
TcpIpNdpMinRandomFactor :
EcucIntegerParamDef
+parameter
min = 0
max = 100
defaultValue = 5
TcpIpNdpMaxRandomFactor :
EcucIntegerParamDef
+parameter
min = 0
max = 100
defaultValue = 15
TcpIpNdpNeighborUnreachabilityDetectionEnabled :
+parameter
EcucBooleanParamDef
defaultValue = true
TcpIpNdpRandomReachableTimeEnabled :
+parameter
EcucBooleanParamDef
defaultValue = true
TcpIpNdpPacketQueueEnabled :
+parameter EcucBooleanParamDef
defaultValue = true
lowerMultiplicity = 1
upperMultiplicity = 1
10.2.29 TcpIpNdpArNudConfig
Default value 15
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Default: MAX_MULTICAST_SOLICIT = 3
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value 3
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
130 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
Default: MAX_UNICAST_SOLICIT = 3
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value 3
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
No Included Containers
TcpIpNdpPrefixRouterDiscoveryConfig :
EcucParamConfContainerDef TcpIpNdpDestinationCacheSize :
EcucIntegerParamDef
lowerMultiplicity = 0 +parameter
upperMultiplicity = 1 min = 1
max = 254
defaultValue = 5
TcpIpNdpPrefixListSize :
EcucIntegerParamDef
+parameter
min = 1
max = 254
defaultValue = 5
TcpIpNdpDefaultRouterListSize :
EcucIntegerParamDef
+parameter
min = 2
max = 254
defaultValue = 2
TcpIpNdpRndRtrSolicitationDelayEnabled :
+parameter
EcucBooleanParamDef
defaultValue = true
TcpIpNdpMaxRtrSolicitations :
EcucIntegerParamDef
+parameter
min = 0
max = 255
defaultValue = 3
TcpIpNdpMaxRtrSolicitationDelay :
EcucFloatParamDef
+parameter
min = 0.001
max = 60
defaultValue = 1
TcpIpNdpRtrSolicitationInterval :
EcucFloatParamDef
+parameter
min = 0.001
max = 60
defaultValue = 4
TcpIpNdpDynamicRetransTimeEnabled :
+parameter
EcucBooleanParamDef
defaultValue = true
TcpIpNdpDynamicReachableTimeEnabled :
+parameter
EcucBooleanParamDef
defaultValue = true
TcpIpNdpDynamicHopLimitEnabled :
+parameter
EcucBooleanParamDef
defaultValue = true
TcpIpNdpDynamicMtuEnabled :
+parameter
EcucBooleanParamDef
defaultValue = false
TcpIpNdpPrefixList :
EcucParamConfContainerDef
+subContainer
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpNdpPrefixListEntryPrefixLength :
+subContainer
EcucIntegerParamDef
TcpIpNdpPrefixListEntry : +parameter
EcucParamConfContainerDef min = 0
max = 128
lowerMultiplicity = 1
upperMultiplicity = *
+parameter TcpIpNdpPrefixListEntryPrefixAddress :
EcucStringParamDef
10.2.30 TcpIpNdpPrefixRouterDiscoveryConfig
Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Default: Enabled
Multiplicity 1
Type EcucBooleanParamDef
Default value true
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Default: Enabled
Multiplicity 1
Type EcucBooleanParamDef
Default value true
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Default: Enabled
Multiplicity 1
Type EcucBooleanParamDef
Default value true
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
Specifies a list of prefixes to be treated as "on-link" according
TcpIpNdpPrefixList 0..1
to IETF RFC 4861 Section 5.1.
10.2.31 TcpIpNdpPrefixList
Included Containers
Container Name Multiplicity Scope / Dependency
TcpIpNdpPrefixListEntry 1..* Single entry in the prefix list.
10.2.32 TcpIpNdpPrefixListEntry
Description The prefix of an IP address. This prefix can be used for on-link
determination.
Multiplicity 1
Type EcucStringParamDef
Default value --
maxLength --
minLength --
regularExpression --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
No Included Containers
TcpIpNdpSlaacConfig : TcpIpNdpSlaacDelayEnabled :
EcucParamConfContainerDef +parameter
EcucBooleanParamDef
lowerMultiplicity = 0
defaultValue = false
upperMultiplicity = 1
TcpIpNdpSlaacOptimisticDadEnabled :
+parameter
EcucBooleanParamDef
defaultValue = false
TcpIpNdpSlaacDadRetransmissionDelay :
EcucFloatParamDef
+parameter
min = 0
max = 10
defaultValue = 1
TcpIpNdpSlaacDadNumberOfTransmissions :
EcucIntegerParamDef
+parameter
min = 0
max = 254
defaultValue = 1
10.2.33 TcpIpNdpSlaacConfig
Default: DupAddrDetectTransmits = 1
"The delay will avoid similar congestion when multiple nodes are going to
138 of 160 Document ID 617: AUTOSAR_SWS_TcpIp
- AUTOSAR confidential -
Specification of TCP/IP Stack
AUTOSAR CP Release 4.3.1
Default: True
Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
No Included Containers
+literal TCPIP_AF_INET :
TcpIpDomainType :
EcucEnumerationLiteralDef
EcucEnumerationParamDef
+parameter
+literal TCPIP_AF_INET6 :
EcucEnumerationLiteralDef
TcpIpAddressType :
+literal TCPIP_UNICAST :
EcucEnumerationParamDef
EcucEnumerationLiteralDef
+literal TCPIP_MULTICAST :
EcucEnumerationLiteralDef
+destination
TcpIpCtrlRef : TcpIpCtrl :
+reference
EcucReferenceDef EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
TCPIP_DHCP :
+literal EcucEnumerationLiteralDef
TcpIpAddrAssignment : TcpIpAssignmentMethod :
EcucEnumerationParamDef
EcucParamConfContainerDef
+literal TCPIP_STATIC :
lowerMultiplicity = 1
EcucEnumerationLiteralDef
upperMultiplicity = *
+literal TCPIP_LINKLOCAL :
+parameter EcucEnumerationLiteralDef
+literal TCPIP_IPV6_ROUTER :
EcucEnumerationLiteralDef
+literal TCPIP_LINKLOCAL_DOIP :
EcucEnumerationLiteralDef
+literal TCPIP_AUTOMATIC :
EcucEnumerationLiteralDef
TcpIpAssignmentPriority :
+parameter EcucIntegerParamDef
min = 1
max = 3
TCPIP_FORGET :
+literal EcucEnumerationLiteralDef
TcpIpAssignmentLifetime :
EcucEnumerationParamDef
+parameter
lowerMultiplicity = 0 +literal
upperMultiplicity = 1 TCPIP_STORE :
defaultValue = TCPIP_FORGET EcucEnumerationLiteralDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpNetmask :EcucIntegerParamDef
+parameter TcpIpDefaultRouter :
EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpLocalAddrIPv6ExtHeaderFilterRef : TcpIpIpV6ConfigExtHeaderFilter
+reference
EcucReferenceDef +destination :EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
10.2.34 TcpIpLocalAddr
Name TcpIpCtrlRef
Parent Container TcpIpLocalAddr
Description Reference to a TcpIpCtrl specifying the EthIf Controller where the IP
address shall be assigned.
Multiplicity 1
Type Reference to [ TcpIpCtrl ]
Post-Build Variant Value true
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
This container is a subcontainer of TcpIpLocalAddr and
TcpIpAddrAssignment 1..*
specifies the assignment policy for the IP address.
This container is a subcontainer of TcpIpLocalAddr and
TcpIpStaticIpAddressConfig 0..1 specifies a static IP address including directly related
parameters.
10.2.35 TcpIpAddrAssignment
be omitted.
Multiplicity 0..1
Type EcucEnumerationParamDef
Range TCPIP_FORGET After a dynamic IP address has been
assigned just use it for this link-up time.
TCPIP_STORE After a dynamic IP address has been
assigned store the address persistently.
Default value TCPIP_FORGET
Post-Build Variant
true
Value
Value Pre-compile time X VARIANT-PRE-COMPILE
Configuration Link time X VARIANT-LINK-TIME
Class Post-build time X VARIANT-POST-BUILD
Scope / scope: local
Dependency
Name TcpIpAssignmentTrigger
Parent Container TcpIpAddrAssignment
Description Trigger of address assignment.
Multiplicity 1
Type EcucEnumerationParamDef
Range TCPIP_AUTOMATIC Assignment shall be initiated automatically by
TCP/IP stack.
TCPIP_MANUAL Assignment shall be initiated manually via
TcpIp_RequestIpAddrAssignment().
Post-Build
true
Variant Value
Value Pre-compile time X VARIANT-PRE-COMPILE
Configuration Link time X VARIANT-LINK-TIME
Class Post-build time X VARIANT-POST-BUILD
Scope / scope: local
Dependency
No Included Containers
10.2.36 TcpIpStaticIpAddressConfig
that describes the number of significant bits defining the network number
or prefix of an IP address.
Multiplicity 0..1
Type EcucIntegerParamDef
Range 0 .. 128
Default value --
Post-Build Variant
true
Multiplicity
Post-Build Variant Value true
Multiplicity ConfigurationPre-compile time X VARIANT-PRE-COMPILE
Class Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local
No Included Containers
lowerMultiplicity = 0
upperMultiplicity = 1
+reference
10.2.37 TcpIpNvmBlock
No Included Containers
TcpIpPhysAddrConfig : TcpIpPhysAddrChgHandler :
TcpIpPhysAddrChgHandlerHeaderFileName :
EcucParamConfContainerDef EcucParamConfContainerDef EcucStringParamDef
+parameter
lowerMultiplicity = 0 lowerMultiplicity = 0
lowerMultiplicity = 1
upperMultiplicity = 1 upperMultiplicity = 1 upperMultiplicity = 1
+subContainer minLength = 1
maxLength = 32
TcpIpPhysAddrChgHandlerName :
+parameter
EcucFunctionNameDef
lowerMultiplicity = 1
upperMultiplicity = 1
10.2.38 TcpIpPhysAddrConfig
Included Containers
Container Name Multiplicity Scope / Dependency
This container is a subcontainer of TcpIpPhysAddrConfig and
TcpIpPhysAddrChgHandler 0..1 specifies the configuration parameters for physical address
change handler.
10.2.39 TcpIpPhysAddrChgHandler
No Included Containers
TcpIpSocketOwnerConfig :
EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = 1
+subContainer
TcpIpSocketOwnerTcpIpEventName :
+parameter EcucFunctionNameDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpSocketOwnerHeaderFileName :
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpSocketOwnerRxIndicationName :
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpSocketOwnerTxConfirmationName :
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpSocketOwnerTcpAcceptedName :
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpSocketOwnerTcpConnectedName :
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpSocketOwnerCopyTxDataName :
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpSocketOwnerLocalIpAddrAssignmentChgName :
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.40 TcpIpSocketOwnerConfig
Included Containers
Container Name Multiplicity Scope / Dependency
This container is a subcontainer of TcpIpSocketOwnerConfig
TcpIpSocketOwner 1..*
and specifies an upper layer of TcpIp that uses the socket API.
10.2.41 TcpIpSocketOwner
Default value --
maxLength --
minLength --
regularExpression --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME, VARIANT-POST-
BUILD
Post-build time --
Scope / Dependency scope: local
dependency: TcpIpSocketOwnerUpperLayerType
No Included Containers
TcpIpTcpConfig : TcpIpTcpNagleEnabled :
EcucParamConfContainerDef +parameter EcucBooleanParamDef
lowerMultiplicity = 0
TcpIpTcpSlowStartEnabled :
upperMultiplicity = 1 +parameter
EcucBooleanParamDef
TcpIpTcpCongestionAvoidanceEnabled :
+parameter EcucBooleanParamDef
TcpIpTcpFastRetransmitEnabled :
+parameter EcucBooleanParamDef
TcpIpTcpFastRecoveryEnabled :
+parameter EcucBooleanParamDef
TcpIpTcpSynMaxRtx :
+parameter EcucIntegerParamDef
TcpIpTcpSynReceivedTimeout : min = 0
+parameter EcucFloatParamDef max = 255
min = 0
max = INF TcpIpTcpFinWait2Timeout :
+parameter EcucFloatParamDef
min = 0
max = INF
TcpIpTcpMsl :EcucFloatParamDef
+parameter
min = 0
max = INF
TcpIpTcpRetransmissionTimeout :
EcucFloatParamDef
+parameter
min = 0.001
max = INF
TcpIpTcpMaxRtx :EcucIntegerParamDef lowerMultiplicity = 0
+parameter upperMultiplicity = 1
min = 0
max = 255
lowerMultiplicity = 0 TcpIpTcpKeepAliveInterval :
upperMultiplicity = 1 +parameter EcucFloatParamDef
min = 0
max = INF
TcpIpTcpKeepAliveProbesMax :
+parameter EcucIntegerParamDef
min = 0
TcpIpTcpTtl :EcucIntegerParamDef
max = 65535 +parameter
min = 0
max = 255
TcpIpTcpReceiveWindowMax :
+parameter EcucIntegerParamDef
min = 0
max = 65535 TcpIpTcpKeepAliveEnabled :
+parameter EcucBooleanParamDef
defaultValue = false
TcpIpTcpKeepAliveTime :
EcucFloatParamDef
+parameter
min = 0 TcpIpTcpConfigOptionFilterId :
max = INF EcucIntegerParamDef
defaultValue = 7200
min = 0
TcpIpTcpConfigOptionFilter : max = 255
+parameter lowerMultiplicity = 1
EcucParamConfContainerDef
upperMultiplicity = 1
symbolicNameValue = true
+subContainer lowerMultiplicity = 0
upperMultiplicity = *
TcpIpTcpConfigOptionFilterEntry :
+parameter EcucIntegerParamDef
min = 0
max = 255
lowerMultiplicity = 0
upperMultiplicity = *
10.2.42 TcpIpTcpConfig
Multiplicity 1
Type EcucFloatParamDef
Range [0 .. INF]
Default value --
Post-Build Variant Value true
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local
Name TcpIpTcpKeepAliveTime
Parent Container TcpIpTcpConfig
Description Specifies the time in [s] between the last data packet sent (simple ACKs
are not considered data) and the first keepalive probe. Note: Setting this
configuration parameter to a value smaller or equal to the value of
TcpIpMainFunctionPeriod results in the transmission of keep alive probes
within every MainFunction cycle.
Multiplicity 1
Type EcucFloatParamDef
Range [0 .. INF]
Default value 7200
Post-Build Variant Value true
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local
dependency: TcpIpTcpKeepAliveEnabled
per default for all TCP sockets, but can be deactivated via
TcpIp_ChangeParameter() API.
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Name TcpIpTcpSynMaxRtx
Parent Container TcpIpTcpConfig
Description Maximum number of times that a TCP SYN is retransmitted.
Note: SYN will be retried after TcpIpTcpRetransmissionTimeout. The
connection will be dropped if no matching connection request has been
received after the last TCP SYN has been sent and
TcpIpTcpRetransmissionTimeout has been expired.
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value --
Post-Build Variant Value true
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
This container describes the white list for the filtering of TCP
TcpIpTcpConfigOptionFilter 0..* options, i.e. segments containing TCP options not listed here
shall be silently dropped.
10.2.43 TcpIpTcpConfigOptionFilter
No Included Containers
min = 0
lowerMultiplicity = 0 max = 255
upperMultiplicity = 1
10.2.44 TcpIpUdpConfig
No Included Containers