-
Notifications
You must be signed in to change notification settings - Fork 896
Description
I’d like to set capture filter for CAN ID.
Either specific CAN ID variable, or being able to specify which bytes of the payload to match.
Similar to this for selecting ID 5c2:
ether[2:2] == 0x05c2
That “ether” filter will not work, because the device type is SocketCAN.
However, that above filter does actually work if reading from a captured file.
I would like to be able to filter at the capture stage.
From current code:
case DLT_CAN_SOCKETCAN:
bpf_error(cstate, "CAN link-layer type filtering not implemented");
CAN only has an ID, length, and payload (of up to 8 bytes).
Even if we can only filter with specific bytes, that would be enough.
For instance, something like this maybe:
can[2:2] == 0x05c2
At least that way, we could define what bytes in the packet to filter for the CAN type.
Thanks
Paul.