Skip to content

Commit

Permalink
can: isotp: set max PDU size to 64 kByte
Browse files Browse the repository at this point in the history
commit 9c0c191d82a1de964ac953a1df8b5744ec670b07 upstream

The reason to extend the max PDU size from 4095 Byte (12 bit length value)
to a 32 bit value (up to 4 GByte) was to be able to flash 64 kByte
bootloaders with a single ISO-TP PDU. The max PDU size in the Linux kernel
implementation was set to 8200 Bytes to be able to test the length
information escape sequence.

It turns out that the demand for 64 kByte PDUs is real so the value for
MAX_MSG_LENGTH is set to 66000 to be able to potentially add some checksums
to the 65.536 Byte block.

Link: linux-can/can-utils#347 (comment)
Link: https://lore.kernel.org/all/20220309120416.83514-3-socketcan@hartkopp.net
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
hartkopp authored and Ksawlii committed Nov 18, 2024
1 parent aec9032 commit 4fb092e
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions net/can/isotp.c
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ MODULE_ALIAS("can-proto-6");
/* ISO 15765-2:2016 supports more than 4095 byte per ISO PDU as the FF_DL can
* take full 32 bit values (4 Gbyte). We would need some good concept to handle
* this between user space and kernel space. For now increase the static buffer
* to something about 8 kbyte to be able to test this new functionality.
* to something about 64 kbyte to be able to test this new functionality.
*/
#define MAX_MSG_LENGTH 8200
#define MAX_MSG_LENGTH 66000

/* N_PCI type values in bits 7-4 of N_PCI bytes */
#define N_PCI_SF 0x00 /* single frame */
Expand Down

0 comments on commit 4fb092e

Please sign in to comment.