can: isotp: add SF_BROADCAST support for functional addressing
authorOliver Hartkopp <socketcan@hartkopp.net>
Sun, 6 Dec 2020 14:47:31 +0000 (15:47 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Feb 2022 11:00:56 +0000 (12:00 +0100)
commit4578b979ef61bbda8ea594899110e983c2c0fa00
tree9d1aedb8c6a68fa547b2451c629ffa58cceb5e1e
parent5d42865fc311af63785c9aa45ca30d1717c1c653
can: isotp: add SF_BROADCAST support for functional addressing

commit 921ca574cd382142add8b12d0a7117f495510de5 upstream.

When CAN_ISOTP_SF_BROADCAST is set in the CAN_ISOTP_OPTS flags the CAN_ISOTP
socket is switched into functional addressing mode, where only single frame
(SF) protocol data units can be send on the specified CAN interface and the
given tp.tx_id after bind().

In opposite to normal and extended addressing this socket does not register a
CAN-ID for reception which would be needed for a 1-to-1 ISOTP connection with a
segmented bi-directional data transfer.

Sending SFs on this socket is therefore a TX-only 'broadcast' operation.

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Thomas Wagner <thwa1@web.de>
Link: https://lore.kernel.org/r/20201206144731.4609-1-socketcan@hartkopp.net
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/uapi/linux/can/isotp.h
net/can/isotp.c