Test access points (TAP)
A test access point (TAP) lets you view the raw traffic on an Ethernet channel, including traffic between ECUs that don't use a broker. Traffic on the channel is mirrored so that it can be passively observed without affecting the actual ECU communication.
When enabled, a namespace is created for each tapped socket. These namespaces are prefixed with tap_ and can be subscribed to like a standard namespace to receive signals.
Testing is a common use case. Since TAP observes the channel rather than a specific implementation, the same test can be reused whether the ECU is a behavioral model, a container, an external simulation or hardware.
TAP requires the Ethernet channel to use the RemotiveBus driver, which is available on Linux, including WSL on Windows. On macOS, run RemotiveTopology in a Linux virtual machine to use TAP.
Enabling TAP
TAP is off by default. To enable it, add a tap_config to the channel:
channels:
BodyEth:
type: ethernet
tap_config:
type: socket
mode: all
To tap only specific sockets, use mode: selection and list the socket names:
channels:
BodyEth:
type: ethernet
tap_config:
type: socket
mode: selection
sockets:
- BCM_socket1
- BCM_socket2
type:socketis currently the only TAP type.mode:alltaps all sockets,selectiontaps only the listed sockets,noneturns off tapping.sockets: required whenmodeisselection.
Tapping hardware
TAP namespaces are only created for ECUs that are defined in the instance. When using hardware, make sure that the ECUs are included and defined as external, and that the channel is bridged to a physical device:
ecus:
FLCM:
external: {}