BMCLI route
Message routing between channels.
route add
Section titled “route add”Routes are a hardware feature: the route table lives in one device’s firmware
and can only forward between that device’s own ports. --src and --dst are
therefore resolved to device-local port numbers, and --src/--dst must be
on the same device — cross-device routing is rejected (see error below).
# Route all messages from 10356/CH1 to 10356/CH2 (SN/port, same device)bmcli route add --src=10356/0 --dst=10356/1
# Route specific message IDbmcli route add --src=10356/0 --dst=10356/1 --message=0x100
# Broadcast to multiple ports on the same device (--dst is a raw port bitmask,# e.g. 0x0E = ports 1,2,3; NOT SN/port-resolvable)bmcli route add --src=10356/0 --dst=0x0E --type=broadcast
# Route only CAN FD framesbmcli route add --src=10356/0 --dst=10356/1 --flags=fdfCross-device error (hardware cannot do this):
ERROR: Hardware route cannot cross devices: src 10356 -> dst 10357. Routes are confined to one device's own ports.| Option | Default | Description |
|---|---|---|
--src |
(required) | Source channel (SN/port, UID/port, legacy index, or name) |
--dst |
(required) | Destination: unicast → channel spec (must be same device as --src); broadcast → raw port bitmask (e.g. 0x0E) |
--message / --id |
all | Match one exact CAN ID; omit to route all IDs |
--type |
unicast |
unicast or broadcast |
--flags |
none | Match the exact supplied flags value |
route remove
Section titled “route remove”bmcli route remove --src=10356/0 --dst=10356/1 --message=0x100| Option | Description |
|---|---|
--src |
Source channel (required; SN/port or legacy index) |
--dst |
Match only routes to this destination (SN/port or raw target value) |
--message |
Match only routes with this CAN ID |
route list
Section titled “route list”bmcli route list --channel=0bmcli route list --channel=0 --format=jsonSource of truth: bmcli_reference.md in the BMCLI repository. Run bmcli help <category> <action> --format=json for the exact contract of the installed version.