cangw(1)
manual page for cangw 2020.11.0-1
Description
CANGW
NAME
cangw - manual page for cangw 2020.11.0-1
SYNOPSIS
cangw [options]
DESCRIPTION
cangw - manage PF_CAN netlink gateway.
Commands:
|
-A |
(add a new rule) |
|||
|
-D |
(delete a rule) |
|||
|
-F |
(flush / delete all rules) |
|||
|
-L |
(list all rules) |
Mandatory:
-s <src_dev>
(source netdevice)
-d <dst_dev>
(destination netdevice)
OPTIONS
|
-X |
(this is a CAN FD rule) |
|||
|
-t |
(preserve src_dev rx timestamp) |
|||
|
-e |
(echo sent frames - recommended on vcanx) |
|||
|
-i |
(allow to route to incoming interface) |
-u <uid>
(user defined modification identifier)
-l <hops>
(limit the number of frame hops / routings)
-f <filter>
(set CAN filter)
-m <mod>
(set Classic CAN frame modifications)
-M <MOD>
(set CAN FD frame modifications)
-x <from_idx>:<to_idx>:<result_idx>:<init_xor_val>
(XOR checksum)
-c <from>:<to>:<result>:<init_val>:<xor_val>:<crctab[256]>
(CRC8 cs)
-p <profile>:[<profile_data>]
(CRC8 checksum profile & parameters)
Values are given and expected in hexadecimal values. Leading 0s can be omitted.
<filter> is a <value><mask> CAN identifier filter:
<can_id>:<can_mask>
(matches when <received_can_id> & mask == can_id & mask)
<can_id>˜<can_mask>
(matches when <received_can_id> & mask != can_id & mask)
<mod> is a
CAN frame modification instruction consisting of
<instruction>:<can_frame-elements>:<can_id>.<can_dlc>.<can_data>
<instruction>
is one of ’AND’ ’OR’ ’XOR’ ’SET’
<can_frame-elements>
is _one_ or _more_ of ’I’dentifier ’L’ength ’D’ata
<can_id>
is an u32 value containing the CAN Identifier
<can_dlc>
is an u8 value containing the data length code (0 .. 8)
<can_data>
is always eight(!) u8 values containing the CAN frames data
<MOD> is a
CAN FD frame modification instruction consisting of
<instruction>:<canfd_frame-elements>:<can_id>.<flags>.<len>.<can_data>
<instruction>
is one of ’AND’ ’OR’ ’XOR’ ’SET’
<canfd_frame-elements>
is _one_ or _more_ of ’I’d ’F’lags ’L’ength ’D’ata
<can_id>
is an u32 value containing the CAN FD Identifier
<flags>
is an u8 value containing CAN FD flags (CANFD_BRS, CANFD_ESI)
|
<len> |
is an u8 value containing the data length (0 .. 64) |
<can_data>
is always 64(!) u8 values containing the CAN FD frames data
The max. four modifications are performed in the order AND -> OR -> XOR -> SET
Supported CRC 8 profiles:
Profile ’1’ (1U8)
add one additional u8 value
Profile ’2’ (16U8)
add u8 value from table[16] indexed by (data[1] & 0xF)
Profile ’3’ (SFFID_XOR)
add u8 value (can_id & 0xFF) ˆ (can_id >> 8 & 0xFF)
EXAMPLES
cangw -A -s can0 -d vcan3 -e -f 123:C00007FF -m SET:IL:333.4.1122334455667788