Provided by: can-utils_2023.03-1_amd64 bug

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