can: add ISO 15765-2:2016 transport protocol
authorOliver Hartkopp <socketcan@hartkopp.net>
Mon, 28 Sep 2020 20:04:04 +0000 (22:04 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Wed, 7 Oct 2020 21:18:33 +0000 (23:18 +0200)
commite057dd3fc20ffb3d7f150af46542a51b59b90127
treedc0ad6e815790fb430489015a853f3851a61c35a
parent1c47fa6b31c2683f03bc2f9174902bb7dcd35d83
can: add ISO 15765-2:2016 transport protocol

CAN Transport Protocols offer support for segmented Point-to-Point
communication between CAN nodes via two defined CAN Identifiers.
As CAN frames can only transport a small amount of data bytes
(max. 8 bytes for 'classic' CAN and max. 64 bytes for CAN FD) this
segmentation is needed to transport longer PDUs as needed e.g. for
vehicle diagnosis (UDS, ISO 14229) or IP-over-CAN traffic.
This protocol driver implements data transfers according to
ISO 15765-2:2016 for 'classic' CAN and CAN FD frame types.

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Link: https://lore.kernel.org/r/20200928200404.82229-1-socketcan@hartkopp.net
[mkl: Removed "WITH Linux-syscall-note" from isotp.c.
      Fixed indention, a checkpatch warning and typos.
      Replaced __u{8,32} by u{8,32}.
      Removed always false (optlen < 0) check in isotp_setsockopt().]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
MAINTAINERS
include/uapi/linux/can/isotp.h [new file with mode: 0644]
net/can/Kconfig
net/can/Makefile
net/can/isotp.c [new file with mode: 0644]