Provided by: can-utils_2023.03-1_amd64
NAME
cangw - manual page for cangw 2023.03-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 Classical 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 Classical 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 in hex (0 .. F) <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 in hex (0 .. 40) <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