diff options
author | Oliver Hartkopp <socketcan@hartkopp.net> | 2022-03-09 13:04:14 +0100 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2022-03-10 09:23:45 +0100 |
commit | 9c0c191d82a1de964ac953a1df8b5744ec670b07 (patch) | |
tree | 444c740c184c62181d77cfb95e2c9130a0526db8 /net/can | |
parent | 530e0d46c61314c59ecfdb8d3bcb87edbc0f85d3 (diff) | |
download | linux-9c0c191d82a1de964ac953a1df8b5744ec670b07.tar.bz2 |
can: isotp: set max PDU size to 64 kByte
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: https://github.com/linux-can/can-utils/issues/347#issuecomment-1056142301
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>
Diffstat (limited to 'net/can')
-rw-r--r-- | net/can/isotp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/can/isotp.c b/net/can/isotp.c index 47404ba59981..d4c0b4704987 100644 --- a/net/can/isotp.c +++ b/net/can/isotp.c @@ -86,9 +86,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 */ |