aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/net/can/isotp.c
diff options
context:
space:
mode:
authorOliver Hartkopp <socketcan@hartkopp.net>2022-03-09 13:04:14 +0100
committerMarc Kleine-Budde <mkl@pengutronix.de>2022-03-10 09:23:45 +0100
commit9c0c191d82a1de964ac953a1df8b5744ec670b07 (patch)
tree444c740c184c62181d77cfb95e2c9130a0526db8 /net/can/isotp.c
parentcan: isotp: set default value for N_As to 50 micro seconds (diff)
downloadwireguard-linux-9c0c191d82a1de964ac953a1df8b5744ec670b07.tar.xz
wireguard-linux-9c0c191d82a1de964ac953a1df8b5744ec670b07.zip
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/isotp.c')
-rw-r--r--net/can/isotp.c4
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 */