Autosar Sws Tcpip
Autosar Sws Tcpip
AUTOSAR CP R20-11
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
https://tools.ietf.org/html/rfc7525
[70] ISO13400-2
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.
5.4 KeyM
The Key Manager module provides operations for certificate handling for the TLS and
IPsec sub module.
5.5 CSM
The crypto service manager allows to perform crypto job and key operations used by
the TLS and IPsec sub module.
For details refer to the chapter 5.1.6 “Code file structure” in SWS_BSWGeneral.
6 Requirements traceability
shall be considered
according to IETF RFC
5942
SRS_Eth_00111 Robustness against SWS_TCPIP_00260, SWS_TCPIP_00261,
unexpected communication SWS_TCPIP_00262, SWS_TCPIP_00266
patterns
SRS_Eth_00112 Ethernet-related BSW SWS_TCPIP_00255, SWS_TCPIP_00256,
modules shall report SWS_TCPIP_00257, SWS_TCPIP_00258,
relevant runtime errors SWS_TCPIP_00259
from the used protocols
SRS_Eth_00129 The TCPIP shall support SWS_TCPIP_00284, SWS_TCPIP_00285,
access to measurement SWS_TCPIP_00286, SWS_TCPIP_00287,
counter values SWS_TCPIP_00288, SWS_TCPIP_00289,
SWS_TCPIP_00290, SWS_TCPIP_00291,
SWS_TCPIP_00292, SWS_TCPIP_00293,
SWS_TCPIP_00294, SWS_TCPIP_00295,
SWS_TCPIP_00296
SRS_Eth_00135 - SWS_TCPIP_00326
SRS_Eth_00136 - SWS_TCPIP_00327
SRS_Eth_00137 - SWS_TCPIP_91013, SWS_TCPIP_91014,
SWS_TCPIP_91015
SRS_ETH_00138 - SWS_TCPIP_00300, SWS_TCPIP_00302
SRS_ETH_00139 - SWS_TCPIP_00304
SRS_ETH_00140 - SWS_TCPIP_00300
SRS_Eth_00140 - SWS_TCPIP_00329
SRS_Eth_00141 - SWS_TCPIP_00325
SRS_Eth_00142 The Security Architecture SWS_TCPIP_00352
for the Internet Protocol
shall be implemented
according to IETF RFC
4301
SRS_Eth_00143 The IP Authentication SWS_TCPIP_00352
Header (AH) shall be
implemented according to
IETF RFC 4302
SRS_Eth_00144 IP Encapsulating Security SWS_TCPIP_00352
Payload (ESP) shall be
implemented according to
IETF RFC 4303
SRS_Eth_00145 The Internet Key Exchange SWS_TCPIP_00352
(IKEv2) Protocol shall be
implemented according to
IETF RFC 7296
SRS_Eth_134 - SWS_TCPIP_00311
SRS_Eth_137 - SWS_TCPIP_00325
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 KSF
interaction with other AUTOSAR modules (beside Dem and Det) is shown.
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
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. If TcpIpArpTableEntryTimeout is set to INF, the TcpIp
module shall never remove entries from the ARP table.⌋()
[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_00351]⌈ The TcpIp shall process received ARP packets either directly
within the context of the TcpIp_RxIndication or the first subsequent
TcpIp_MainFunction.⌋()
[SWS_TCPIP_00153]⌈ The TcpIp shall support the frame format for transmission of
IPv6 packets and the method of forming IPv6 link-local addresses and statelessly
autoconfigured addresses on Ethernet networks as defined in IETF RFC 2464
(Transmission of IPv6 Packets over Ethernet Networks).⌋()
[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 8200 (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: To ensure that IKEv2 is interoperable with the IETF IPsec standards in general
and resolve any ambiguities, the open source IPsec implementation strongSwan
(strongswan.org) is used as reference.
[SWS_TCPIP_00356] ⌈The IKEv2 certificates used for for authentication with other
IKEv2 nodes may be configured via the settings in the container "IKECertificates" and
"IKECertificate". ⌋(RS_IPSEC_00014, RS_IPSEC_00025)
Note: Each entry of the local IP address table is uniquely identified by the
configuration parameter TcpIpAddrId.
[SWS_TCPIP_00103]⌈ The TcpIp shall fulfill the UDP related requirements specified
by IETF RFC 1122, section 4.1.3.1 (Ports), 4.1.3.4 (UDP Checksums), and 4.1.3.6
(Invalid Addresses).⌋()
[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_00300] ⌈TcpIp shall support the Transport Layer Security for TCP
communication according to IETF RFC5246, at least chapters 7 and 8.⌋
(SRS_ETH_00138, SRS_ETH_00140)
At least those parts from IETF RFC5246 need to be implemented that are required
for a basic and compatible interoperability with other nodes without any optional
extensions.
[SWS_TCPIP_00302] ⌈TLS connection requests with TLS version lower than 1.2
(IETF RFC5246) shall be disregarded respectively rejected with an alert. Thus, no
backward compatibility handling to TLS versions lower than TLS 1.2 as described in
IETF RFC5246, App. E shall be implemented or supported.⌋(SRS_ETH_00138)
[SWS_TCPIP_00346] ⌈
If the TLS connection references TlsCiphersuiteDefinition of type
TLS_VERSION_V13, then TLS V1.3 shall be the preferred protocol version. Only if
this fails and ciphersuites for TLS V1.2 are also assigned to the TLS connection, then
a downgrade operation to TLS V1.2 shall be allowed.
⌋
Info: If the TLS connection does not contain ciphersuites for TLS V1.3, then the
handshake shall be initiated indicating TLS V1.2 protocol.
[SWS_TCPIP_00304] ⌈ If ciphersuites for TLS include support for elliptic curves then
mandatory parts of IETF RFC 4492 shall be supported accordingly.
⌋(SRS_ETH_00139)
[SWS_TCPIP_00329] ⌈
The TLS implementation must support at least one ciphersuite that corresponds to
the DoIP specification ISO13400-2 so that an upper layer is able to connect such a
socket to a diagnostic communication.
⌋(SRS_Eth_00140)
connection group and resources for TLS connections in the same group can be
shared.
[SWS_TCPIP_00349] ⌈
If TcpIpTlsUseSecurityExtensionRecordSizeLimit is set to TRUE then the
record_size_limit extension shall be used to negotiate the max. fragment length
between TLS server and client according to IETF RFC 8449, chapter 4.1.
⌋()
[SWS_TCPIP_00337] ⌈
For dynamic TLS connection assignment via TcpIp_ChangeParameter(), the call to
TcpIp_ChangeParameter() shall initiate the TLS handshake as follows:
a TLS Server shall wait for a ClientHello as the next message on this socket.
a TLS Client shall start sending a ClientHello message.
after that TcpIp shall no longer pass on plain messages to upper or lower layer
but pass it on to TLS.
⌋()
[SWS_TCPIP_00343] ⌈
For static TLS connection assignment the TCP client shall check its remote port
configuration when the SYN frame will be transmitted. If the TLS port configuration
matches it shall assign the corresponding TLS connection to the socket.
⌋()
Note: This approach rules out use cases where one client uses different TLS settings
(including not using TLS at all) for different local sockets when connecting to the
same remote listening socket. However, having one client connecting to the same
remote listening socket via different local sockets using different TLS settings is
deemed an exotic use case and is thus deliberately not supported.
[SWS_TCPIP_00344] ⌈
For static TLS connection assignment the TCP server shall check its local port
configuration when the SYN frame is received. If the TLS port configuration matches
it shall assign the corresponding TLS connection to the socket.
⌋()
Note: This approach rules out use cases where one server uses different TLS
settings (including not using TLS at all) for different remote sockets but the same
local listening socket. However, having one server using different TLS settings for
different clients with the same listening socket is deemed an exotic use case and is
thus deliberately not supported.
[SWS_TCPIP_00336] ⌈
For static TLS connection assignment the TCP client shall initiate the TLS handshake
if a TLS connection is assigned to the socket after the SYN ACK has been
transmitted successfully.
⌋()
[SWS_TCPIP_00309] ⌈ For static TLS connection assignment at the TCP client the
interface <Up_TcpConnected> shall not be called after sending the ACK of the SYN
to the server. Instead, this function shall be called after the TLS handshake has been
finished successfully.
34 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
⌋()
[SWS_TCPIP_00328] ⌈For static TLS connection the TCP server shall expect a TLS
handshake after the ACK for the SYN has been received. All incoming messages for
this socket shall further be passed on to TLS.
⌋()
[SWS_TCPIP_00310] ⌈ For static TLS connection assignment at the TCP server side
the interface <Up_TcpAccepted> shall not be called after the ACK has been
received. Instead, this function shall be called after the TLS handshake has been
finished successfully.
⌋()
[SWS_TCPIP_00345] ⌈For both dynamic and static TLS connection assignment, the
socket owner shall be informed with <Up_TcpIpEvent> and the event type
TCPIP_TLS_HANDSHAKE_SUCCEEDED if an event callback is defined for a socket
owner and the TLS handshake has been finished successfully. For static TLS
connection assignment the call to <Up_TcpIpEvent> and the event type
TCPIP_TLS_HANDSHAKE_SUCCEEDED shall take place after the call to
<Up_TcpAccepted>/<Up_TcpConnected>.
⌋()
[SWS_TCPIP_00316] ⌈
The TLS SERVER shall provide the certificate referenced by TcpIpTlsConnection/
TcpIpTlsCipherKeyMLocalCertificate through the server_certificate message. The
certificate shall be requested from the Key Manager with the function
KeyM_GetCertificate().
⌋()
[SWS_TCPIP_00338] ⌈
If a certificate is received with the certificate or certificateVerify handshake message
of TLS it shall be provided to the Key Manager using the function
KeyM_SetCertificate with the reference TcpIpTlsCipherKeyMRemoteCertificate of
The TLS module uses CSM jobs that are assigned to the ciphersuite to perform the
cryptographic operations. The key material will be negotiated and loaded during the
handshake.
Note:
CSM jobs can run synchronously or asynchronously. If a job shall run in
asynchronous or synchronous mode depends on its configuration. For asynchronous
jobs a callback is needed which are not defined in this document. They are vendor
specific and shall be configured accordingly in the CSM as documented.
[SWS_TCPIP_00339] ⌈
TLS shall use the CSM job referenced by TcpIpTlsCsmRandomGenerateJobRef
referenced by TcpIpTlsHandshake and referenced in the TcpIpTlsConnection to
generate random values. The system outside the TLS is responsible to collect
entropy to seed the RNG if needed.
⌋()
[SWS_TCPIP_00340] ⌈
After selection of the ciphersuite the assigned TcpIpTlsHandshake of the TLS
connection will provide all necessary references to CSM jobs and keys necessary to
accomplish the key exchange algorithms.
⌋()
Info: Not all CSM jobs referenced in the TcpIpTlsHandshake container are required.
Which of the jobs and keys configured for a TLS handshake are needed for operation
mainly depends on the ciphersuite and its associated certificate. They must be pre-
configured and assigned accordingly. It also depends on the TLS type if it is a TLS
Server or a TLS Client, which ciphersuites are assigned to the TLS connections and
which public key type is contained in the certificate, i.e. if it is an ECC or RSA public
key.
The following table provides an overview of jobs and keys for CSM that needs to be
configured for the handshake operation:
Example #3: The selected ciphersuite defines a pre-shared key according to IETF
RFC 4279. The server provides the psk_identity_hint in the ServerKeyExchange
message. This can either be derived from the TcpIpTlsPskIdentity/
TcpIpTlsPresharedKeyIdentityHint or, if not specified, it can be queried from the user
callback TcpIpTlsPskGetKeyIdentyHintFunc. The TLS client uses the hint to select a
pre-shared key that is known by both the TLS Client and this TLS Server. If one key
can uniquely be identified with the identity hint, then the TcpIpTlsPskIdentity
configuration can be used as an alternative to the callback functions. In this case, the
37 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
[SWS_TCPIP_00341] ⌈
TLS shall use TcpIpTlsHandshake /TcpIpTlsCsmHashVerifyJobRef to calculate the
hash over the handshake messages which is provided with the finish handshake
message.
⌋()
[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
b) for ICMP frames if ICMP checksum verification in hardware is enabled, i.e.
EthCtrlEnableOffloadChecksumICMP is set to TRUE
c) for TCP frames if TCP checksum verification in hardware is enabled, i.e.
EthCtrlEnableOffloadChecksumTCP is set to TRUE
d) for UDP frames if UDP checksum verification in hardware is enabled, i.e.
EthCtrlEnableOffloadChecksumUDP is set to TRUE.
In all other cases, the TcpIp module shall treat frames with mismatching checksums
according the related protocol specification.⌋()
[SWS_TCPIP_00279]⌈ For receptions the TcpIp Module shall accept UDP datagrams
containing a zero checksum only on sockets that have been configured accordingly
(i.e. TcpIp_ChangeParameter() has been called with
TCPIP_PARAMID_UDP_CHECKSUM set to FALSE).⌋(SRS_Eth_00019)
After TLS has processed a message and all data has been consumed
completey, TCP should be notified to release all related resources for this
message, regardless if the message was processed successfully or not.
datagram shall be transmitted using the EthIfCtrl the local address (TcpIpAddrId) is
mapped to.⌋()
[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).⌋()
resolution and queue this packet according to IETF RFC 1122, section 2.3.2.2 and
accept the transmission request with E_OK.⌋()
[SWS_TCPIP_00204]⌈ For transmissions the TcpIp Module shall skip the calculation
of the protocol checksums and fill the field with the
value 0 for frames with respect to the configuration of the Ethernet Controller
according the following list:
a) for IPv4 frames if IPv4 checksum calculation in hardware is enabled, i.e.
EthCtrlEnableOffloadChecksumIPv4 is set to TRUE
b) for not fragmented ICMP frames if ICMP checksum calculation in hardware is
enabled, EthCtrlEnableOffloadChecksumICMP is set to TRUE
c) for TCP frames if TCP checksum calculation in hardware is enabled,
EthCtrlEnableOffloadChecksumTCP is set to TRUE
d) for not fragmented UDP frames if UDP checksum calculation in hardware is
enabled, EthCtrlEnableOffloadChecksumUDP is set to TRUE.
In all other cases, the TcpIp module shall calculate the checksum according the
related protocol specification.⌋()
[SWS_TCPIP_00280]⌈ For transmissions the TcpIp Module shall skip the calculation
of the UDP protocol checksum and use the value zero instead, on sockets that have
been configured accordingly (i.e. TcpIp_ChangeParameter() has been called with
TCPIP_PARAMID_UDP_CHECKSUM set to FALSE).⌋(SRS_Eth_00019)
[SWS_TCPIP_00320] ⌈If transmission is requested from upper layer to TCP and the
connection is configured for TLS but the handshake has not yet been started or
completed, the message transmission request shall return E_NOT_OK.
⌋()
[SWS_TCPIP_00083]⌈ The TcpIp module shall maintain a separate state for each
EthIf controller used by the TcpIp module, store the latest state request and
distinguish at least the following states: TCPIP_STATE_OFFLINE,
TCPIP_STATE_STARTUP, TCPIP_STATE_ONLINE, TCPIP_STATE_ONHOLD,
and TCPIP_STATE_SHUTDOWN.⌋()
[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.⌋()
The following table lists the security events which are standardized for the TcpIp
module together with their trigger conditions.
[SWS_TcpIp_00362]⌈
Name Description ID
TCPIP_SEV_DROP_INV_IPV4_
Dropped datagram because of invalid IPV4 address. 13
ADDR
TCPIP_SEV_DROP_INV_IPV6_
Dropped datagram because of invalid IPV6 address. 14
ADDR
⌋()
The following table lists development error IDs the TcpIp shall use for reporting of
development errors to the Default Error Tracer:
[SWS_TCPIP_00042]⌈
Type of error Related error code Error value
⌋()
The following table lists runtime error IDs the TcpIp shall use for reporting of runtime
errors to the Default Error Tracer:
[SWS_TCPIP_00255]⌈
Type of error Related error code Error value
⌋(SRS_Eth_00112)
8 API specification
[SWS_TCPIP_00008]⌈
Module Header File Imported Type
Rte_Csm_Type.h Crypto_OperationModeType
Csm
Rte_Csm_Type.h Crypto_VerifyResultType
Rte_Dem_Type.h Dem_EventIdType
Dem
Rte_Dem_Type.h Dem_EventStatusType
Eth_GeneralTypes.h Eth_BufIdxType
Eth_GeneralTypes.h Eth_FrameType
KeyM.h KeyM_CertDataType
KeyM
Rte_KeyM_Type.h KeyM_CertificateIdType
Std_Types.h Std_ReturnType
Std
Std_Types.h Std_VersionInfoType
⌋()
Kind Structure
implementation specific
Type --
Elements
The content of the configuration data structure is implementation
Comment
specific.
Available
TcpIp.h
via
53 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
⌋()
[SWS_TCPIP_00009]⌈
Name TcpIp_DomainType
Kind Type
⌋()
[SWS_TCPIP_00010]⌈
Name TcpIp_ProtocolType
Kind Enumeration
⌋()
[SWS_TCPIP_00012]⌈
Name TcpIp_SockAddrType
Kind Structure
domain
Comment This is the code for the address format of this address
Generic structure used by APIs to specify an IP address. (A specific address type can
Description
be derived from this structure via a cast to the specific struct type.)
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_00013]⌈
54 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
Name TcpIp_SockAddrInetType
Kind Structure
domain
Type TcpIp_DomainType
Comment This is the code for the address format of this address
port
Type uint16
Elements
Comment port number
addr
Size 1
This structure defines an IPv4 address type which can be derived from the generic
Description
address structure via cast.
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_00014]⌈
Name TcpIp_SockAddrInet6Type
Kind Structure
domain
Type TcpIp_DomainType
Comment This is the code for the address format of this address
port
Type uint16
Elements
Comment port number
addr
Size 4
This structure defines a IPv6 address type which can be derived from the generic
Description
address structure via cast.
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_00030]⌈
Name TcpIp_LocalAddrIdType
Kind Type
Derived
uint8
from
Address identification type for unique identification of a local IP address and EthIf
Description
Controller configured in the TcpIp module.
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_00038]⌈
Name TcpIp_SocketIdType
Kind Type
Basetype Variation
Derived
uint16 --
from
uint8 --
Socket identifier type for unique identification of a TcpIp stack socket. TCPIP_
Description
SOCKETID_INVALID shall specify an invalid socket handle.
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_00073]⌈
Name TcpIp_StateType
Kind Enumeration
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_00082]⌈
Name TcpIp_IpAddrStateType
Kind Enumeration
TCPIP_IPADDR_STATE_
-- local IP address is assigned
ASSIGNED
TCPIP_IPADDR_STATE_
-- local IP address is unassigned
UNASSIGNED
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_00031]⌈
Name TcpIp_EventType
Kind Enumeration
TCPIP_TLS_
TLS handshake successfully established, TLS
HANDSHAKE_ 0x05
connection available.
SUCCEEDED
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_00065]⌈
Name TcpIp_IpAddrAssignmentType
Kind Enumeration
TCPIP_IPADDR_
-- Static configured IPv4/IPv6 address.
ASSIGNMENT_STATIC
TCPIP_IPADDR_
Linklocal IPv4/IPv6 address assignment using
ASSIGNMENT_LINKLOCAL_ --
DoIP parameters.
DOIP
TCPIP_IPADDR_
Dynamic configured IPv4/IPv6 address by
ASSIGNMENT_IPV6_ --
Router Advertisement.
ROUTER
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_00066]⌈
Name TcpIp_ReturnType
Kind Enumeration
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_00126]⌈
Name TcpIp_ParamIdType
Kind Type
Derived
uint8
from
TCPIP_PARAMID_TCP_
Specifies the maximum number of times that a
KEEPALIVE_PROBES_ 0x06
Range keepalive probe is retransmitted. [uint16]
MAX
TCPIP_PARAMID_TLS_
0x0d is used to assign a TLS connection
CONNECTION_ 0x0d
reference to a TCP socket.
ASSIGNMENT
Description Type for the specification of all supported Parameter IDs and their data types.
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_00133]⌈
Name TcpIpIpAddrWildcardType
Kind Type
⌋()
[SWS_TCPIP_00132]⌈
Name TcpIpIp6AddrWildcardType
Kind Type
Derived
uint32
from
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_00134]⌈
Name TcpIpPortWildcardType
Kind Type
⌋()
[SWS_TCPIP_00135]⌈
Name TcpIpLocalAddrIdWildcardType
Kind Type
Derived
TcpIp_LocalAddrIdType
from
⌋()
[SWS_TCPIP_91004]⌈
Name TcpIp_ArpCacheEntryType
Kind Structure
InetAddr
Size 1
PhysAddr
State
Type uint8
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_91003]⌈
61 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
Name TcpIp_NdpCacheEntryType
Kind Structure
Inet6Addr
Size 4
PhysAddr
State
Type uint8
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_91010]⌈
Name TcpIp_MeasurementIdxType
Kind Type
Derived
uint8
from
TCPIP_MEAS_ 0x05-
reserved by AUTOSAR
RESERVED_1 0x7F
TCPIP_MEAS_ 0x80-0x
Vendor specific range
RESERVED_2 EF
TCPIP_MEAS_ 0xF0-0x
reserved by AUTOSAR (future use)
RESERVED_3 FE
Available
TcpIp.h
via
⌋()
[SWS_TCPIP_91011]⌈
Name TcpIp_TlsConnectionIdType
Kind Type
Basetype Variation
Derived
uint16 --
from
uint8 --
TLS connection identifier type for unique identification of a TLS connection. TCPIP_
Description
TLSCONNECTIONID_INVALID shall specify an invalid TLS connection handle.
Available
TcpIp.h
via
⌋()
8.3.1 General
8.3.1.1 TcpIp_Init
[SWS_TCPIP_00002]⌈
Service
TcpIp_Init
Name
void TcpIp_Init (
Syntax const TcpIp_ConfigType* ConfigPtr
)
Service ID
0x01
[hex]
Sync/Async Synchronous
Parameters
ConfigPtr Pointer to the configuration data of the TcpIp module
(in)
Parameters
None
(inout)
Parameters
None
(out)
This service initializes the TCP/IP Stack. TcpIp_Init may not block the start-up
Description process for an indefinite amount of time. Caveats: The call of this service is
mandatory before using the TcpIp instance for further processing.
⌋()
8.3.1.2 TcpIp_GetVersionInfo
[SWS_TCPIP_00004]⌈
Service Name TcpIp_GetVersionInfo
void TcpIp_GetVersionInfo (
Syntax Std_VersionInfoType* versioninfo
)
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (out) versioninfo Pointer to where to store the version information of this module.
⌋()
8.3.2.1 TcpIp_Close
[SWS_TCPIP_00017]⌈
Service
TcpIp_Close
Name
Std_ReturnType TcpIp_Close (
TcpIp_SocketIdType SocketId,
Syntax
boolean Abort
)
Service ID
0x04
[hex]
Sync/Async Asynchronous
Reentrancy Reentrant for different SocketIds. Non reentrant for the same SocketId.
Parameters
None
(inout)
Parameters
None
(out)
Std_-
E_OK: The request has been accepted
Return value Return-
E_NOT_OK: The request has not been accepted.
Type
By this API service the TCP/IP stack is requested to close the socket and release all
Description
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.
65 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
(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
TcpIp_Bind
Name
Std_ReturnType TcpIp_Bind (
TcpIp_SocketIdType SocketId,
Syntax TcpIp_LocalAddrIdType LocalAddrId,
uint16* PortPtr
)
Service ID
0x05
[hex]
Sync/Async Synchronous
Reentrancy Reentrant for different SocketIds. Non reentrant for the same SocketId.
Pointer to memory where the local port to which the socket shall be
bound is specified. In case the parameter is specified as TCPIP_PORT_
Parameters
PortPtr ANY, the TCP/IP stack shall choose the local port automatically from the
(inout)
range 49152 to 65535 and shall update the parameter to the chosen
value.
Parameters
None
(out)
By this API service the TCP/IP stack is requested to bind a UDP or TCP socket to a
Description
local resource.
⌋()
[SWS_TCPIP_00111]⌈ The service TcpIp_Bind() shall bind the socket specified by
parameter SocketId to the local resource specified by parameters LocalAddrId and
PortPtr.⌋()
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
Std_ReturnType TcpIp_TcpConnect (
TcpIp_SocketIdType SocketId,
Syntax
const TcpIp_SockAddrType* RemoteAddrPtr
)
Service ID
0x06
[hex]
Sync/Async Asynchronous
Reentrancy Reentrant for different SocketIds. Non reentrant for the same SocketId.
Parameters
None
(inout)
Parameters
None
(out)
By this API service the TCP/IP stack is requested to establish a TCP connection to
Description
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
Std_ReturnType TcpIp_TcpListen (
TcpIp_SocketIdType SocketId,
Syntax
uint16 MaxChannels
)
Sync/Async Asynchronous
Reentrancy Reentrant for different SocketIds. Non reentrant for the same SocketId.
Parameters
None
(inout)
Parameters
None
(out)
By this API service the TCP/IP stack is requested to listen on the TCP socket
Description
specified by the socket identifier.
⌋()
[SWS_TCPIP_00113]⌈ The service TcpIp_TcpListen() shall put the socket specified
by SocketId to the listen state (i.e. local socket is listening for incoming connections).
⌋()
[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
Std_ReturnType TcpIp_TcpReceived (
TcpIp_SocketIdType SocketId,
Syntax
uint32 Length
)
Sync/Async Asynchronous
Reentrancy Reentrant for different SocketIds. Non reentrant for the same SocketId.
Parameters
None
(inout)
By this API service the reception of socket data is confirmed to the TCP/IP
Description
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
Std_ReturnType TcpIp_RequestComMode (
uint8 CtrlIdx,
Syntax
TcpIp_StateType State
)
Service ID
0x09
[hex]
Sync/Async Asynchronous
Parameters
None
(inout)
Parameters
None
(out)
By this API service the TCP/IP stack is requested to change the TcpIp state of the
Description
communication network identified by EthIf controller index.
⌋()
[SWS_TCPIP_00071]⌈ If TCPIP_STATE_ONLINE is requested, the TcpIp module
shall initiate activation of the TcpIp communication on the related EthIf controller (e.g.
start IP-Address assignment according to the configured IP address assignment
policy for the EthIf controller).⌋()
8.3.3.1 TcpIp_RequestIpAddrAssignment
[SWS_TCPIP_00037]⌈
Service
TcpIp_RequestIpAddrAssignment
Name
Std_ReturnType TcpIp_RequestIpAddrAssignment (
TcpIp_LocalAddrIdType LocalAddrId,
TcpIp_IpAddrAssignmentType Type,
Syntax const TcpIp_SockAddrType* LocalIpAddrPtr,
uint8 Netmask,
const TcpIp_SockAddrType* DefaultRouterPtr
)
Service ID
0x0A
[hex]
Sync/Async Asynchronous
RouterPtr (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
None
(out)
Std_-
E_OK: The request has been accepted
Return value Return-
E_NOT_OK: The request has not been accepted
Type
By this API service the local IP address assignment for the IP address specified by
Description
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
Std_ReturnType TcpIp_ReleaseIpAddrAssignment (
Syntax TcpIp_LocalAddrIdType LocalAddrId
)
Sync/Async Asynchronous
Parameters
None
(inout)
Parameters
None
(out)
By this API service the local IP address assignment for the IP address specified
Description
by LocalAddrId shall be released.
⌋()
8.3.3.3 TcpIp_ResetIpAssignment
[SWS_TCPIP_00215]⌈
Service Name TcpIp_ResetIpAssignment
Std_ReturnType TcpIp_ResetIpAssignment (
Syntax void
)
E_OK: success
Return value Std_ReturnType
E_NOT_OK: switch port could not be initialized
⌋()
[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
Std_ReturnType TcpIp_IcmpTransmit (
Syntax
TcpIp_LocalAddrIdType LocalIpAddrId,
74 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
Service ID
0x0C
[hex]
Sync/Async Synchronous
Remote
pointer to struct representing the remote address
AddrPtr
Data
length of ICMP message
Length
Parameters
None
(inout)
Parameters
None
(out)
By this API service the TCP/IP stack sends an ICMP message according to the
Description
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
specified by LocalIpAddrId to the destination specified by RemoteAddrPtr using a
time to live value according to the parameter Ttl.⌋()
8.3.3.5 TcpIp_IcmpV6Transmit
[SWS_TCPIP_00187]⌈
Service Name TcpIp_IcmpV6Transmit
Std_ReturnType TcpIp_IcmpV6Transmit (
TcpIp_LocalAddrIdType LocalIpAddrId,
const TcpIp_SockAddrType* RemoteAddrPtr,
uint8 HopLimit,
Syntax uint8 Type,
uint8 Code,
uint16 DataLength,
const uint8* DataPtr
)
Service ID
0x18
[hex]
Sync/Async Synchronous
Remote
pointer to struct representing the remote address
AddrPtr
Data
length of ICMPv6 message
Length
Parameters
None
(inout)
Parameters
None
(out)
By this API service the TCP/IP stack sends an ICMPv6 message according to the
Description
specified parameters.
⌋()
8.3.3.6 TcpIp_DhcpReadOption
[SWS_TCPIP_00040]⌈
Service Name TcpIp_DhcpReadOption
Std_ReturnType TcpIp_DhcpReadOption (
TcpIp_LocalAddrIdType LocalIpAddrId,
uint8 Option,
Syntax
uint8* DataLength,
uint8* DataPtr
)
Service ID
0x0D
[hex]
Sync/Async Synchronous
Parameters As input parameter, contains the length of the provided data buffer.
DataLength
(inout) Will be overwritten with the length of the actual data.
Parameters
DataPtr Pointer to memory containing DHCP option data
(out)
Result of operation
Std_-
Return value E_OK requested data retrieved successfully.
ReturnType
E_NOT_OK requested data could not be retrieved.
By this API service the TCP/IP stack retrieves DHCP option data identified by
Description
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
Std_ReturnType TcpIp_DhcpV6ReadOption (
TcpIp_LocalAddrIdType LocalIpAddrId,
uint16 Option,
Syntax uint16* DataLength,
uint8* DataPtr
)
Service ID
0x19
[hex]
Sync/Async Synchronous
Parameters As input parameter, contains the length of the provided data buffer.
DataLength
(inout) Will be overwritten with the length of the actual data.
Parameters
DataPtr Pointer to memory containing DHCPv6 option data
(out)
By this API service the TCP/IP stack retrieves DHCPv6 option data identified by
Description
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
Std_ReturnType TcpIp_DhcpWriteOption (
TcpIp_LocalAddrIdType LocalIpAddrId,
uint8 Option,
Syntax uint8 DataLength,
const uint8* DataPtr
)
Service ID
0x0E
[hex]
Sync/Async Synchronous
Parameters
None
(inout)
Parameters
None
(out)
Result of operation
Std_Return-
Return value E_OK no error occured.
Type
E_NOT_OK DHCP option data could not be written.
By this API service the TCP/IP stack writes the DHCP option data identified by
Description
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)
provided by DataPtr internally for the address specified by LocalIpAddrId and return
E_OK.⌋(SRS_Eth_00065)
8.3.3.9 TcpIp_DhcpV6WriteOption
[SWS_TCPIP_00190]⌈
Service Name TcpIp_DhcpV6WriteOption
Std_ReturnType TcpIp_DhcpV6WriteOption (
TcpIp_LocalAddrIdType LocalIpAddrId,
uint16 Option,
Syntax uint16 DataLength,
const uint8* DataPtr
)
Service ID
0x1a
[hex]
Sync/Async Synchronous
Parameters
None
(inout)
Parameters
None
(out)
Result of operation
Std_Return-
Return value E_OK: no error occured.
Type
E_NOT_OK: DHCPv6 option data could not be written.
By this API service the TCP/IP stack writes the DHCPv6 option data identified by
Description
parameter option.
⌋(SRS_Eth_00065)
8.3.3.10 TcpIp_ChangeParameter
[SWS_TCPIP_00016]⌈
Service Name TcpIp_ChangeParameter
Std_ReturnType TcpIp_ChangeParameter (
TcpIp_SocketIdType SocketId,
Syntax TcpIp_ParamIdType ParameterId,
const uint8* ParameterValue
)
Service ID
0x0F
[hex]
Sync/Async Synchronous
Reentrancy Reentrant for different SocketIds. Non reentrant for the same SocketId.
Parameters
None
(inout)
Parameters
None
(out)
⌋()
[SWS_TCPIP_00119]⌈ The service TcpIp_ChangeParameter() shall change the
parameter specified by ParameterId with the value (casted to the respective data
type) specified by ParameterValue for the SocketId.⌋()
8.3.3.11 TcpIp_GetIpAddr
[SWS_TCPIP_00032]⌈
Service
TcpIp_GetIpAddr
Name
Std_ReturnType TcpIp_GetIpAddr (
TcpIp_LocalAddrIdType LocalAddrId,
TcpIp_SockAddrType* IpAddrPtr,
Syntax
uint8* NetmaskPtr,
TcpIp_SockAddrType* DefaultRouterPtr
)
Service ID
0x10
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
Parameters LocalAddr Local address identifier referring to the local IP address which shall be
(in) Id obtained.
Parameters Netmask Pointer to memory where Network mask of IPv4 address or address
(out) Ptr prefix of IPv6 address in CIDR Notation is stored
Result of operation
Std_-
E_OK: The request was successful
Return value Return-
E_NOT_OK: The request was not successful, e.g. domain in IpAddrPtr
Type
and the local domain type do not match
Obtains the local IP address actually used by LocalAddrId, the netmask and default
Description
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
Std_ReturnType TcpIp_GetPhysAddr (
TcpIp_LocalAddrIdType LocalAddrId,
Syntax
uint8* PhysAddrPtr
)
Service ID
0x11
[hex]
Sync/Async Synchronous
Parameters
None
(inout)
Parameters PhysAddr Pointer to the memory where the physical source address (MAC
(out) Ptr address) in network byte order is stored
Result of operation
Std_Return- E_OK The request was successful
Return value
Type E_NOT_OK The request was not successful, e.g. no unique Ctrl
specified via IpAddrId.
Obtains the physical source address used by the EthIf controller implicitly
Description
specified via LocalAddrId.
⌋()
8.3.3.13 TcpIp_GetRemotePhysAddr
[SWS_TCPIP_00137]⌈
Service
TcpIp_GetRemotePhysAddr
Name
TcpIp_ReturnType TcpIp_GetRemotePhysAddr (
uint8 CtrlIdx,
const TcpIp_SockAddrType* IpAddrPtr,
Syntax
uint8* PhysAddrPtr,
boolean initRes
)
Service ID
0x16
[hex]
Sync/Async Synchronous
Parameters
None
(inout)
Parameters Pointer to the memory where the physical address (MAC address)
PhysAddrPtr
(out) related to the specified IP address is stored in network byte order.
⌋()
(2) Otherwise it shall (a) initiate an address resolution if parameter initRes is set to
TRUE and (b) return with TCPIP_E_PHYS_ADDR_MISS. PhysAddrPtr is not
updated in this case.⌋()
8.3.3.14 TcpIp_GetCtrlIdx
[SWS_TCPIP_00140]⌈
Service Name TcpIp_GetCtrlIdx
Std_ReturnType TcpIp_GetCtrlIdx (
TcpIp_LocalAddrIdType LocalAddrId,
Syntax
uint8* CtrlIdxPtr
)
Sync/Async Synchronous
Reentrancy Reentrant
Parameters
None
(inout)
Parameters Pointer to the memory where the index of the controller related to
CtrlIdxPtr
(out) LocalAddrId is stored
Result of operation
Std_Return-
Return value E_OK the request was successful
Type
E_NOT_OK the request was not successful.
⌋()
[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
TcpIp_GetArpCacheEntries
Name
uint8 ctrlIdx,
uint32* numberOfElements,
TcpIp_ArpCacheEntryType* entryListPtr
)
Service ID
0x1d
[hex]
Sync/Async Synchronous
Parameters
ctrlIdx EthIf controller index to identify the related ARP table.
(in)
Parameters
entryListPtr Pointer to memory where the list of cache entries shall be stored.
(out)
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
Description copy all or numberOfElements into the output list. If input value of numberOf
Elements 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]⌈
Service
TcpIp_GetNdpCacheEntries
Name
Std_ReturnType TcpIp_GetNdpCacheEntries (
uint8 ctrlIdx,
Syntax uint32* numberOfElements,
TcpIp_NdpCacheEntryType* entryListPtr
)
Service ID
0x1c
[hex]
Sync/Async Synchronous
Parameters
ctrlIdx EthIf controller index to identify the related NDP table.
(in)
Parameters
entryListPtr Pointer to memory where the list of cache entries shall be stored.
(out)
Copies entries from the physical address cache of the IPv6 instance that is active on
the EthIf controller specified by ctrlIdx into a user provided buffer. The function will
Description copy all or numberOfElements into the output list. If input value of numberOf
Elements 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.17 TcpIp_GetAndResetMeasurementData
[SWS_TCPIP_91006]⌈
Service
TcpIp_GetAndResetMeasurementData
Name
Std_ReturnType TcpIp_GetAndResetMeasurementData (
TcpIp_MeasurementIdxType MeasurementIdx,
Syntax boolean MeasurementResetNeeded,
uint32* MeasurementDataPtr
)
Service ID
0x45
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
Parameters
None
(inout)
E_OK: successful
Return value Std_ReturnType
E_NOT_OK: failed
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
Description
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
90 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
8.3.4.1 TcpIp_UdpTransmit
[SWS_TCPIP_00025]⌈
Service
TcpIp_UdpTransmit
Name
Std_ReturnType TcpIp_UdpTransmit (
TcpIp_SocketIdType SocketId,
const uint8* DataPtr,
Syntax
const TcpIp_SockAddrType* RemoteAddrPtr,
uint16 TotalLength
)
Service ID
0x12
[hex]
Sync/Async Synchronous
Reentrancy Reentrant for different SocketIds. Non reentrant for the same SocketId.
Total
indicates the payload size of the UDP datagram.
Length
Parameters
None
(inout)
Parameters
None
(out)
Std_- E_OK: Request to transmit the UDP message has been accepted.
Return value Return- E_NOT_OK: UDP message could not be sent because of a permanent
Type error, e.g. message is too long.
This service transmits data via UDP to a remote node. The transmission of the data
Description
is immediately performed with this function call by forwarding it to EthIf.
⌋()
[SWS_TCPIP_00120]⌈ With respect to SWS_TCPIP_00191 and
SWS_TCPIP_00193, 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
TcpIp_TcpTransmit
Name
Std_ReturnType TcpIp_TcpTransmit (
TcpIp_SocketIdType SocketId,
const uint8* DataPtr,
Syntax uint32 AvailableLength,
boolean ForceRetrieve
)
Service ID
0x13
[hex]
Sync/Async Asynchronous
Reentrancy Reentrant for different SocketIds. Non reentrant for the same SocketId.
Available
Available data for transmission in bytes.
Length
Parameters
(in) This parameter is only valid if DataPtr is a NULL_PTR. Indicates how the
TCP/IP stack retrieves data from upper layer if 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
Force
the context of this transmit function. FALSE: The TCP/IP stack may
Retrieve
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
None
(out)
This service requests transmission of data via TCP to a remote node. The
transmission of the data is decoupled.
Description
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
void TcpIp_RxIndication (
uint8 CtrlIdx,
Eth_FrameType FrameType,
boolean IsBroadcast,
Syntax const uint8* PhysAddrPtr,
const uint8* DataPtr,
uint16 LenByte
)
Sync/Async Synchronous
93 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
Is
parameter to indicate a broadcast frame
Broadcast
Parameters (in)
PhysAddr pointer to Physical source address (MAC address in network byte
Ptr order) of received Ethernet frame
Parameters
None
(inout)
Parameters
None
(out)
By this API service the TCP/IP stack gets an indication and the data of a received
Description
frame.
⌋()
8.5.2 TcpIp_MainFunction
[SWS_TCPIP_00026]⌈
Service Name TcpIp_MainFunction
void TcpIp_MainFunction (
Syntax void
)
⌋()
This chapter defines all interfaces which are required to fulfill the core functionality of
the module.
[SWS_TCPIP_00027]⌈
API Header
Description
Function File
Det_Report- Service to report runtime errors. If a callout has been configured then this
Det.h
RuntimeError callout shall be called.
EthIf_Get-
EthIf.h Obtains the physical source address used by the indexed controller
PhysAddr
EthIf_-
ProvideTx- EthIf.h Provides access to a transmit buffer of the specified Ethernet controller.
Buffer
EthIf_Set-
EthIf.h Sets the physical source address used by the indexed controller.
PhysAddr
EthIf_-
EthIf.h Triggers transmission of a previously filled transmit buffer
Transmit
EthSM_Tcp-
EthSM_ This service is called by the TcpIp to report the actual TcpIp state (e.g.
IpMode-
TcpIp.h online, offline).
Indication
⌋()
This chapter defines all interfaces which are required to fulfill an optional functionality
of the module.
[SWS_TCPIP_00028]⌈
Header
API Function Description
File
Uses the given data to perform an AEAD encryption and stores the
Csm_AEAD-
Csm.h ciphertext and the MAC in the memory locations pointed by the
Decrypt
ciphertext pointer and Tag pointer.
Uses the given input data to perform a AEAD encryption and stores
Csm_AEAD-
Csm.h the ciphertext and the MAC in the memory locations pointed by the
Encrypt
ciphertext pointer and Tag pointer.
Decrypts the given encrypted data and store the decrypted plaintext in
Csm_Decrypt Csm.h
the memory location pointed by the result pointer.
Encrypts the given data and store the ciphertext in the memory
Csm_Encrypt Csm.h
location pointed by the result pointer.
Uses the given data to perform the hash calculation and stores the
Csm_Hash Csm.h
hash.
Csm_Key-
Csm.h This function shall copy a key elements from one key to a target key.
ElementCopy
Csm_Key- Calculates the public value of the current user for the key exchange
ExchangeCalc- Csm.h and stores the public key in the memory location pointed by the public
PubVal value pointer.
Csm_Key- Calculates the shared secret key for the key exchange with the key
ExchangeCalc- Csm.h material of the key identified by the keyId and the partner public key.
Secret The shared secret key is stored as a key element in the same key.
Csm_Mac- Uses the given data to perform a MAC generation and stores the MAC
Csm.h
Generate in the memory location pointed to by the MAC pointer.
Verifies the given MAC by comparing if the MAC is generated with the
Csm_MacVerify Csm.h
given data.
Csm_Signature- Uses the given data to perform the signature calculation and stores the
Csm.h
Generate signature in the memory location pointed by the result pointer.
Csm_Signature- Verifies the given MAC by comparing if the signature is generated with
Csm.h
Verify the given data.
IdsM_Set- This API is the application interface to report security events to the Ids
IdsM.h
SecurityEvent M.
IdsM_Set-
This API is the application interface to report security events with
SecurityEvent- IdsM.h
context data to the IdsM.
WithContextData
KeyM_Get-
KeyM.h This function provides the certificate data
Certificate
KeyM_Set- This function provides the certificate data to the key management
KeyM.h
Certificate module to temporarily store the certificate.
⌋()
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
TcpIp_<Up>GetSocket
Name
Std_ReturnType TcpIp_<Up>GetSocket (
TcpIp_DomainType Domain,
Syntax TcpIp_ProtocolType Protocol,
TcpIp_SocketIdType* SocketIdPtr
)
Service ID
0x03
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
Parameters None
(inout)
By this API service the TCP/IP stack is requested to allocate a new socket. Note:
Description
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>
void <Up_PhysAddrTableChg> (
uint8 CtrlIdx,
const TcpIp_SockAddrType* IpAddrPtr,
Syntax const uint8* PhysAddrPtr,
boolean valid
)
Sync/Async Synchronous
Parameters None
98 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
(inout)
Parameters
None
(out)
This API is called by TcpIp in case of a change in the ARP/NDP table related to
Description
the controller specified by CtrlIdx.
⌋()
8.6.3.3.1 <Up_RxIndication>
[SWS_TCPIP_00223]⌈
Service Name <Up_RxIndication>
void <Up_RxIndication> (
TcpIp_SocketIdType SocketId,
const TcpIp_SockAddrType* RemoteAddrPtr,
Syntax
const uint8* BufPtr,
uint16 Length
)
Sync/Async Synchronous
Reentrancy Reentrant for different SocketIds. Non reentrant for the same SocketId.
Parameters
None
(inout)
Parameters
None
(out)
The TCP/IP stack calls this primitive after the reception of data on a socket. The
Description 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>
void <Up_TcpIpEvent> (
TcpIp_SocketIdType SocketId,
Syntax TcpIp_EventType Event
)
Sync/Async Synchronous
Parameters
None
(inout)
This service gets called if the stack encounters a condition described by the
Description
values in Event.
⌋(SRS_Eth_00103)
8.6.3.3.3 <Up_TxConfirmation>
[SWS_TCPIP_00225]⌈
Service Name <Up_TxConfirmation>
void <Up_TxConfirmation> (
TcpIp_SocketIdType SocketId,
Syntax
uint16 Length
)
Sync/Async Synchronous
Reentrancy Reentrant for different SocketIds. Non reentrant for the same SocketId.
Parameters
None
(inout)
Parameters
None
(out)
The TCP/IP stack calls this function after the data has been acknowledged by the
peer for TCP.
Description
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
<Up_TcpAccepted>
Name
Std_ReturnType <Up_TcpAccepted> (
TcpIp_SocketIdType SocketId,
Syntax TcpIp_SocketIdType SocketIdConnected,
const TcpIp_SockAddrType* RemoteAddrPtr
)
Sync/Async Synchronous
Parameters
None
(inout)
Parameters
None
(out)
Result of operation
E_OK upper layer accepts the established connection
Return value Std_ReturnType
E_NOT_OK upper layer refuses the established connection,
TcpIp stack shall close the connection.
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
Description
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
<Up_TcpConnected>
Name
void <Up_TcpConnected> (
Syntax TcpIp_SocketIdType SocketId
)
Sync/Async Synchronous
Parameters
SocketId Socket identifier of the related local socket resource.
(in)
Parameters
None
(inout)
Parameters
None
(out)
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
Description stack calls this function after a socket was requested to connect with TcpIp_Tcp
Connect() 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>
BufReq_ReturnType <Up_CopyTxData> (
TcpIp_SocketIdType SocketId,
Syntax uint8* BufPtr,
uint16 BufLength
)
Sync/Async Synchronous
Reentrancy Reentrant for different SocketIds. Non reentrant for the same SocketId.
Parameters
None
(inout)
Parameters
BufPtr Pointer to buffer for transmission data.
(out)
This service requests to copy data for transmission to the buffer indicated. This call
Description is triggered by TcpIp_Transmit(). Note: The call to <Up>_CopyTxData() may
happen in the context of TcpIp_Transmit().
⌋(SRS_Eth_00103)
103 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
8.6.3.3.7 <Up_LocalIpAddrAssignmentChg>
[SWS_TCPIP_00229]⌈
Service Name <Up_LocalIpAddrAssignmentChg>
void <Up_LocalIpAddrAssignmentChg> (
TcpIp_LocalAddrIdType IpAddrId,
Syntax TcpIp_IpAddrStateType State
)
Sync/Async Synchronous
Parameters
None
(inout)
Parameters
None
(out)
This service gets called by the TCP/IP stack if an IP address assignment changes
Description
(i.e. new address assigned or assigned address becomes invalid).
⌋(SRS_Eth_00103)
void <Up_IcmpMsgHandler> (
TcpIp_LocalAddrIdType LocalAddrId,
const TcpIp_SockAddrType* RemoteAddrPtr,
uint8 Ttl,
Syntax uint8 Type,
uint8 Code,
uint16 DataLength,
uint8* DataPtr
)
Sync/Async Synchronous
LocalAddr Local address identifier representing the local IP address and EthIf
Id controller where the ICMP message has been received.
Parameters
(in)
Remote
pointer to struct representing the address of the ICMP sender
AddrPtr
type field value of the reveived ICMP message (Note: the value of the
Type type field determines the format of the remaining ICMP message
data)
Data
length of ICMP message
Length
Parameters
None
(inout)
Parameters
None
(out)
By this API service the configured ICMP message handler function is called by the
Description TCP/IP stack on reception of a ICMP message which is not handled by the TCP/IP
stack.
⌋()
8.6.3.5 <Up_DADAddressConflict>
[SWS_TCPIP_91005]⌈
Service Name <Up_DADAddressConflict>
void <Up_DADAddressConflict> (
TcpIp_LocalAddrIdType IpAddrId,
const TcpIp_SockAddrType* IpAddrPtr,
Syntax const uint8* LocalPhysAddrPtr,
const uint8* RemotePhysAddrPtr
)
Service ID
0x1e
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
RemotePhys Pointer to the memory where the remote physical address (MAC
AddrPtr address) related to the specified IP address is stored in network
105 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
byte order.
Parameters
None
(inout)
Parameters
None
(out)
This API is called by TcpIp in case the Duplicate Address Detection (DAD) is
Description
enabled and detecting a duplicate IP Address.
⌋()
8.6.3.6 <Up_TlsGetCurrentTimeStamp>
[SWS_TCPIP_91012]⌈
Service Name <Up_TlsGetCurrentTime>
Std_ReturnType <Up_TlsGetCurrentTime> (
Syntax uint32* CurrentTimeUtc
)
Sync/Async Synchronous
Reentrancy Reentrant
Parameters
None
(inout)
Parameters CurrentTime
Pointer to uint32 to provide the GMT Unix time value.
(out) Utc
This function queries the current time. This information will be requested when
Description
assembling the client hello message.
⌋()
8.6.3.7 <Up_TlsServerGetPskIdentityHint>
[SWS_TCPIP_91013]⌈
Service Name <Up_TlsServerGetPskIdentityHint>
Std_ReturnType <Up_TlsServerGetPskIdentityHint> (
TcpIp_SocketIdType SocketId,
TcpIp_TlsConnectionIdType TlsConnectionId,
Syntax
uint16* IdentityHintLengthPtr,
uint8* IdentityHintPtr
)
Sync/Async Synchronous
Reentrancy Reentrant
Parameters
IdentityHintPtr Ptr to buffer that is used to store the IdentityHint information.
(out)
Queries the Identity hint for a pre-shared key ciphersuite. This information is
Description
transmitted by the TLS Server to provide its identification to the TLS client.
⌋(SRS_Eth_00137)
Std_ReturnType <Up_TlsClientGetPskIdentity> (
TcpIp_SocketIdType SocketId,
TcpIp_TlsConnectionIdType TlsConnectionId,
uint16 PskIdentityHintLength,
Syntax const uint8* PskIdentityHintPtr,
uint16* PskKeyIdentityLengthPtr,
uint8* PskKeyIdentityPtr,
uint32* CsmKeyId
)
Sync/Async Synchronous
Reentrancy Reentrant
PskIdentityHint
Pointer to the identity hint information from the server.
Ptr
PskKeyIdentity
Buffer that is used to store the pre-shared key identification.
Parameters Ptr
(out)
CsmKeyId Provides the identifier of a CSM key.
This function is called on the TLS client side. It provides the key identification based
Description on the identity hint provided by the TLS server. The TLS client selects the pre-
shared key and returns the key identification name and the CSM key reference.
⌋(SRS_Eth_00137)
8.6.3.9 <Up_TlsServerGetPskIdentity>
[SWS_TCPIP_91015]⌈
Service
<Up_TlsServerGetPskIdentity>
Name
Std_ReturnType <Up_TlsServerGetPskIdentity> (
TcpIp_SocketIdType SocketId,
TcpIp_TlsConnectionIdType TlsConnectionId,
Syntax uint16 PskKeyIdentityLength,
const uint8* PskKeyIdentityPtr,
uint32* CsmKeyId
)
Sync/Async Synchronous
Reentrancy Reentrant
Parameters
None
(inout)
Parameters
CsmKeyId Provides the identifier of a CSM key.
(out)
This callback is used for the TLS server to provide the CSM key name according to
Description the key identification that was selected by the TLS client. The TLS server must
provide a CsmKey reference to a key that matches this key identification name.
⌋(SRS_Eth_00137)
109 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
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
TcpIp
Initialize TLS
connection for a socket
Client hello
<<MAC generation>>()
Server hello
Key exchange
<<MAC generation>>()
Finished
Finished
TcpIp
TcpIp_SoAdGetSocket()
TLS connection
assignment to socket
Receive SYN
Receive ACK
Socket assigned to
TLS connection
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:
lowerMultiplicity = 0 EcucParamConfContainerDef
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: max = 4294967295
+parameter
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
+parameter TcpIpEnableSecurityEventReporting:
EcucBooleanParamDef
defaultValue = false
TcpIpSecurityEventRefs:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
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
Name TcpIpEnableSecurityEventReporting
Parent Container TcpIpGeneral
Description Switches the reporting of security events to the IdsM:
- true: reporting is enabled.
- false: reporting is disabled.
Tags:
atp.Status=draft
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: ECU
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
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.
Container for the references to IdsMEvent elements
representing the security events that the TcpIp module shall
report to the IdsM in case the coresponding security related
event occurs (and if TcpIpEnableSecurityEventReporting is set
TcpIpSecurityEventRefs 0..1
to "true"). The standardized security events in this container
can be extended by vendor-specific security events.
Tags:
atp.Status=draft
10.2.3 TcpIpIpV4General
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
10.2.4 TcpIpIpV6General
128 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
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
TcpIpGeneral:
EcucParamConfContainerDef +parameter TcpIpEnableSecurityEventReporting:
EcucBooleanParamDef
defaultValue = false
+subContainer
TCPIP_SEV_DROP_INV_PORT_TCP:
EcucReferenceDef +destination
+reference
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
TCPIP_SEV_DROP_INV_PORT_UDP:
+reference EcucReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
TCPIP_SEV_DROP_INV_IPV4_ADDR:
+reference EcucReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
TCPIP_SEV_DROP_INV_IPV6_ADDR:
+reference EcucReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
(from IdsM)
10.2.5 TcpIpSecurityEventRefs
Name TCPIP_SEV_ARP_IP_ADDR_CONFLICT
Parent Container TcpIpSecurityEventRefs
Description Received local IP address in ARP reply for different MAC.
Tags:
atp.Status=draft
Multiplicity 0..1
Type Symbolic name reference to [ IdsMEvent ]
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
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
TcpIpTlsConfig:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpDuplicateAddressDetectionConfig:
EcucParamConfContainerDef
TcpIpDuplicateAddressDetectionCalloutName:
+subContainer EcucFunctionNameDef
lowerMultiplicity = 0 +parameter
upperMultiplicity = 1
TcpIpIpSecConfigSet:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
10.2.6 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
TcpIpIpSecConfigSet 0..* Specifies the IPsec configuration.
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 TLS
TcpIpTlsConfig 0..1
(Transport Layer Security) sub module.
Specifies the configuration parameters of the UDP
TcpIpUdpConfig 0..1
(User Datagram Protocol) sub-module
lowerMultiplicity = 0 +destination
TcpIpDhcpServerConfig:
upperMultiplicity = 1
EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
TcpIpIpFramePrioDefault:
EcucIntegerParamDef
+parameter min = 0
max = 7
defaultValue = 0
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpIpVXCtrl: TcpIpIpV4Ctrl:
EcucChoiceContainerDef +choice EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
+subContainer
TcpIpIpV6Ctrl:
+choice EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpIpSecConfigSetRef: TcpIpIpSecConfigSet:
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
10.2.7 TcpIpCtrl
Included Containers
Container Name Multiplicity Scope / Dependency
Specifies whether this controller is an Internet Protocol version
TcpIpIpVXCtrl 1
4 (IPv4) or Internet Protocol version 6 (IPv4) instance.
10.2.8 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.9 TcpIpIpV4Ctrl
Included Containers
Container Name Multiplicity Scope / Dependency
This container specifies the Maximum Transmission Unit
TcpIpIpV4MtuConfig 1
parameters for this IPv4 instance.
10.2.10 TcpIpIpV4MtuConfig
Type EcucFloatParamDef
Range [1 .. 86400]
Default value 600
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
TcpIpDhcpV6Config:
TcpIpIpV6Ctrl: TcpIpIpV6DhcpConfigRef:
+reference +destination EcucParamConfContainerDef
EcucParamConfContainerDef EcucReferenceDef
lowerMultiplicity = 0
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = *
upperMultiplicity = 1 upperMultiplicity = 1
TcpIpIpV6NdpConfigRef: TcpIpNdpConfig:
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 1 lowerMultiplicity = 0
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.11 TcpIpIpV6Ctrl
Included Containers
Container Name Multiplicity Scope / Dependency
This container specifies the Maximum Transmission Unit
TcpIpIpV6MtuConfig 1
parameters for this IPv6 instance.
10.2.12 TcpIpIpV6MtuConfig
No Included Containers
TcpIpDhcpNetmask: +parameter
EcucIntegerParamDef
+parameter EthIfSwitchIdx:
min = 0
EcucIntegerParamDef
max = 128
lowerMultiplicity = 0 min = 0
upperMultiplicity = 1 max = 255
symbolicNameValue = true
+parameter
TcpIpDhcpDefaultRouter:
EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
+subContainer
TcpIpDhcpAddressAssignment:
EcucParamConfContainerDef TcpIpDhcpSwitchPortRef: EthSwtPort:
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = * lowerMultiplicity = 0 lowerMultiplicity = 1
upperMultiplicity = 1 upperMultiplicity = *
requiresSymbolicNameValue = true
+parameter TcpIpDhcpAddressLowerBound:
EcucStringParamDef +parameter
EthSwtPortIdx:
EcucIntegerParamDef
+parameter
TcpIpDhcpAddressUpperBound: min = 0
EcucStringParamDef max = 255
symbolicNameValue = true
10.2.13 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.14 TcpIpDhcpAddressAssignment
No Included Containers
10.2.15 TcpIpDuplicateAddressDetectionConfig
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.16 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.17 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.
149 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
TcpIpArpConfig:
EcucParamConfContainerDef TcpIpArpTableSizeMax:
+parameter EcucIntegerParamDef
lowerMultiplicity = 0
upperMultiplicity = * min = 0
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
TcpIpArpRequestTimeout:
+parameter EcucFloatParamDef
min = 0
max = INF
defaultValue = 1
10.2.18 TcpIpArpConfig
No Included Containers
TcpIpAutoIpConfig:
TcpIpAutoIpInitTimeout:
EcucParamConfContainerDef +parameter EcucFloatParamDef
lowerMultiplicity = 0 min = 0
upperMultiplicity = *
max = INF
10.2.19 TcpIpAutoIpConfig
probing. This delay is used to give DHCP time to acquire a lease in case a
DHCP server is present.
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
No Included Containers
TcpIpIpV4Config: TcpIpDhcpConfig:
EcucParamConfContainerDef +subContainer EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
10.2.20 TcpIpDhcpConfig
No Included Containers
TcpIpIcmpMsgHandlerName:
TcpIpIcmpMsgHandler: +parameter EcucFunctionNameDef
EcucParamConfContainerDef
lowerMultiplicity = 0
+subContainer upperMultiplicity = 1
+parameter TcpIpIcmpEchoReplyEnabled:
EcucBooleanParamDef
defaultValue = FALSE
10.2.21 TcpIpIcmpConfig
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.22 TcpIpIcmpMsgHandler
No Included Containers
TcpIpIpFragmentationConfig: TcpIpIpFragmentationRxEnabled:
EcucParamConfContainerDef +parameter EcucBooleanParamDef
lowerMultiplicity = 0 defaultValue = false
upperMultiplicity = *
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.23 TcpIpIpFragmentationConfig
Description This container may be referenced by multiple IPv4 instances if they shall
use the same configuration.
This container may have multiple instances if different configurations are
required for different IPv4 instances.
Configuration Parameters
discarded.
Note: this parameter is only relevant if TcpIpIpFragmentationRxEnabled is
TRUE.
Multiplicity 0..1
Type EcucFloatParamDef
Range [0 .. INF]
Default value 60
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
dependency: TcpIpIpFragmentationRxEnabled
No Included Containers
TcpIpIpV6Config: TcpIpDhcpV6Config:
EcucParamConfContainerDef +subContainer EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
TcpIpNdpConfig:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
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.24 TcpIpIpV6Config
Configuration Parameters
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
This container may be referenced by multiple IPv6
TcpIpNdpConfig 0..*
instances if they shall use the same configuration.
This container may have multiple instances if different
configurations are required for different IPv6 instances.
TcpIpDhcpV6Config: TcpIpDhcpV6CnfDelayMax:
EcucFloatParamDef
EcucParamConfContainerDef +parameter
min = 0
lowerMultiplicity = 0
upperMultiplicity = * max = 100
defaultValue = 1
TcpIpDhcpV6CnfDelayMin:
+parameter EcucFloatParamDef
min = 0
max = 100
defaultValue = 0
TcpIpDhcpV6InfDelayMax:
+parameter EcucFloatParamDef
min = 0
max = 100
defaultValue = 1
TcpIpDhcpV6InfDelayMin:
+parameter EcucFloatParamDef
min = 0
max = 100
defaultValue = 0
TcpIpDhcpV6SolDelayMax:
+parameter EcucFloatParamDef
min = 0
max = 100
defaultValue = 1
TcpIpDhcpV6SolDelayMin:
+parameter EcucFloatParamDef
min = 0
max = 100
defaultValue = 0
10.2.25 TcpIpDhcpV6Config
No Included Containers
TcpIpIcmpV6Config:
+parameter TcpIpIcmpV6EchoReplyEnabled:
EcucParamConfContainerDef EcucBooleanParamDef
lowerMultiplicity = 1 defaultValue = false TcpIpIcmpV6EchoReplyAvoidFragmentation:
upperMultiplicity = 1
+parameter EcucBooleanParamDef
defaultValue = false
lowerMultiplicity = 1
upperMultiplicity = 1
+parameter TcpIpIcmpV6MsgParameterProblemEnabled:
EcucBooleanParamDef
defaultValue = true
TcpIpIcmpV6HopLimit:
+parameter EcucIntegerParamDef
min = 1
max = 255
+parameter TcpIpIcmpV6MsgDestinationUnreachableEnabled:
EcucBooleanParamDef
TcpIpIcmpV6MsgHandler:
EcucParamConfContainerDef
lowerMultiplicity = 0
+subContainer upperMultiplicity = 1
+parameter
TcpIpIcmpV6MsgHandlerName:
EcucFunctionNameDef
10.2.26 TcpIpIcmpV6Config
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.27 TcpIpIcmpV6MsgHandler
No Included Containers
10.2.28 TcpIpIpV6ConfigExtHeaderFilter
No Included Containers
TcpIpIpV6FragmentationConfig:
EcucParamConfContainerDef TcpIpIpV6ReassemblyBufferCount:
+parameter EcucIntegerParamDef
lowerMultiplicity = 0
upperMultiplicity = * min = 0
max = 255
defaultValue = 255
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.29 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.
No Included Containers
TcpIpNdpConfig: TcpIpNdpSlaacConfig:
EcucParamConfContainerDef EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
+subContainer
upperMultiplicity = * upperMultiplicity = 1
TcpIpNdpArNudConfig:
EcucParamConfContainerDef
lowerMultiplicity = 0
+subContainer
upperMultiplicity = 1
TcpIpNdpPrefixRouterDiscoveryConfig:
EcucParamConfContainerDef
+subContainer lowerMultiplicity = 0
upperMultiplicity = 1
10.2.30 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
TcpIpNdpArNudConfig 0..1 Specifies the configuration parameters for NDP
171 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
TcpIpNdpArNudConfig:
EcucParamConfContainerDef TcpIpNdpMaxNeighborCacheSize:
+parameter EcucIntegerParamDef
lowerMultiplicity = 0
upperMultiplicity = 1 min = 1
max = 254
defaultValue = 5
TcpIpNdpDefaultReachableTime:
+parameter EcucFloatParamDef
min = 0
max = 120
defaultValue = 30
TcpIpNdpDefaultRetransTimer:
+parameter EcucFloatParamDef
min = 0
max = 60
defaultValue = 1
TcpIpNdpNumUnicastSolicitations:
+parameter EcucIntegerParamDef
min = 0
max = 255
defaultValue = 3
TcpIpNdpDefensiveProcessing:
+parameter EcucBooleanParamDef
defaultValue = false
lowerMultiplicity = 1
upperMultiplicity = 1
TcpIpNdpNumMulticastSolicitations:
+parameter EcucIntegerParamDef
min = 0
max = 255
defaultValue = 3
TcpIpNdpDelayFirstProbeTime:
+parameter EcucFloatParamDef
min = 0
max = 60
defaultValue = 5
TcpIpNdpMinRandomFactor:
+parameter EcucIntegerParamDef
min = 0
max = 100
defaultValue = 5
TcpIpNdpMaxRandomFactor:
+parameter EcucIntegerParamDef
min = 0
max = 100
defaultValue = 15
+parameter TcpIpNdpNeighborUnreachabilityDetectionEnabled:
EcucBooleanParamDef
defaultValue = true
+parameter TcpIpNdpRandomReachableTimeEnabled:
EcucBooleanParamDef
defaultValue = true
TcpIpNdpPacketQueueEnabled:
+parameter EcucBooleanParamDef
defaultValue = true
lowerMultiplicity = 1
upperMultiplicity = 1
10.2.31 TcpIpNdpArNudConfig
Description If enabled the NDP shall only process Neighbor Advertisements which are
received in reaction to a previously transmitted Neighbor Solicitation as
well as skipping updates to the Neighbor Cache based on received
Neighbor Solicitations. If disabled all Neighbor Advertisements and
Solicitations shall be processed as specified in RFC4861.
[RFC4861 7.2.5. Receipt of Neighbor Advertisements]
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
Range 0 .. 100
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 --
176 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
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:
lowerMultiplicity = 0 +parameter EcucIntegerParamDef
upperMultiplicity = 1 min = 1
max = 254
defaultValue = 5
TcpIpNdpPrefixListSize:
+parameter EcucIntegerParamDef
min = 1
max = 254
defaultValue = 5
TcpIpNdpDefaultRouterListSize:
+parameter EcucIntegerParamDef
min = 2
max = 254
defaultValue = 2
+parameter TcpIpNdpRndRtrSolicitationDelayEnabled:
EcucBooleanParamDef
defaultValue = true
TcpIpNdpMaxRtrSolicitations:
+parameter EcucIntegerParamDef
min = 0
max = 255
defaultValue = 3
TcpIpNdpMaxRtrSolicitationDelay:
+parameter EcucFloatParamDef
min = 0.001
max = 60
defaultValue = 1
TcpIpNdpRtrSolicitationInterval:
+parameter EcucFloatParamDef
min = 0.001
max = 60
defaultValue = 4
+parameter TcpIpNdpDynamicRetransTimeEnabled:
EcucBooleanParamDef
defaultValue = true
+parameter TcpIpNdpDynamicReachableTimeEnabled:
EcucBooleanParamDef
defaultValue = true
+parameter TcpIpNdpDynamicHopLimitEnabled:
EcucBooleanParamDef
defaultValue = true
+parameter TcpIpNdpDynamicMtuEnabled:
EcucBooleanParamDef
defaultValue = false
TcpIpNdpPrefixList:
EcucParamConfContainerDef
+subContainer
lowerMultiplicity = 0
upperMultiplicity = 1
+subContainer TcpIpNdpPrefixListEntryPrefixLength:
EcucIntegerParamDef
TcpIpNdpPrefixListEntry: +parameter min = 0
EcucParamConfContainerDef max = 128
lowerMultiplicity = 1
upperMultiplicity = *
+parameter TcpIpNdpPrefixListEntryPrefixAddress:
EcucStringParamDef
10.2.32 TcpIpNdpPrefixRouterDiscoveryConfig
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
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.33 TcpIpNdpPrefixList
Included Containers
Container Name Multiplicity Scope / Dependency
TcpIpNdpPrefixListEntry 1..* Single entry in the prefix list.
10.2.34 TcpIpNdpPrefixListEntry
No Included Containers
TcpIpNdpSlaacConfig:
EcucParamConfContainerDef +parameter TcpIpNdpSlaacDelayEnabled:
EcucBooleanParamDef
lowerMultiplicity = 0 defaultValue = false
upperMultiplicity = 1
+parameter TcpIpNdpSlaacOptimisticDadEnabled:
EcucBooleanParamDef
defaultValue = false
TcpIpNdpSlaacDadRetransmissionDelay:
+parameter EcucFloatParamDef
min = 0
max = 10
defaultValue = 1
TcpIpNdpSlaacDadNumberOfTransmissions:
EcucIntegerParamDef
+parameter
min = 0
max = 254
defaultValue = 1
10.2.35 TcpIpNdpSlaacConfig
Default: DupAddrDetectTransmits = 1
"The delay will avoid similar congestion when multiple nodes are going to
configure addresses by receiving the same single multicast router
advertisement."
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:
EcucParamConfContainerDef EcucEnumerationParamDef
+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
upperMultiplicity = 1 +literal
TCPIP_STORE:
defaultValue = TCPIP_FORGET EcucEnumerationLiteralDef
+parameter min = 0
+subContainer
max = 128
lowerMultiplicity = 0
upperMultiplicity = 1
+parameter TcpIpDefaultRouter:
EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpLocalAddrIPv6ExtHeaderFilterRef: TcpIpIpV6ConfigExtHeaderFilter:
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
10.2.36 TcpIpLocalAddr
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.37 TcpIpAddrAssignment
No Included Containers
10.2.38 TcpIpStaticIpAddressConfig
Description Network mask of IPv4 address or address prefix of IPv6 address in CIDR
Notation, i.e. decimal value between 0 and 32 (IPv4) or 0 and 128 (IPv6)
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.39 TcpIpNvmBlock
No Included Containers
TcpIpPhysAddrConfig: TcpIpPhysAddrChgHandler:
EcucParamConfContainerDef EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = 1
+subContainer
TcpIpPhysAddrChgHandlerName:
+parameter
EcucFunctionNameDef
lowerMultiplicity = 1
upperMultiplicity = 1
10.2.40 TcpIpPhysAddrConfig
Included Containers
Container Name Multiplicity Scope / Dependency
TcpIpPhysAddrChgHandler 0..1 This container is a subcontainer of TcpIpPhysAddrConfig and
193 of 293 Document ID 617: AUTOSAR_SWS_TcpIp
Specification of TCP/IP Stack
AUTOSAR CP R20-11
10.2.41 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
TcpIpSocketOwnerId:
EcucIntegerParamDef
+parameter
min = 0
max = 65535
defaultValue = 0
symbolicNameValue = true
10.2.42 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.43 TcpIpSocketOwner
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
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
+parameter TcpIpTcpNagleEnabled:
TcpIpTcpConfig: EcucBooleanParamDef
EcucParamConfContainerDef
+parameter
TcpIpTcpSlowStartEnabled:
lowerMultiplicity = 0
EcucBooleanParamDef
upperMultiplicity = 1 +parameter
TcpIpTcpCongestionAvoidanceEnabled:
EcucBooleanParamDef
+parameter
TcpIpTcpFastRetransmitEnabled:
EcucBooleanParamDef
+parameter
TcpIpTcpFastRecoveryEnabled:
EcucBooleanParamDef
TcpIpDelayedAckTimeout:
+parameter EcucFloatParamDef
min = 0
max = 0.5
defaultValue = 0.5 TcpIpTcpSynMaxRtx:
+parameter EcucIntegerParamDef
min = 0
TcpIpTcpSynReceivedTimeout: max = 255
+parameter EcucFloatParamDef
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
upperMultiplicity = 1
+parameter min = 0
max = 255
lowerMultiplicity = 0
TcpIpTcpKeepAliveInterval:
upperMultiplicity = 1 +parameter EcucFloatParamDef
min = 0
max = INF
TcpIpTcpKeepAliveProbesMax:
+parameter EcucIntegerParamDef
min = 0
max = 65535 TcpIpTcpTtl: EcucIntegerParamDef
+parameter
min = 1
max = 255
TcpIpTcpReceiveWindowMax:
+parameter EcucIntegerParamDef
min = 0
max = 65535
TcpIpTcpKeepAliveEnabled:
+parameter
EcucBooleanParamDef
defaultValue = false
TcpIpTcpKeepAliveTime:
+parameter EcucFloatParamDef
min = 0
TcpIpTcpConfigOptionFilterId:
max = INF EcucIntegerParamDef
defaultValue = 7200
min = 0
max = 255
TcpIpTcpConfigOptionFilter: +parameter lowerMultiplicity = 1
EcucParamConfContainerDef upperMultiplicity = 1
symbolicNameValue = true
lowerMultiplicity = 0
+subContainer
upperMultiplicity = *
TcpIpTcpConfigOptionFilterEntry:
+parameter EcucIntegerParamDef
min = 0
max = 255
lowerMultiplicity = 0
upperMultiplicity = *
10.2.44 TcpIpTcpConfig
Type EcucIntegerParamDef
Range 1 .. 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.45 TcpIpTcpConfigOptionFilter
No Included Containers
10.2.46 TcpIpUdpConfig
No Included Containers
TcpIpConfig:
EcucParamConfContainerDef
CsmJobId:
+subContainer EcucIntegerParamDef
TcpIpTlsConfig: min = 0
TcpIpTlsMaxConnections:
EcucParamConfContainerDef max = 4294967295
EcucIntegerParamDef
+parameter symbolicNameValue = true
lowerMultiplicity = 0 min = 1
upperMultiplicity = 1 max = 65535 +parameter
(from Csm)
CsmJob:
+reference TcpIpTlsCsmRandomGenerateJobRef: +destination EcucParamConfContainerDef
EcucReferenceDef
lowerMultiplicity = 1
requiresSymbolicNameValue = true
upperMultiplicity = *
(from Csm)
TcpIpTlsConnectionGroup:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
TcpIpTlsConnection:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
TcpIpTlsCiphersuites:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = 1
10.2.47 TcpIpTlsConfig
Included Containers
Container Name Multiplicity Scope / Dependency
This container provides the information about supported
TcpIpTlsCiphersuites 1
ciphersuites used by TLS.
TcpIpTlsConnection 1..* This container defines the properties of a TLS connection
This optional container is used to collect all TlsConnections
that belong to a TlsConnectionGroup. The intention of a TLS
TcpIpTlsConnectionGroup 0..* connection group is to share resources among TLS
connections collected in a group, because only one connection
of a group can be used at a time.
10.2.48 TcpIpTlsConnectionGroup
No Included Containers
TcpIpTlsConnection:
TcpIpTlsConnectionId:
EcucParamConfContainerDef
+parameter EcucIntegerParamDef
lowerMultiplicity = 1
min = 0
upperMultiplicity = *
max = 65535
symbolicNameValue = true
+parameter
+literal TLS_SERVER:
EcucEnumerationLiteralDef
TcpIpTlsMaxFragmentLength:
+parameter EcucIntegerParamDef
min = 1
max = 16384
symbolicNameValue = true
TcpIpTlsPortAssignment:
EcucIntegerParamDef
+parameter
min = 1
max = 65535
lowerMultiplicity = 0
upperMultiplicity = 1
symbolicNameValue = true
TcpIpTlsIpAddressAssignment: TcpIpStaticIpAddressConfig:
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = 1
TcpIpTlsUseClientAuthenticationRequest:
+parameter EcucBooleanParamDef
defaultValue = false
lowerMultiplicity = 0
upperMultiplicity = 1
+parameter TcpIpTlsUseSecurityExtensionRecordSizeLimit:
EcucBooleanParamDef
defaultValue = false
TcpIpTlsConnectionGetTimeFunc:
+parameter EcucFunctionNameDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpTlsConnectionGroupRef: TcpIpTlsConnectionGroup:
+reference EcucReferenceDef +destination
EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = * upperMultiplicity = *
TcpIpTlsConnectionCiphersuiteWorkerRef: TcpIpTlsCiphersuiteWorker:
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 1 lowerMultiplicity = 1
upperMultiplicity = * upperMultiplicity = *
TcpIpTlsCertificateIdentityRef: TcpIpTlsCertificateIdentity:
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 1 lowerMultiplicity = 1
upperMultiplicity = * upperMultiplicity = *
TcpIpTlsConnectionPskIdentityRef: TcpIpTlsPskIdentity:
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = * upperMultiplicity = *
10.2.49 TcpIpTlsConnection
Value
Value Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Scope / scope: local
Dependency
Scope / Dependency dependency: Informs the TLS_SERVER that a client authentication shall
be requested. Can be omitted on TLS_CLIENT side.
Name TcpIpTlsConnectionGroupRef
Parent Container TcpIpTlsConnection
Description Assigns the TLS connection to a connection group.
Multiplicity 0..*
Type Reference to [ TcpIpTlsConnectionGroup ]
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
No Included Containers
TcpIpTlsCiphersuites: TcpIpTlsCiphersuiteDefinition:
EcucParamConfContainerDef +subContainer EcucParamConfContainerDef
lowerMultiplicity = 1 lowerMultiplicity = 1
upperMultiplicity = 1 upperMultiplicity = *
TcpIpTlsCiphersuiteWorker:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
TcpIpTlsHandshake:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
TcpIpTlsCertificateIdentity:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
TcpIpTlsPskIdentity:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
10.2.50 TcpIpTlsCiphersuites
Included Containers
Container Name Multiplicity Scope / Dependency
This container provides information about the certificates used
TcpIpTlsCertificateIdentity 1..*
for ciphersuites.
This container provides the static information of a ciphersuite
TcpIpTlsCiphersuiteDefinition 1..*
used by TLS.
This container provides the jobs and keys necessary for TLS
TcpIpTlsCiphersuiteWorker 1..*
data transmission and reception.
This container provides information that is needed to process a
handshake. It contains the appropriate references to jobs and
TcpIpTlsHandshake 1..*
keys of the CSM to perform the key exchange cryptographic
for the ciphersuite and involved certificates.
This container provides information about static definition of
pre-shared keys. It is used during the handshake to negotiate
pre-shared keys between a client and a server.
Note: The callbacks for pre-shared keys are an alternative to
TcpIpTlsPskIdentity 0..*
the static definition. The callbacks allow to define the
associated keys at runtime if pre-shared keys are used but no
static definition is available. The container definition is used for
static configuration.
TcpIpTlsCiphersuiteDefinition:
TcpIpTlsCiphersuiteId:
EcucParamConfContainerDef
+parameter EcucIntegerParamDef
lowerMultiplicity = 1
min = 0
upperMultiplicity = *
max = 65535
TcpIpTlsCiphersuitePriority:
+parameter EcucIntegerParamDef
min = 1
max = 65535
TcpIpTlsCiphersuiteName:
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
+parameter TcpIpTlsUsePresharedKeys:
EcucBooleanParamDef
defaultValue = false
+parameter TcpIpTlsUseSecurityExtensionForceEncryptThenMac:
EcucBooleanParamDef
defaultValue = false
+parameter TcpIpTlsUseAEADCipher:
EcucBooleanParamDef
defaultValue = false
+parameter
+literal TLS_VERSION_V13:
EcucEnumerationLiteralDef
10.2.51 TcpIpTlsCiphersuiteDefinition
No Included Containers
TcpIpTlsCiphersuiteDefinitionRef: TcpIpTlsCiphersuiteDefinition:
+reference EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 1 lowerMultiplicity = 1
upperMultiplicity = 1 upperMultiplicity = *
TcpIpTlsCipherCsmEncryptJobRef:
CsmJob:
+reference EcucReferenceDef
+destination EcucParamConfContainerDef
lowerMultiplicity = 0
lowerMultiplicity = 1
upperMultiplicity = 1
upperMultiplicity = *
requiresSymbolicNameValue = true
TcpIpTlsCipherCsmDecryptJobRef: CsmJobId:
+reference EcucReferenceDef +destination EcucIntegerParamDef
+parameter
lowerMultiplicity = 0 min = 0
upperMultiplicity = 1 max = 4294967295
requiresSymbolicNameValue = true symbolicNameValue = true
(from Csm)
TcpIpTlsCipherCsmMacGenerateJobRef:
+reference EcucReferenceDef +destination
lowerMultiplicity = 1
upperMultiplicity = 1
requiresSymbolicNameValue = true
TcpIpTlsCipherCsmMacVerifyJobRef: +destination
+reference EcucReferenceDef
lowerMultiplicity = 1
upperMultiplicity = 1 (from Csm)
requiresSymbolicNameValue = true
TcpIpTlsCipherCsmEncryptKeyRef:
+reference EcucReferenceDef
CsmKey:
+destination
lowerMultiplicity = 0 EcucParamConfContainerDef
upperMultiplicity = 1
lowerMultiplicity = 0
requiresSymbolicNameValue = true
upperMultiplicity = *
CsmKeyId:
TcpIpTlsCipherCsmDecryptKeyRef: EcucIntegerParamDef
+parameter
+reference EcucReferenceDef +destination
symbolicNameValue = true
lowerMultiplicity = 0 min = 0
upperMultiplicity = 1 max = 4294967295
requiresSymbolicNameValue = true
(from Csm)
TcpIpTlsCipherCsmMacGenerateKeyRef:
+reference EcucReferenceDef +destination
lowerMultiplicity = 1
upperMultiplicity = 1
requiresSymbolicNameValue = true
TcpIpTlsCipherCsmMacVerifyKeyRef:
+destination
+reference EcucReferenceDef
lowerMultiplicity = 1
upperMultiplicity = 1
requiresSymbolicNameValue = true (from Csm)
TcpIpTlsCipherEncryptKeyLength:
EcucIntegerParamDef
+parameter TcpIpTlsCipherAEADCipherKeyLength:
min = 1 EcucIntegerParamDef
max = 65535
lowerMultiplicity = 0 min = 1
upperMultiplicity = 1 max = 65535
+parameter
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpTlsCipherMacKeyLength:
+parameter EcucIntegerParamDef
min = 1
max = 65535
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.52 TcpIpTlsCiphersuiteWorker
Post-build time --
Scope / Dependency scope: local
Description References the container that contains the jobs and keys for handshake
operation.
Referencing multiple handshake containers allow to share them between
workers and to choose the next unused during the handshake.
Multiplicity 1..*
Type Reference to [ TcpIpTlsHandshake ]
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
No Included Containers
TcpIpTlsHandshake:
TcpIpTlsCsmPrfMacJobRef: EcucReferenceDef CsmJob:
EcucParamConfContainerDef
+reference lowerMultiplicity = 1 +destination EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = 1 lowerMultiplicity = 1
upperMultiplicity = *
requiresSymbolicNameValue = true upperMultiplicity = *
CsmJobId:
TcpIpTlsCsmHashVerifyJobRef: EcucReferenceDef EcucIntegerParamDef
+parameter
+reference lowerMultiplicity = 1 +destination
min = 0
upperMultiplicity = 1 max = 4294967295
requiresSymbolicNameValue = true symbolicNameValue = true
(from Csm)
TcpIpTlsCsmKeyExchangeCalcPubValJobRef:
+reference EcucReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
TcpIpTlsCsmKeyExchangeCalcSecretJobRef:
+reference EcucReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
TcpIpTlsCsmKeyExchangeSignatureGenerateJobRef:
+reference EcucReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
TcpIpTlsCsmKeyExchangeSignatureVerifyJobRef:
+reference EcucReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
TcpIpTlsCsmKeyExchangeEncryptJobRef:
+reference EcucReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
TcpIpTlsCsmKeyExchangeDecryptJobRef:
+reference EcucReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
(from Csm)
CsmKey:
TcpIpTlsCsmPrfMacKeyRef: EcucReferenceDef EcucParamConfContainerDef
+reference lowerMultiplicity = 1 +destination
lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
requiresSymbolicNameValue = true
CsmKeyId:
+parameter EcucIntegerParamDef
TcpIpTlsCsmKeyExchangeKeyRef: EcucReferenceDef
+reference lowerMultiplicity = 0 +destination
upperMultiplicity = 1
requiresSymbolicNameValue = true
TcpIpTlsCsmKeyExchangeSignatureGenerateKeyRef:
+reference EcucReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
TcpIpTlsCsmKeyExchangeSignatureVerifyKeyRef:
+reference EcucReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
TcpIpTlsCsmKeyExchangeEncryptKeyRef:
+reference EcucReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
TcpIpTlsCsmKeyExchangeDecryptKeyRef:
EcucReferenceDef +destination
+reference
lowerMultiplicity = 0
upperMultiplicity = 1
requiresSymbolicNameValue = true
(from Csm)
lowerMultiplicity = 0
upperMultiplicity = 1
+literal TLS_PRF_CSM_INOUT_REDIRECT_SUPPORT:
+parameter EcucEnumerationLiteralDef
+literal TLS_PRF_CSM_FULL_SUPPORT:
EcucEnumerationLiteralDef
+literal TLS_PRF_NO_SUPPORT:
EcucEnumerationLiteralDef
10.2.53 TcpIpTlsHandshake
operation
Multiplicity 0..1
Type Symbolic name reference to [ CsmJob ]
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
Multiplicity 0..1
Type Symbolic name reference to [ CsmKey ]
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
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
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Description Reference to a CSM key associated to the CSM job that performs the PRF
hash operation
Multiplicity 1
Type Symbolic name reference to [ CsmKey ]
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
TcpIpTlsCipherKeyMLocalCertificate: KeyMCertificate:
TcpIpTlsCertificateIdentity:
EcucReferenceDef EcucParamConfContainerDef
EcucParamConfContainerDef +reference +destination
requiresSymbolicNameValue = true lowerMultiplicity = 0
lowerMultiplicity = 1
lowerMultiplicity = 0 upperMultiplicity = 65535
upperMultiplicity = *
upperMultiplicity = 1
TcpIpTlsCipherKeyMRemoteCertificate:
+reference EcucReferenceDef +destination
requiresSymbolicNameValue = true
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpTlsServerNameIdentification:
+parameter EcucStringParamDef (from KeyM)
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.54 TcpIpTlsCertificateIdentity
No Included Containers
TcpIpTlsPskIdentity: TcpIpTlsPresharedKeyIdentityHint:
EcucParamConfContainerDef +parameter EcucStringParamDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = * upperMultiplicity = 1
TcpIpTlsPresharedKeyIdentity:
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1 CsmKey:
EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpTlsPskGetServerKeyIdentityFunc:
+parameter EcucFunctionNameDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpTlsPskGetKeyIdentityHintFunc:
+parameter EcucFunctionNameDef
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.55 TcpIpTlsPskIdentity
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: The callback function < Up_TlsClientGetPskIdentity> is used
if the ciphersuite defines pre-shared key but this parameter is not present.
Multiplicity 0..1
Type Symbolic name reference to [ CsmKey ]
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
dependency: Callback <Up_Tls[Server|Client]GetPskIdentity> is used
instead if this parameter is not present.
No Included Containers
TcpIpTlsPskIdentity: TcpIpTlsPresharedKeyIdentityHint:
EcucParamConfContainerDef +parameter EcucStringParamDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = * upperMultiplicity = 1
TcpIpTlsPresharedKeyIdentity:
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1 CsmKey:
EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpTlsPskGetServerKeyIdentityFunc:
+parameter EcucFunctionNameDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpTlsPskGetKeyIdentityHintFunc:
+parameter EcucFunctionNameDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpIpSecConfigSet:
EcucParamConfContainerDef +parameter TcpIpRemoteDeviceNum:
EcucIntegerParamDef
lowerMultiplicity = 0
min = 1
upperMultiplicity = *
TcpIpIpSecSpdCalloutFunction:
+parameter EcucFunctionNameDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpIpSecCalloutHeaderFile:
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpIpSecAuditEventCalloutFunction:
+parameter EcucFunctionNameDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpSpdEntry:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
TcpIpIntegrityAlgorithm:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
TcpIpEncryptionAlgorithm:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = *
10.2.56 TcpIpIpSecConfigSet
Included Containers
Container Name Multiplicity Scope / Dependency
Container for configuration of supported encryption algorithm
transforms. This container is used to configure supported
TcpIpEncryptionAlgorithm 0..*
algorithms for ESP. The transform algorithm must be
configured in the Crypto module.
Container for configuration of supported integrity algorithm
transforms. This container is used to configure supported
TcpIpIntegrityAlgorithm 1..*
algorithms for AH. The transform algorithm must be configured
in the Crypto module.
TcpIpSpdEntry 1..* Entry of the Security Policy Database (SPD).
defaultValue = TCPIP_IPSEC_TRANSFORM_ENCR_DES
lowerMultiplicity = 1
upperMultiplicity = 1
+literal TCPIP_IPSEC_TRANSFORM_ENCR_DES: EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_AES_CCM_8:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_AES_CCM_12:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_AES_CCM_16:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_AES_GCM_8:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_AES_GCM_12:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_AES_GCM_16:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_CAMELLIA_CBC:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_CAMELLIA_CTR:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_CAMELLIA_CCM_8:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_CAMELLIA_CCM_12:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_CAMELLIA_CCM_16:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_CHACHA20_POLY1305:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_AES_CCM_8_IIV:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_AES_GCM_16_IIV:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_ENCR_CHACHA20_POLY1305_II:
EcucEnumerationLiteralDef
10.2.57 TcpIpEncryptionAlgorithm
TCPIP_IPSEC_TRANSFORM_ENCR_- --
CAMELLIA_CCM_8
TCPIP_IPSEC_TRANSFORM_ENCR_- --
CAMELLIA_CTR
TCPIP_IPSEC_TRANSFORM_ENCR_- --
CAST
TCPIP_IPSEC_TRANSFORM_ENCR_- --
CHACHA20_POLY1305
TCPIP_IPSEC_TRANSFORM_ENCR_- --
CHACHA20_POLY1305_II
TCPIP_IPSEC_TRANSFORM_ENCR_- --
DES
TCPIP_IPSEC_TRANSFORM_ENCR_- --
DES_IV32
TCPIP_IPSEC_TRANSFORM_ENCR_- --
DES_IV64
TCPIP_IPSEC_TRANSFORM_ENCR_- --
IDEA
TCPIP_IPSEC_TRANSFORM_ENCR_- --
NULL
TCPIP_IPSEC_TRANSFORM_ENCR_- --
RC5
Default value TCPIP_IPSEC_TRANSFORM_ENCR_DES
Post-Build Variant
false
Multiplicity
Post-Build Variant
false
Value
Multiplicity Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Value Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Scope / scope: local
Dependency
Included Containers
Container Name Multiplicity Scope / Dependency
Container for storing the CSM integrity transform job
TcpIpEncryptionTransformJobPai references for performing authentication. Valid for ESP
1..*
r and AH.At least one Integrity transform job pair needs to
be configured for each Integrity Algorithm.
10.2.58 TcpIpEncryptionTransformJobPair
No Included Containers
TcpIpIntegrityTransformIdentifier: EcucEnumerationParamDef
TcpIpIntegrityAlgorithm: +literal TCPIP_IPSEC_TRANSFORM_AUTH_HMAC_SHA2_256_128:
EcucParamConfContainerDef defaultValue = TCPIP_IPSEC_TRANSFORM_AUTH_HMAC_SHA2_256_128 EcucEnumerationLiteralDef
lowerMultiplicity = 1
lowerMultiplicity = 1
upperMultiplicity = 1
upperMultiplicity = *
+literal TCPIP_IPSEC_TRANSFORM_AUTH_HMAC_SHA2_384_192:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_AUTH_HMAC_SHA2_512_256:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_AUTH_HMAC_MD5_96:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_AUTH_AES_128_GMAC:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_AUTH_AES_192_GMAC:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_AUTH_AES_256_GMAC:
EcucEnumerationLiteralDef
+parameter
+literal TCPIP_IPSEC_TRANSFORM_AUTH_HMAC_SHA1_96:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_AUTH_KPDK_MD5:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_AUTH_AES_XCBC_96:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_AUTH_HMAC_MD5_128:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_AUTH_HMAC_SHA1_160:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_TRANSFORM_AUTH_AES_CMAC_96:
EcucEnumerationLiteralDef
TcpIpIntegrityTransformJobPair: TcpIpCsmGenerateJobRef:
+reference +destination CsmJob:
EcucParamConfContainerDef EcucReferenceDef CsmJobId:
EcucParamConfContainerDef
+subContainer lowerMultiplicity = 1 +parameter EcucIntegerParamDef
requiresSymbolicNameValue = true lowerMultiplicity = 1
upperMultiplicity = * min = 0
upperMultiplicity = *
+reference max = 4294967295
TcpIpCsmVerifyJobRef: +destination symbolicNameValue = true
EcucReferenceDef
(from Csm)
requiresSymbolicNameValue = true
(from Csm)
10.2.59 TcpIpIntegrityAlgorithm
Type EcucEnumerationParamDef
Range TCPIP_IPSEC_TRANSFORM_AUTH_- --
AES_128_GMAC
TCPIP_IPSEC_TRANSFORM_AUTH_- --
AES_192_GMAC
TCPIP_IPSEC_TRANSFORM_AUTH_- --
AES_256_GMAC
TCPIP_IPSEC_TRANSFORM_AUTH_- --
AES_CMAC_96
TCPIP_IPSEC_TRANSFORM_AUTH_- --
AES_XCBC_96
TCPIP_IPSEC_TRANSFORM_AUTH_- --
DES_MAC
TCPIP_IPSEC_TRANSFORM_AUTH_- --
HMAC_MD5_128
TCPIP_IPSEC_TRANSFORM_AUTH_- --
HMAC_MD5_96
TCPIP_IPSEC_TRANSFORM_AUTH_- --
HMAC_SHA1_160
TCPIP_IPSEC_TRANSFORM_AUTH_- --
HMAC_SHA1_96
TCPIP_IPSEC_TRANSFORM_AUTH_- --
HMAC_SHA2_256_128
TCPIP_IPSEC_TRANSFORM_AUTH_- --
HMAC_SHA2_384_192
TCPIP_IPSEC_TRANSFORM_AUTH_- --
HMAC_SHA2_512_256
TCPIP_IPSEC_TRANSFORM_AUTH_- --
KPDK_MD5
Default value TCPIP_IPSEC_TRANSFORM_AUTH_HMAC_SHA2_256_128
Post-Build
Variant false
Multiplicity
Post-Build
false
Variant Value
Multiplicity Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Value Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Scope / scope: local
Dependency
Included Containers
Container Name Multiplicity Scope / Dependency
Container for storing the CSM integrity transform job
TcpIpIntegrityTransformJobPai references for performing authentication. Valid for ESP and
1..*
r AH.At least one Integrity transform job pair needs to be
configured for each Integrity Algorithm.
10.2.60 TcpIpIntegrityTransformJobPair
No Included Containers
+parameter
+literal TCPIP_IPSEC_POLICY_BYPASS:
EcucEnumerationLiteralDef
+literal TCPIP_IPSEC_POLICY_DISCARD:
EcucEnumerationLiteralDef
TcpIpIpSecPriority:
EcucIntegerParamDef
+parameter
min = 0
defaultValue = 0
lowerMultiplicity = 1
upperMultiplicity = 1
+literal TCPIP_IPSEC_HDR_NONE:
EcucEnumerationLiteralDef
TcpIpLocalPortRangeStart:
EcucIntegerParamDef
+parameter
min = 1
max = 65535 TcpIpLocalPortRangeEnd:
lowerMultiplicity = 0 EcucIntegerParamDef
upperMultiplicity = 1
min = 1
+parameter
max = 65535
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpLocalIpAddrStart:
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1 TcpIpLocalIpAddrEnd:
+parameter EcucStringParamDef
lowerMultiplicity = 0
TcpIpRemIpAddrStart: upperMultiplicity = 1
+parameter EcucStringParamDef
lowerMultiplicity = 0
TcpIpRemIpAddrEnd:
upperMultiplicity = 1 EcucStringParamDef
+parameter
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpRemPortRangeStart:
EcucIntegerParamDef
+parameter
min = 1
max = 65535
lowerMultiplicity = 0 TcpIpRemPortRangeEnd:
upperMultiplicity = 1 EcucIntegerParamDef
+parameter min = 1
max = 65535
lowerMultiplicity = 0
upperMultiplicity = 1
+literal TCPIP_PROTOCOL_TCP:
EcucEnumerationLiteralDef
+parameter
+literal TCPIP_PROTOCOL_UDP:
EcucEnumerationLiteralDef
+literal TCPIP_PROTOCOL_ANY:
EcucEnumerationLiteralDef
10.2.61 TcpIpSpdEntry
TCPIP_PROTOCOL_ICMP --
TCPIP_PROTOCOL_TCP --
TCPIP_PROTOCOL_UDP --
Post-Build Variant
false
Multiplicity
Post-Build Variant
false
Value
Multiplicity Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Value Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Scope / scope: local
Dependency
No Included Containers
+container IKEConnections:
EcucParamConfContainerDef
+container IKETransforms:
EcucParamConfContainerDef
+container IKECertificates:
EcucParamConfContainerDef
10.2.62 IKE
Included Containers
Container Name Multiplicity Scope / Dependency
IKECertificates 1 Container for configuration of IKE certificates.
IKEConnections 1 Container for configuration of IKE connections.
IKEGeneral 1 General module settings.
IKETransforms 1 Container for configuration of IKE transforms.
IKEGeneral: IKEVersionInfoApi:
+parameter
EcucParamConfContainerDef EcucBooleanParamDef
defaultValue = false
(from Csm)
TcpIpSocketOwnerId:
TcpIpSocketOwner: EcucIntegerParamDef
+reference IKETcpIpSocketOwner: +destination EcucParamConfContainerDef +parameter
EcucReferenceDef min = 0
lowerMultiplicity = 1 max = 65535
requiresSymbolicNameValue = true defaultValue = 0
upperMultiplicity = *
symbolicNameValue = true
(from TcpIp)
(from TcpIp)
+subContainer
IKEMessageFormat: IKEMaxTransformsPerProp:
EcucParamConfContainerDef +parameter EcucIntegerParamDef
min = 1
max = 5
defaultValue = 5
IKEMaxAttributesPerTransform:
+parameter EcucIntegerParamDef
min = 1
max = 2
IKEMaxProposalsPerSaPayload:
defaultValue = 2
+parameter EcucIntegerParamDef
min = 1
max = 5
defaultValue = 5 IKEMaxTrafficSelectorsPerTsPayload:
EcucIntegerParamDef
+parameter
min = 1
max = 2
IKEMaxSpisPerDeletePayload: defaultValue = 2
+parameter EcucIntegerParamDef
min = 1
max = 2 IKEMaxPayloadsPerMessage:
defaultValue = 2 EcucIntegerParamDef
+parameter min = 1
max = 20
defaultValue = 20
IKEMaxNotifyPayloadsPerMessage:
+parameter EcucIntegerParamDef
min = 1
max = 10 IKEMaxCertPayloadsPerMessage:
defaultValue = 10 EcucIntegerParamDef
+parameter min = 1
max = 4
defaultValue = 4
IKEMaxCertreqPayloadsPerMessage:
+parameter EcucIntegerParamDef
min = 1
max = 4
IKEMaxDeletePayloadsPerMessage:
defaultValue = 4
EcucIntegerParamDef
+parameter min = 1
max = 2
defaultValue = 2
IKEMaxNonceSize:
+parameter EcucIntegerParamDef
min = 32
max = 512
defaultValue = 64
IKEMaxInitMessageSize:
+parameter EcucIntegerParamDef
min = 256
max = 3000
defaultValue = 512
10.2.63 IKEGeneral
Configuration Parameters
Multiplicity 1
Type EcucBooleanParamDef
Default value false
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
Multiplicity 1
Type Symbolic name reference to [ TcpIpSocketOwner ]
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
In order to deserialize the byte stream of IKE messages to
data structures memory is statically allocated. Use the
IKEMessageFormat 1 parameters in this container to minimize the used memory.
But, configuring too low maximum values might result in
unsuccessful deserializations of received IKE messages.
10.2.64 IKEMessageFormat
Post-build time --
Scope / Dependency scope: local
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
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
No Included Containers
IKEConnections:
EcucParamConfContainerDef IKEMaxNumFragments:
+parameter EcucIntegerParamDef
min = 1
max = 10
defaultValue = 3 IKEFragmentSize:
+parameter EcucIntegerParamDef
min = 576
max = 4096
IKERetransmitTries: defaultValue = 1280
+parameter EcucIntegerParamDef
min = 0
max = 255
defaultValue = 10 IKELocalPort:
EcucIntegerParamDef
+parameter min = 0
max = 65535
defaultValue = 500
IKERetransmitBase:
+parameter EcucFloatParamDef
min = 1
max = 2
defaultValue = 1.3 IKERetransmitTimeout:
+parameter EcucFloatParamDef
min = 1
max = 60
defaultValue = 1.5
IKEReassemblingTimeout:
+parameter EcucFloatParamDef
min = 0.1
max = 60
defaultValue = 0.5 IKEConnectionTimeout:
+parameter EcucFloatParamDef
min = 1
max = 60
defaultValue = 30
IKEConnection:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
10.2.65 IKEConnections
Post-build time --
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
IKEConnection 1..* Container for configuration of IKE connection.
IKEConnection: IKERemotePort:
EcucParamConfContainerDef
+parameter EcucIntegerParamDef
lowerMultiplicity = 1 min = 0
upperMultiplicity = * max = 65535
defaultValue = 500
+parameter IKEAutostart:
EcucBooleanParamDef
IKEConnectionId:
+parameter EcucIntegerParamDef
min = 0
max = 4294967295
IKEDpdDelay: defaultValue = 0
+parameter EcucFloatParamDef
min = 0
max = 1000000000
defaultValue = 30 IKEIkeLifetime:
+parameter EcucFloatParamDef
min = 0
max = 1000000000
IKEIkeMarginTime: defaultValue = 86400
+parameter EcucFloatParamDef
min = 10
max = 1000000000
defaultValue = 600
lowerMultiplicity = 2
IKETrustAnchorCertificateRef: +destination upperMultiplicity = 65534
+reference EcucReferenceDef
lowerMultiplicity = 0
upperMultiplicity = 1
IKESession: IKEChildSaProposal:
EcucParamConfContainerDef +subContainer EcucParamConfContainerDef
lowerMultiplicity = 1 lowerMultiplicity = 1
upperMultiplicity = 255 upperMultiplicity = 65536
IKEIkeSaProposal:
+subContainer +subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
IKESignatureAuthenticationVariant:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
IKEECUPreSharedKeyRef: CsmKey:
+reference EcucReferenceDef CsmKeyId:
+destination EcucParamConfContainerDef
+parameter EcucIntegerParamDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = * symbolicNameValue = true
requiresSymbolicNameValue = true min = 0
max = 4294967295
10.2.66 IKEConnection
maxLength --
minLength --
regularExpression --
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
IKESession 1..255 Container for configuration of IKE session.
10.2.67 IKESession
Included Containers
Container Name Multiplicity Scope / Dependency
Container for configuration of IKE Authentication Header
IKEChildSaProposal 1..65536 (AH) or Encapsulating Security Payload (ESP) Security
Association Proposals.
Container for configuration of IKE IKE Security
IKEIkeSaProposal 1..*
Association Proposal.
IKESignatureAuthenticationVarian Defining variants for the IKEv2 Authentication Method
1..*
t "Digitial Signature".
IKEChildSaProposal:
EcucParamConfContainerDef IKESecurityProtocol:
+literal IKE_PROTOCOL_AH:
EcucEnumerationParamDef
EcucEnumerationLiteralDef
lowerMultiplicity = 1
+parameter defaultValue = IKE_PROTOCOL_AH
upperMultiplicity = 65536
+literal IKE_PROTOCOL_ESP:
EcucEnumerationLiteralDef
+parameter IKEUseExtendedSequenceNumbers:
EcucBooleanParamDef
defaultValue = true
TcpIpIntegrityAlgorithm:
+reference IKEIntegTransformRef: +destination EcucParamConfContainerDef
EcucReferenceDef
lowerMultiplicity = 1
upperMultiplicity = *
(from TcpIpIpSec)
IKEEncrTransformRef: TcpIpEncryptionAlgorithm:
+reference +destination
EcucReferenceDef EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
(from TcpIpIpSec)
10.2.68 IKEChildSaProposal
No Included Containers
IKEEncrTransform:
IKEIkeSaProposal:
+reference IKEEncrTransformRef: +destination EcucParamConfContainerDef
EcucParamConfContainerDef
EcucReferenceDef
lowerMultiplicity = 1
lowerMultiplicity = 1 upperMultiplicity = *
upperMultiplicity = *
IKEPrfTransform:
+reference IKEPrfTransformRef: +destination EcucParamConfContainerDef
EcucReferenceDef
lowerMultiplicity = 1
upperMultiplicity = *
IKEIntegTransform:
+reference IKEIntegTransformRef: +destination EcucParamConfContainerDef
EcucReferenceDef
lowerMultiplicity = 1
upperMultiplicity = *
IKEDhTransform:
+reference IKEDhTransformRef: +destination EcucParamConfContainerDef
EcucReferenceDef
lowerMultiplicity = 1
upperMultiplicity = *
10.2.69 IKEIkeSaProposal
No Included Containers
+literal IKE_SIGNATURE_DSA:
EcucEnumerationLiteralDef
+parameter
+literal IKE_SIGNATURE_ECDSA:
EcucEnumerationLiteralDef
+literal IKE_SIGNATURE_RSASSA_PSS:
EcucEnumerationLiteralDef
defaultValue = IKE_HASH_ALGO_SHA1
lowerMultiplicity = 1
upperMultiplicity = 1 +literal IKE_HASH_ALGO_SHA2_512:
EcucEnumerationLiteralDef
+parameter
+literal IKE_HASH_ALGO_SHA2_384:
EcucEnumerationLiteralDef
+literal
IKE_HASH_ALGO_SHA2_256:
EcucEnumerationLiteralDef
IKESignatureLength:
+parameter EcucIntegerParamDef
min = 64
max = 1024
defaultValue = 96
IKESignatureGenerateJobRef: CsmJob:
+reference +destination
EcucReferenceDef EcucParamConfContainerDef CsmJobId:
+parameter EcucIntegerParamDef
requiresSymbolicNameValue = true lowerMultiplicity = 1
upperMultiplicity = * min = 0
max = 4294967295
IKESignatureVerifyJobRef: +destination symbolicNameValue = true
+reference
EcucReferenceDef
(from Csm)
requiresSymbolicNameValue = true
(from Csm)
10.2.70 IKESignatureAuthenticationVariant
No Included Containers
IKETransforms: IKEEncrTransform:
EcucParamConfContainerDef +subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
IKEPrfTransform:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
IKEIntegTransform:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
IKEDhTransform:
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
10.2.71 IKETransforms
Included Containers
Container Name Multiplicity Scope / Dependency
IKEDhTransform 1..* Container for configuration of Diffie-Hellman Group Transform.
IKEEncrTransform 1..* Container for configuration of Encryption Algorithm Transform.
IKEIntegTransform 1..* Container for configuration of Integrity Algorithm Transform.
Container for configuration of Pseudorandom Function
IKEPrfTransform 1..*
Transform.
IKEDhTransform: CsmKeyId:
IKEKeyRef: EcucReferenceDef CsmKey:
EcucParamConfContainerDef +reference +destination EcucParamConfContainerDef EcucIntegerParamDef
+parameter
lowerMultiplicity = 1 requiresSymbolicNameValue = true
lowerMultiplicity = 0 symbolicNameValue = true
upperMultiplicity = * min = 0
upperMultiplicity = *
max = 4294967295
(from Csm)
(from Csm)
+parameter
+literal IKE_TRANSFORM_DH_1024_BIT_MODP_GROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_1536_BIT_MODP_GROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_2048_BIT_MODP_GROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_3072_BIT_MODP_GROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_4096_BIT_MODP_GROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_6144_BIT_MODP_GROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_8192_BIT_MODP_GROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_256_BIT_RANDOM_ECP_GROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_384_BIT_RANDOM_ECP_GROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_521_BIT_RANDOM_ECP_GROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_1024_BIT_MODP_GROUP_WITH_160_BIT_PRIME_ORDER_SUBGROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_2048_BIT_MODP_GROUP_WITH_224_BIT_PRIME_ORDER_SUBGROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_2048_BIT_MODP_GROUP_WITH_256_BIT_PRIME_ORDER_SUBGROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_192_BIT_RANDOM_ECP_GROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_224_BIT_RANDOM_ECP_GROUP:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_BRAINPOOLP224R1:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_BRAINPOOLP256R1:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_BRAINPOOLP384R1:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_BRAINPOOLP512R1:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_CURVE25519:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_DH_CURVE448:
EcucEnumerationLiteralDef
10.2.72 IKEDhTransform
GROUP
IKE_TRANSFORM_DH_- --
BRAINPOOLP224R1
IKE_TRANSFORM_DH_- --
BRAINPOOLP256R1
IKE_TRANSFORM_DH_- --
BRAINPOOLP384R1
IKE_TRANSFORM_DH_- --
BRAINPOOLP512R1
IKE_TRANSFORM_DH_CURVE25519 --
IKE_TRANSFORM_DH_CURVE448 --
Default value IKE_TRANSFORM_DH_256_BIT_RANDOM_ECP_GROUP
Post-Build
Variant false
Multiplicity
Post-Build
false
Variant Value
Multiplicity Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Value Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Scope / scope: local
Dependency
No Included Containers
IKEEncrTransform: IKEKeyLength:
EcucParamConfContainerDef
+parameter EcucIntegerParamDef
lowerMultiplicity = 1 min = 0
upperMultiplicity = * max = 255
defaultValue = 16
(from Csm)
+parameter
+literal IKE_TRANSFORM_ENCR_AES_CBC:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_DES:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_3DES:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_RC5:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_IDEA:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_CAST:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_BLOWFISH:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_3IDEA:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_DES_IV32:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_AES_CTR:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_AES_CCM_8:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_AES_CCM_12:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_AES_CCM_16:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_AES_GCM_8:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_AES_GCM_12:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_AES_GCM_16:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_CAMELLIA_CBC:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_CAMELLIA_CTR:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_CAMELLIA_CCM_8:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_CAMELLIA_CCM_12:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_CAMELLIA_CCM_16:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_ENCR_CHACHA20_POLY1305:
EcucEnumerationLiteralDef
10.2.73 IKEEncrTransform
IKE_TRANSFORM_ENCR_CAMELLIA_- --
CCM_12
IKE_TRANSFORM_ENCR_CAMELLIA_- --
CCM_16
IKE_TRANSFORM_ENCR_CAMELLIA_- --
CCM_8
IKE_TRANSFORM_ENCR_CAMELLIA_- --
CTR
IKE_TRANSFORM_ENCR_CAST --
IKE_TRANSFORM_ENCR_CHACHA20_- --
POLY1305
IKE_TRANSFORM_ENCR_DES --
IKE_TRANSFORM_ENCR_DES_IV32 --
IKE_TRANSFORM_ENCR_DES_IV64 --
IKE_TRANSFORM_ENCR_IDEA --
IKE_TRANSFORM_ENCR_RC5 --
Default value IKE_TRANSFORM_ENCR_AES_CBC
Post-Build Variant
false
Multiplicity
Post-Build Variant
false
Value
Multiplicity Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Value Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Scope / scope: local
Dependency
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
No Included Containers
(from Csm)
+parameter
+literal IKE_TRANSFORM_AUTH_HMAC_SHA1_96:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_AUTH_DES_MAC:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_AUTH_KPDK_MD5:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_AUTH_AES_XCBC_96:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_AUTH_HMAC_MD5_128:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_AUTH_HMAC_SHA1_160:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_AUTH_AES_CMAC_96:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_AUTH_HMAC_SHA2_256_128:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_AUTH_HMAC_SHA2_384_192:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_AUTH_HMAC_SHA2_512_256:
EcucEnumerationLiteralDef
10.2.74 IKEIntegTransform
Multiplicity 1
Type Symbolic name reference to [ CsmJob ]
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
No Included Containers
CsmJob:
IKEPrfTransform: EcucParamConfContainerDef CsmJobId:
EcucParamConfContainerDef +reference IKEJobRef: EcucReferenceDef +destination
+parameter EcucIntegerParamDef
lowerMultiplicity = 1
lowerMultiplicity = 1 requiresSymbolicNameValue = true
upperMultiplicity = * min = 0
upperMultiplicity = * max = 4294967295
symbolicNameValue = true
(from Csm)
(from Csm)
+parameter
+literal IKE_TRANSFORM_PRF_HMAC_SHA1:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_PRF_HMAC_TIGER:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_PRF_AES128_XCBC:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_PRF_HMAC_SHA2_256:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_PRF_HMAC_SHA2_384:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_PRF_HMAC_SHA2_512:
EcucEnumerationLiteralDef
+literal IKE_TRANSFORM_PRF_AES128_CMAC:
EcucEnumerationLiteralDef
10.2.75 IKEPrfTransform
256
IKE_TRANSFORM_PRF_HMAC_SHA2_- --
384
IKE_TRANSFORM_PRF_HMAC_SHA2_- --
512
IKE_TRANSFORM_PRF_HMAC_TIGER --
Default value IKE_TRANSFORM_PRF_HMAC_SHA2_256
Post-Build Variant
false
Multiplicity
Post-Build Variant
false
Value
Multiplicity Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Value Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Scope / scope: local
Dependency
No Included Containers
IKECertificates: IKEMaxPublicKeyLength:
EcucParamConfContainerDef +parameter EcucIntegerParamDef
min = 64
max = 4096
defaultValue = 96
IKEMaxSubjectNameSize: CsmKeyId:
EcucIntegerParamDef EcucIntegerParamDef
+parameter
min = 32 symbolicNameValue = true
max = 1024 min = 0
defaultValue = 256 max = 4294967295
IKECertificateBufferRef:
+reference EcucReferenceDef
CsmKey:
+destination
lowerMultiplicity = 2 EcucParamConfContainerDef
upperMultiplicity = 2
lowerMultiplicity = 0
requiresSymbolicNameValue = true
upperMultiplicity = *
+reference
IKECertificate: IKEIssuerCertificateRef:
EcucParamConfContainerDef EcucReferenceDef
lowerMultiplicity = 2 lowerMultiplicity = 1
upperMultiplicity = 65534 +destination upperMultiplicity = 1
+subContainer
KEIdentityCertificateRef:
+reference EcucReferenceDef +destination
lowerMultiplicity = 1
upperMultiplicity = 1
requiresSymbolicNameValue = true
(from Csm)
10.2.76 IKECertificates
Included Containers
Container Name Multiplicity Scope / Dependency
Container for configuration of an identity certificate and its
issuer certificate.
IKECertificate 2..65534
Use this container to configure a valid chain of certificates. The
top-level certificate must be a self-signed certificate.
TcpIpTlsPskIdentity: TcpIpTlsPresharedKeyIdentityHint:
EcucParamConfContainerDef +parameter EcucStringParamDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = * upperMultiplicity = 1
TcpIpTlsPresharedKeyIdentity:
+parameter EcucStringParamDef
lowerMultiplicity = 0
upperMultiplicity = 1 CsmKey:
EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpTlsPskGetServerKeyIdentityFunc:
+parameter EcucFunctionNameDef
lowerMultiplicity = 0
upperMultiplicity = 1
TcpIpTlsPskGetKeyIdentyHintFunc:
+parameter EcucFunctionNameDef
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.77 IKECertificate
Link time --
Post-build time --
Scope / Dependency scope: local
No Included Containers