can: isotp: remove ISO 15675-2 specification version where possible
Subsystems (2)
Oliver Hartkopp
maintainerPATCH 1/1 can: isotp: remove ISO 15675-2 specification version where possible
With the new ISO 15765-2:2024 release the former documentation and comments have to be reworked. This patch removes the ISO specification version/date where possible.
--- include/uapi/linux/can/isotp.h | 2 +- net/can/Kconfig | 11 +++++------ net/can/isotp.c | 11 ++++++----- 3 files changed, 12 insertions(+), 12 deletions(-)
include/uapi/linux/can/isotp.h +1 -1
@@ -1,10 +1,10 @@/* SPDX-License-Identifier: ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) */ /* * linux/can/isotp.h * -* Definitions for isotp CAN sockets (ISO 15765-2:2016) +* Definitions for ISO 15765-2 CAN transport protocol sockets * * Copyright (c) 2020 Volkswagen Group Electronic Research * All rights reserved. * * Redistribution and use in source and binary forms, with or without
net/can/Kconfig +5 -6
@@ -54,20 +54,19 @@ config CAN_GW by the netlink configuration interface known e.g. from iptables. source "net/can/j1939/Kconfig" config CAN_ISOTP - tristate "ISO 15765-2:2016 CAN transport protocol" + tristate "ISO 15765-2 CAN transport protocol" help CAN Transport Protocols offer support for segmented Point-to-Point communication between CAN nodes via two defined CAN Identifiers. + This protocol driver implements segmented data transfers for CAN CC + (aka Classical CAN, CAN 2.0B) and CAN FD frame types which were + introduced with ISO 15765-2:2016. 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 + (max. 8 bytes for CAN CC and max. 64 bytes for CAN FD) this segmentation is needed to transport longer Protocol Data Units (PDU) 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. - If you want to perform automotive vehicle diagnostic services (UDS), - say 'y'. endif
net/can/isotp.c +6 -5
@@ -70,25 +70,26 @@#include <linux/can/isotp.h> #include <linux/slab.h> #include <net/sock.h> #include <net/net_namespace.h> -MODULE_DESCRIPTION ("PF_CAN isotp 15765-2:2016 protocol" ); +MODULE_DESCRIPTION ("PF_CAN ISO 15765-2 transport protocol" );MODULE_LICENSE ("Dual BSD/GPL" );MODULE_AUTHOR ("Oliver Hartkopp <[email protected]>" );MODULE_ALIAS ("can-proto-6" );#define ISOTP_MIN_NAMELEN CAN_REQUIRED_SIZE(struct sockaddr_can, can_addr.tp)#define SINGLE_MASK (id) (((id) & CAN_EFF_FLAG) ? \ (CAN_EFF_MASK | CAN_EFF_FLAG | CAN_RTR_FLAG) : \ (CAN_SFF_MASK | CAN_EFF_FLAG | CAN_RTR_FLAG)) -/* 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 set the static buffer to -* something about 8 kbyte to be able to test this new functionality. +/* Since ISO 15765-2:2016 the CAN isotp protocol 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 set the static buffer to something about 8 kbyte +* to be able to test this new functionality. */ #define DEFAULT_MAX_PDU_SIZE 8300/* maximum PDU size before ISO 15765-2:2016 extension was 4095 */ #define MAX_12BIT_PDU_SIZE 4095
Signature · 1 line
2.39.2
Quoted 3 lines · Oliver Hartkopp
With the new ISO 15765-2:2024 release the former documentation and comments have to be reworked. This patch removes the ISO specification version/date where possible.
The patch also renames "classical CAN" into "CAN CC", which is fine but maybe add one sentence in the patch description for that.
Aside from that nitpick, one comment (see below). Meanwhile, I am giving my acknowledgement in advance:
Thank you.
Quoted 41 lines
Signed-off-by Oliver Hartkopp <[email protected]>--- include/uapi/linux/can/isotp.h | 2 +- net/can/Kconfig | 11 +++++------ net/can/isotp.c | 11 ++++++----- 3 files changed, 12 insertions(+), 12 deletions(-)include/uapi/linux/can/isotp.h +1
-1@@ -1,10 +1,10 @@/* SPDX-License-Identifier: ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) */ /* * linux/can/isotp.h * -* Definitions for isotp CAN sockets (ISO 15765-2:2016) +* Definitions for ISO 15765-2 CAN transport protocol sockets * * Copyright (c) 2020 Volkswagen Group Electronic Research * All rights reserved. * * Redistribution and use in source and binary forms, with or without net/can/Kconfig +4
-1@@ -54,20 +54,19 @@ config CAN_GW by the netlink configuration interface known e.g. from iptables. source "net/can/j1939/Kconfig" config CAN_ISOTP - tristate "ISO 15765-2:2016 CAN transport protocol" + tristate "ISO 15765-2 CAN transport protocol" help CAN Transport Protocols offer support for segmented Point-to-Point communication between CAN nodes via two defined CAN Identifiers. + This protocol driver implements segmented data transfers for CAN CC + (aka Classical CAN, CAN 2.0B) and CAN FD frame types which were + introduced with ISO 15765-2:2016.
net/can/Kconfig config CAN_GW · line 71
Quoted 10 lines
net/can/Kconfig +1
-5As 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 + (max. 8 bytes for CAN CC and max. 64 bytes for CAN FD) this segmentation is needed to transport longer Protocol Data Units (PDU) 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. - If you want to perform automotive vehicle diagnostic services (UDS), - say 'y'.
Not sure why that last sentence was removed. This is out of scope from this patch and I think this can be helpful for the audience not aware that UDS relies on ISO-TP. I suggest keeping that one.
Quoted 42 lines
net/can/Kconfig +0
-0endifnet/can/isotp.c +6
-6@@ -70,25 +70,26 @@#include <linux/can/isotp.h> #include <linux/slab.h> #include <net/sock.h> #include <net/net_namespace.h> -MODULE_DESCRIPTION ("PF_CAN isotp 15765-2:2016 protocol" ); +MODULE_DESCRIPTION ("PF_CAN ISO 15765-2 transport protocol" );MODULE_LICENSE ("Dual BSD/GPL" );MODULE_AUTHOR ("Oliver Hartkopp <[email protected]>" );MODULE_ALIAS ("can-proto-6" );#define ISOTP_MIN_NAMELEN CAN_REQUIRED_SIZE(struct sockaddr_can, can_addr.tp)#define SINGLE_MASK (id) (((id) & CAN_EFF_FLAG) ? \ (CAN_EFF_MASK | CAN_EFF_FLAG | CAN_RTR_FLAG) : \ (CAN_SFF_MASK | CAN_EFF_FLAG | CAN_RTR_FLAG)) -/* 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 set the static buffer to -* something about 8 kbyte to be able to test this new functionality. +/* Since ISO 15765-2:2016 the CAN isotp protocol 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 set the static buffer to something about 8 kbyte +* to be able to test this new functionality. */ #define DEFAULT_MAX_PDU_SIZE 8300/* maximum PDU size before ISO 15765-2:2016 extension was 4095 */ #define MAX_12BIT_PDU_SIZE 4095 --2.39.2
Oliver Hartkopp
maintainerQuoted 7 lines · Vincent Mailhol
Quoted 3 lines · Oliver Hartkopp
With the new ISO 15765-2:2024 release the former documentation and comments have to be reworked. This patch removes the ISO specification version/date where possible.
The patch also renames "classical CAN" into "CAN CC", which is fine but maybe add one sentence in the patch description for that.
Hm, IMO this is an editorial update without any new information.
Quoted 54 lines
Aside from that nitpick, one comment (see below). Meanwhile, I am giving my acknowledgement in advance:
Acked-by Vincent Mailhol <[email protected]>Thank you.
Quoted 47 lines
Signed-off-by Oliver Hartkopp <[email protected]>--- include/uapi/linux/can/isotp.h | 2 +- net/can/Kconfig | 11 +++++------ net/can/isotp.c | 11 ++++++----- 3 files changed, 12 insertions(+), 12 deletions(-)include/uapi/linux/can/isotp.h +1
-1@@ -1,10 +1,10 @@/* SPDX-License-Identifier: ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) */ /* * linux/can/isotp.h * -* Definitions for isotp CAN sockets (ISO 15765-2:2016) +* Definitions for ISO 15765-2 CAN transport protocol sockets * * Copyright (c) 2020 Volkswagen Group Electronic Research * All rights reserved. * * Redistribution and use in source and binary forms, with or without net/can/Kconfig +5
-2@@ -54,20 +54,19 @@ config CAN_GW by the netlink configuration interface known e.g. from iptables. source "net/can/j1939/Kconfig" config CAN_ISOTP - tristate "ISO 15765-2:2016 CAN transport protocol" + tristate "ISO 15765-2 CAN transport protocol" help CAN Transport Protocols offer support for segmented Point-to-Point communication between CAN nodes via two defined CAN Identifiers. + This protocol driver implements segmented data transfers for CAN CC + (aka Classical CAN, CAN 2.0B) and CAN FD frame types which were + introduced with ISO 15765-2:2016. 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 + (max. 8 bytes for CAN CC and max. 64 bytes for CAN FD) this segmentation is needed to transport longer Protocol Data Units (PDU) as needed e.g. for vehicle diagnosis (UDS, ISO 14229) or IP-over-CAN traffic.
Quoted 8 lines
net/can/Kconfig config CAN_GW · line 71
Quoted 4 lines
net/can/Kconfig +0
-4- This protocol driver implements data transfers according to - ISO 15765-2:2016 for 'classic' CAN and CAN FD frame types. - If you want to perform automotive vehicle diagnostic services (UDS), - say 'y'.Not sure why that last sentence was removed. This is out of scope from this patch and I think this can be helpful for the audience not aware that UDS relies on ISO-TP. I suggest keeping that one.
This is a repetition of ...
"segmentation is needed to transport longer Protocol Data Units (PDU) as needed e.g. for vehicle diagnosis (UDS, ISO 14229) or IP-over-CAN traffic."
... one sentence before.
Therefore I thought it could be removed.
Best regards,
Oliver
Vincent Mailhol
Acked-byQuoted 10 lines · Oliver Hartkopp
Quoted 7 lines · Vincent Mailhol
Quoted 3 lines · Oliver Hartkopp
With the new ISO 15765-2:2024 release the former documentation and comments have to be reworked. This patch removes the ISO specification version/date where possible.
The patch also renames "classical CAN" into "CAN CC", which is fine but maybe add one sentence in the patch description for that.
Hm, IMO this is an editorial update without any new information.
OK. That was a nitpick. See this as notwithstanding, I am fine for the patch to be picked as-is.
Quoted 63 lines
Quoted 54 lines
Aside from that nitpick, one comment (see below). Meanwhile, I am giving my acknowledgement in advance:
Acked-by Vincent Mailhol <[email protected]>Thank you.
Quoted 47 lines
Signed-off-by Oliver Hartkopp <[email protected]>--- include/uapi/linux/can/isotp.h | 2 +- net/can/Kconfig | 11 +++++------ net/can/isotp.c | 11 ++++++----- 3 files changed, 12 insertions(+), 12 deletions(-)include/uapi/linux/can/isotp.h +1
-1@@ -1,10 +1,10 @@/* SPDX-License-Identifier: ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) */ /* * linux/can/isotp.h * -* Definitions for isotp CAN sockets (ISO 15765-2:2016) +* Definitions for ISO 15765-2 CAN transport protocol sockets * * Copyright (c) 2020 Volkswagen Group Electronic Research * All rights reserved. * * Redistribution and use in source and binary forms, with or without net/can/Kconfig +5
-2@@ -54,20 +54,19 @@ config CAN_GW by the netlink configuration interface known e.g. from iptables. source "net/can/j1939/Kconfig" config CAN_ISOTP - tristate "ISO 15765-2:2016 CAN transport protocol" + tristate "ISO 15765-2 CAN transport protocol" help CAN Transport Protocols offer support for segmented Point-to-Point communication between CAN nodes via two defined CAN Identifiers. + This protocol driver implements segmented data transfers for CAN CC + (aka Classical CAN, CAN 2.0B) and CAN FD frame types which were + introduced with ISO 15765-2:2016. 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 + (max. 8 bytes for CAN CC and max. 64 bytes for CAN FD) this segmentation is needed to transport longer Protocol Data Units (PDU) as needed e.g. for vehicle diagnosis (UDS, ISO 14229) or IP-over-CAN traffic.Quoted 8 lines
net/can/Kconfig config CAN_GW · line 71
Quoted 4 lines
net/can/Kconfig +0
-4- This protocol driver implements data transfers according to - ISO 15765-2:2016 for 'classic' CAN and CAN FD frame types. - If you want to perform automotive vehicle diagnostic services (UDS), - say 'y'.Not sure why that last sentence was removed. This is out of scope from this patch and I think this can be helpful for the audience not aware that UDS relies on ISO-TP. I suggest keeping that one.
Quoted 8 lines
This is a repetition of ...
"segmentation is needed to transport longer Protocol Data Units (PDU) as needed e.g. for vehicle diagnosis (UDS, ISO 14229) or IP-over-CAN traffic."
... one sentence before.
Therefore I thought it could be removed.
Oupsy, my deepest apologies, something did not click right in my head.
Sorry for the noise. Just in case, I am reiterating my previous message:
Yours sincerely,
Vincent Mailhol
Hello,
just one small observation below. Other that that (FWIW):
Quoted 35 lines · Oliver Hartkopp
With the new ISO 15765-2:2024 release the former documentation and comments have to be reworked. This patch removes the ISO specification version/date where possible.
Signed-off-by Oliver Hartkopp <[email protected]>--- include/uapi/linux/can/isotp.h | 2 +- net/can/Kconfig | 11 +++++------ net/can/isotp.c | 11 ++++++----- 3 files changed, 12 insertions(+), 12 deletions(-)include/uapi/linux/can/isotp.h +1
-1@@ -1,10 +1,10 @@/* SPDX-License-Identifier: ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) */ /* * linux/can/isotp.h * -* Definitions for isotp CAN sockets (ISO 15765-2:2016) +* Definitions for ISO 15765-2 CAN transport protocol sockets * * Copyright (c) 2020 Volkswagen Group Electronic Research * All rights reserved. * * Redistribution and use in source and binary forms, with or without net/can/Kconfig +0
-0@@ -54,20 +54,19 @@ config CAN_GW by the netlink configuration interface known e.g. from iptables. source "net/can/j1939/Kconfig"
net/can/Kconfig config CAN_GW · line 65
Quoted 10 lines
net/can/Kconfig +4
-1config CAN_ISOTP - tristate "ISO 15765-2:2016 CAN transport protocol" + tristate "ISO 15765-2 CAN transport protocol" help CAN Transport Protocols offer support for segmented Point-to-Point communication between CAN nodes via two defined CAN Identifiers. + This protocol driver implements segmented data transfers for CAN CC + (aka Classical CAN, CAN 2.0B) and CAN FD frame types which were + introduced with ISO 15765-2:2016.
ISO 15765-2 also supports CAN2.0A networks, so I'd drop CAN 2.0B here.
Quoted 51 lines
net/can/Kconfig +1
-5As 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 + (max. 8 bytes for CAN CC and max. 64 bytes for CAN FD) this segmentation is needed to transport longer Protocol Data Units (PDU) 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. - If you want to perform automotive vehicle diagnostic services (UDS), - say 'y'. endifnet/can/isotp.c +6
-5@@ -70,25 +70,26 @@#include <linux/can/isotp.h> #include <linux/slab.h> #include <net/sock.h> #include <net/net_namespace.h> -MODULE_DESCRIPTION ("PF_CAN isotp 15765-2:2016 protocol" ); +MODULE_DESCRIPTION ("PF_CAN ISO 15765-2 transport protocol" );MODULE_LICENSE ("Dual BSD/GPL" );MODULE_AUTHOR ("Oliver Hartkopp <[email protected]>" );MODULE_ALIAS ("can-proto-6" );#define ISOTP_MIN_NAMELEN CAN_REQUIRED_SIZE(struct sockaddr_can, can_addr.tp)#define SINGLE_MASK (id) (((id) & CAN_EFF_FLAG) ? \ (CAN_EFF_MASK | CAN_EFF_FLAG | CAN_RTR_FLAG) : \ (CAN_SFF_MASK | CAN_EFF_FLAG | CAN_RTR_FLAG)) -/* 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 set the static buffer to -* something about 8 kbyte to be able to test this new functionality. +/* Since ISO 15765-2:2016 the CAN isotp protocol 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 set the static buffer to something about 8 kbyte +* to be able to test this new functionality. */ #define DEFAULT_MAX_PDU_SIZE 8300/* maximum PDU size before ISO 15765-2:2016 extension was 4095 */ #define MAX_12BIT_PDU_SIZE 4095Signature · 1 line
2.39.2
Quoted 5 lines · Oliver Hartkopp
With the new ISO 15765-2:2024 release the former documentation and comments have to be reworked. This patch removes the ISO specification version/date where possible.
Signed-off-by Oliver Hartkopp <[email protected]>
Applied to linux-can-next.
regards,
Marc
Signature · 4 lines
Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung Nürnberg | Phone: +49-5121-206917-129 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |