Skip to main content

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: socket is currently the only TAP type.
  • mode: all taps all sockets, selection taps only the listed sockets, none turns off tapping.
  • sockets: required when mode is selection.

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: {}