tracetronic: Ethernet¶
Vendor information
Vendor |
Web page |
Product name |
Version |
|---|---|---|---|
tracetronic GmbH |
Ethernet Library |
Categories
MDL 🛈 |
APL 🛈 |
BAN 🛈 |
BMA 🛈 |
SVC 🛈 |
DGN 🛈 |
FIU 🛈 |
EES 🛈 |
FCT 🛈 |
DBG 🛈 |
IMG 🛈 |
AUDIO 🛈 |
ENVSIM 🛈 |
ENVCOM 🛈 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
Platform
Operating system |
Support |
|---|---|
Windows |
✓ |
Linux |
✓ |
Ports¶
Info
Ports marked with ✦ are part of the Add-on ecu.test calibration (subject to a separate license)
- Port APPLICATION - XCP-ETH
✦ - Port BUSACCESS - CAPTURE-CAN(-FD)
- Port BUSACCESS - CAPTURE-FLX
- Port BUSACCESS - CAPTURE-LIN
- Port BUSACCESS - IEEE1722-CAN(-FD)
- Port BUSACCESS - SOCKETADAPTOR
- Port DIAGNOSTICS - DOIP-PCAP
- Port DIAGNOSTICS - DOIP-SOCKET
- Port DIAGNOSTICS - DOSOAD-SOCKET
- Port DIAGNOSTICS - IEEE1722-J1939
- Port DIAGNOSTICS - SOVD-SOCKET
- Port LOGGING - DLT-VERBOSE
- Port MODELACCESS - CAPTURE-ANALOG
- Port SERVICEACCESS - ARP
- Port SERVICEACCESS - DDS
- Port SERVICEACCESS - ETHERNET-RAW
- Port SERVICEACCESS - IPSEC
- Port SERVICEACCESS - MACSEC
- Port SERVICEACCESS - SERVICE
- Port SERVICEACCESS - SERVICE-PCAP-PASSIVE
- Port SERVICEACCESS - TCP-CLIENT-PCAP-SOCKET
- Port SERVICEACCESS - TCP-CLIENT-SOCKET
- Port SERVICEACCESS - TCP-SERVER-PCAP-SOCKET
- Port SERVICEACCESS - TCP-SERVER-SOCKET
- Port SERVICEACCESS - TLS
- Port SERVICEACCESS - UDP-PCAP-SOCKET
- Port SERVICEACCESS - UDP-RAW
- Port SERVICEACCESS - UDP-SOCKET
Specifics¶
The tool adapter Ethernet has primarily been developed to enable the control of Ethernet based control units. Furthermore individual applications for simulation, diagnostics and functional validation can be realized based on the Ethernet connector. The possible application scenarios are not limited to the control unit domain; the tool adapter can be used anywhere Ethernet based network technologies are used. The protocols Ethernet, ARP, NDP, IP, ICMP, TCP and UDP are the basis for this. Moreover, ecu.test supports the user when using the middle ware technologies SOME/IP and SOME/IP-SD that become more and more important in the automotive industry. The main focus of the port types introduced in the following is on the basic network operations SEND and RECEIVE as well as on the recording of measurement data. The resulting recordings in PCAP format can be processed and analyzed with the trace analysis module.
Further information about how to use services offered via SOME/IP is found in section Service access.
Furthermore, ecu.test can receive PLP/TECMP frames which are sent by so-called probes/devices to data loggers, and thus receive and process the same CAN/CAN-FD, LIN and FlexRay bus traffic that the logger is recording. Also diagnostic via ethernet, based on the Diagnostic over Internet Protocol (DoIP) is supported.
Info
The ports DOIP-SOCKET, DOIP-PCAP and DOSOAD-SOCKET can only be used with the Add-on ecu.test diagnostics
Info
Ethernet measurement devices by Vector Informatik GmbH can be used via the Tool Vector: XL API.
Prerequisites
Working with this tool adapter requires basic knowledge of the used network protocols as well as working with Python object structures.
Installation of a PCAP driver (e.g. Npcap) is necessary for PCAP based Ports on Windows.
Using Npcap 1.70 and newer in conjunction with 802.1q “tagged VLAN” can have limitations regarding the recording of outgoing frames.
With Npcap 1.86 and 1.87, problems have been observed. These versions are not recommended.
Protocol, Diagnostic ans Service Port types
Port |
Description |
Properties |
Field of application |
|---|---|---|---|
|
|
||
|
|
|
|
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|
|
|
|
|
|
|
|
|||
|
|||
|
|||
|
|||
|
|
|
|
|
|||
|
Bus Port types
Port |
Description |
Properties |
|---|---|---|
|
|
|
|
||
|
||
|
|
|
|
|
|
|
|
|
|
Application Port types
Port |
Description |
Properties |
|---|---|---|
Measurement and calibration with XCP |
|
General
Configuration
Set port option “Autostart” to “Always” in the test bench configuration to make sure the tool is started (the default “If necessary” normally won’t work for Ethernet ports due missing dependencies).
Data objects
To efficiently create and evaluate network packet structures special Python data structures have been developed. An API documentation for working with these structures can be found under Ethernet API in the ecu.test installation directory.
Receiving data
If data reception of a port has been started, received packets are stored in a ring buffer data structure. They can be fetched from the buffer via the tool job ReceivePackage by the test case. Packets that has already been fetched from the buffer cannot be fetched again. So fetched data objects have to be stored in variables if needed for further processing.
If it cannot be ensured that a packet has already been received and stored in the ring buffer when calling ReceivePackage it is recommended to enable the Wait until true time option and select ~Present~ as comparison condition.
Notes regarding local use
Using the localhost IP address (127.0.0.1), e.g. for testing and simulation purposes, has the following restriction. Connections between ports based on the socket library of the OS (TCP-CLIENT-SOCKET, TCP-SERVER-SOCKET, UDP-PCAP-SOCKET or external applications) and ports belonging to the network family with own network stack (TCP-CLIENT-PCAP-SOCKET, TCP-SERVER-PCAP-SOCKET, ETHERNET-RAW, UDP-RAW, etc.) CANNOT be established. This restriction is determined by the OS and applies to local communication only.
Notes regarding VLAN
When using VLAN in combination with consumer-grade network drivers and npcap, a bug (https://github.com/nmap/npcap/issues/171) exists that can cause the VLAN tags to be dropped for incoming packets. As a workaround, the receive filter accepts packets with or without VLAN tags. In network segments where packets with and without VLAN tags (tagged and untagged) are mixed, errors can occur as a result.
The workaround only applies when receiving. For sending, the VLAN tag from the TBC is used.
Notes regarding PLP/TECMP access
The main prerequisite is that the bus activity is being captured by so-called Probes/Devices and transferred to a logger via PLP/TECMP. This logger needs to be configured to mirror this PLP/TECMP traffic to an ethernet port. Connect a network adapter of the PC running ecu.test to this port.
In the test bench configuration, that network adapter must be chosen. Moreover, the Probe ID/Device-ID and Bus Spec ID/Interface-ID may be provided as filter. These two parameters can usually be found in the data logger’s configuration.
Transmitting via PLP/TECMP is not supported.
ecu.test is not able to directly interface with a Probe/Device (without a data logger). PLP capable data loggers are e.g. some models of x2e XORAYA and ViGEM CCA.
Notes for use under Linux
Sent messages cannot be recorded by the same port. Another port will be needed for recording.
Ports for bus access (CAPTURE, SOCKET-ADAPTOR) currently cannot be used unter Linux.
With the exception of the port types categorized as “based on the socket library of the OS” in the above table, using this tool inside a container (e.g. Docker) requires the container to have the capabilities CAP_NET_RAW and CAP_NET_ADMIN assigned to it.
Notes about IPsec
Currently only IPv4 is supported, no IPv6. Also, only AH and transport mode are implemented, not ESP, nor tunnel mode. Dead Peer Detection, or, more precisely, Liveness Checks, are currently neither transmitted nor answered.
The configuration requires various certificates and keys. These must be provided in PEM format (ASCII base64). The binary DER format is not supported.
Algorithms/modes are specified as follows:
Square brackets group algorithms to be used together (“proposal”).
Such groups, as well as algorithms within a group, are separated using commas.
For algorithms with variable key length, the algorithm name is followed by a colon and then by the key length in bits.
For IKE, one algorithm of each kind (except sequence numbers) is required.
For AH, one integrity algorithm and one sequence number mode is needed.
The following algorithms are supported:
Designation |
Kind |
Use |
Variable key length? |
|---|---|---|---|
AUTH_AES_CMAC_96 |
integrity |
AH |
no |
AUTH_HMAC_SHA2_256_128 |
integrity |
IKE |
no |
AUTH_HMAC_SHA2_384_192 |
integrity |
IKE |
no |
AUTH_HMAC_SHA2_512_256 |
integrity |
AH, IKE |
no |
DH_GROUP_19 |
key exchange |
IKE |
no |
DH_GROUP_20 |
key exchange |
IKE |
no |
ENCR_AES_CBC |
encryption |
IKE |
yes |
ENCR_AES_CTR |
encryption |
IKE |
yes |
ENCR_CAMELLIA_CBC |
encryption |
IKE |
yes |
ENCR_CAMELLIA_CTR |
encryption |
IKE |
yes |
ESN |
sequence numbers |
AH |
no |
NO_ESN |
sequence numbers |
AH |
no |
PRF_HMAC_SHA2_256 |
pseudo random numbers |
IKE |
no |
PRF_HMAC_SHA2_384 |
pseudo random numbers |
IKE |
no |
PRF_HMAC_SHA2_512 |
pseudo random numbers |
IKE |
no |
Decrypted IKEv2 packets
IKEv2 packets can automatically be decrypted by trace analysis.
For this purpose a file ikev2_decryption_table is required, which will be created by
ecu.test and saved in the report directory alongside the pcapng file if signal recording is
used.
The file ikev2_decryption_table corresponds to the format used by Wireshark, so the file may
be copied to e.g. %APPDATA%/Wireshark in order to be able to decrypt and examine the IKEv2
packets of the recording inside Wireshark as well.
Notes about MACsec
Currently only integrity without confidentiality is supported.
Algorithms/modes are specified as follows:
All desired algorithms are written in square brackets separated by a comma
‘GCM-AES-128’ is the default algorithm and will always be enabled
The following algorithms are supported:
Designation |
Extended packet numbering? |
|---|---|
GCM-AES-128 |
no |
GCM-AES-XPN-128 |
yes |
GCM-AES-256 |
no |
GCM-AES-XPN-256 |
yes |
Properties 🛈¶
Name |
Available if |
Default value |
Valid values |
Type |
Description |
|---|---|---|---|---|---|
Validation |
☐ |
bool |
If enabled, area boundaries are checked when certain network data objects are parametrized. |
||
Timeout for tool call ❲in sec.❳ |
‘600’ |
string |
Timeout after which a tool call is aborted. |
Jobs 🛈¶
ClearArpCache¶
Clears all entries from the internal ARP/NDP cache