* [PATCH net-next 0/3] Add support for sending RFC8335 PROBE
@ 2020-11-13 21:59 Andreas Roeseler
2020-11-13 21:59 ` [PATCH net-next 1/3] net: add support for sending probe messages Andreas Roeseler
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Andreas Roeseler @ 2020-11-13 21:59 UTC (permalink / raw)
To: davem; +Cc: kuznet, yoshfuji, kuba, netdev
The popular utility ping has several severe limitations such as the
inability to query specific interfaces on a node and requiring
bidirectional connectivity between the probing and the probed
interfaces. RFC8335 attempts to solve these limitations by creating the
new utility PROBE which is a specialized ICMP message that makes use of
the ICMP Extension Struction outlined in RFC4884.
This patchset adds definitions for the probe ICMP message request and
reply types for both IPv4 and IPv6. It also expands the list of
supported ICMP messages to accommodate PROBEs.
Andreas Roeseler (3):
net: add support for sending probe messages
icmp: define probe message types
ICMPv6: define probe message types
include/uapi/linux/icmp.h | 4 ++++
include/uapi/linux/icmpv6.h | 6 ++++++
net/ipv4/ping.c | 4 +++-
3 files changed, 13 insertions(+), 1 deletion(-)
--
2.29.2
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH net-next 1/3] net: add support for sending probe messages
2020-11-13 21:59 [PATCH net-next 0/3] Add support for sending RFC8335 PROBE Andreas Roeseler
@ 2020-11-13 21:59 ` Andreas Roeseler
2020-11-13 21:59 ` [PATCH net-next 2/3] icmp: define probe message types Andreas Roeseler
2020-11-13 21:59 ` [PATCH net-next 3/3] ICMPv6: " Andreas Roeseler
2 siblings, 0 replies; 5+ messages in thread
From: Andreas Roeseler @ 2020-11-13 21:59 UTC (permalink / raw)
To: davem; +Cc: kuznet, yoshfuji, kuba, netdev
Modifying the ping_supported function to support probe message types allows the
user to send probe requests through the existing framework for
sending ping requests.
Signed-off-by: Andreas Roeseler <andreas.a.roeseler@gmail.com>
---
net/ipv4/ping.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
index 248856b301c4..0077ef838fef 100644
--- a/net/ipv4/ping.c
+++ b/net/ipv4/ping.c
@@ -453,7 +453,9 @@ EXPORT_SYMBOL_GPL(ping_bind);
static inline int ping_supported(int family, int type, int code)
{
return (family == AF_INET && type == ICMP_ECHO && code == 0) ||
- (family == AF_INET6 && type == ICMPV6_ECHO_REQUEST && code == 0);
+ (family == AF_INET && type == ICMP_EXT_ECHO && code == 0) ||
+ (family == AF_INET6 && type == ICMPV6_ECHO_REQUEST && code == 0) ||
+ (family == AF_INET6 && type == ICMPV6_EXT_ECHO_REQUEST && code == 0);
}
/*
--
2.29.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH net-next 2/3] icmp: define probe message types
2020-11-13 21:59 [PATCH net-next 0/3] Add support for sending RFC8335 PROBE Andreas Roeseler
2020-11-13 21:59 ` [PATCH net-next 1/3] net: add support for sending probe messages Andreas Roeseler
@ 2020-11-13 21:59 ` Andreas Roeseler
2020-11-13 21:59 ` [PATCH net-next 3/3] ICMPv6: " Andreas Roeseler
2 siblings, 0 replies; 5+ messages in thread
From: Andreas Roeseler @ 2020-11-13 21:59 UTC (permalink / raw)
To: davem; +Cc: kuznet, yoshfuji, kuba, netdev
The types of ICMP Extended Echo Request and ICMP Extended Echo Reply are
defined in sections 2 and 3 of RFC8335.
Signed-off-by: Andreas Roeseler <andreas.a.roeseler@gmail.com>
---
include/uapi/linux/icmp.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/uapi/linux/icmp.h b/include/uapi/linux/icmp.h
index fb169a50895e..6cabb6acc156 100644
--- a/include/uapi/linux/icmp.h
+++ b/include/uapi/linux/icmp.h
@@ -66,6 +66,10 @@
#define ICMP_EXC_TTL 0 /* TTL count exceeded */
#define ICMP_EXC_FRAGTIME 1 /* Fragment Reass time exceeded */
+/* Codes for EXT_ECHO (Probe). */
+#define ICMP_EXT_ECHO 42
+#define ICMP_EXT_ECHOREPLY 43
+
struct icmphdr {
__u8 type;
--
2.29.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH net-next 3/3] ICMPv6: define probe message types
2020-11-13 21:59 [PATCH net-next 0/3] Add support for sending RFC8335 PROBE Andreas Roeseler
2020-11-13 21:59 ` [PATCH net-next 1/3] net: add support for sending probe messages Andreas Roeseler
2020-11-13 21:59 ` [PATCH net-next 2/3] icmp: define probe message types Andreas Roeseler
@ 2020-11-13 21:59 ` Andreas Roeseler
2020-11-14 0:39 ` Jakub Kicinski
2 siblings, 1 reply; 5+ messages in thread
From: Andreas Roeseler @ 2020-11-13 21:59 UTC (permalink / raw)
To: davem; +Cc: kuznet, yoshfuji, kuba, netdev
The types of ICMPv6 Extended Echo Request and ICMPv6 Extended Echo Reply
messages are defined by sections 2 adn 3 of RFC8335.
Signed-off-by: Andreas Roeseler <andreas.a.roeseler@gmail.com>
---
include/uapi/linux/icmpv6.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/uapi/linux/icmpv6.h b/include/uapi/linux/icmpv6.h
index c1661febc2dc..183a8b3feb92 100644
--- a/include/uapi/linux/icmpv6.h
+++ b/include/uapi/linux/icmpv6.h
@@ -139,6 +139,12 @@ struct icmp6hdr {
#define ICMPV6_UNK_NEXTHDR 1
#define ICMPV6_UNK_OPTION 2
+/*
+ * Codes for EXT_ECHO (Probe)
+ */
+#define ICMPV6_EXT_ECHO_REQUEST 160
+#define ICMPV6_EXT_ECHO_REPLY 161
+
/*
* constants for (set|get)sockopt
*/
--
2.29.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH net-next 3/3] ICMPv6: define probe message types
2020-11-13 21:59 ` [PATCH net-next 3/3] ICMPv6: " Andreas Roeseler
@ 2020-11-14 0:39 ` Jakub Kicinski
0 siblings, 0 replies; 5+ messages in thread
From: Jakub Kicinski @ 2020-11-14 0:39 UTC (permalink / raw)
To: Andreas Roeseler; +Cc: davem, kuznet, yoshfuji, netdev
On Fri, 13 Nov 2020 13:59:45 -0800 Andreas Roeseler wrote:
> The types of ICMPv6 Extended Echo Request and ICMPv6 Extended Echo Reply
> messages are defined by sections 2 adn 3 of RFC8335.
>
> Signed-off-by: Andreas Roeseler <andreas.a.roeseler@gmail.com>
> ---
> include/uapi/linux/icmpv6.h | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/include/uapi/linux/icmpv6.h b/include/uapi/linux/icmpv6.h
> index c1661febc2dc..183a8b3feb92 100644
> --- a/include/uapi/linux/icmpv6.h
> +++ b/include/uapi/linux/icmpv6.h
> @@ -139,6 +139,12 @@ struct icmp6hdr {
> #define ICMPV6_UNK_NEXTHDR 1
> #define ICMPV6_UNK_OPTION 2
>
> +/*
> + * Codes for EXT_ECHO (Probe)
> + */
> +#define ICMPV6_EXT_ECHO_REQUEST 160
> +#define ICMPV6_EXT_ECHO_REPLY 161
> +
> /*
> * constants for (set|get)sockopt
> */
This patch does not apply to net-next [1]:
Applying: ICMPv6: define probe message types
error: patch failed: include/uapi/linux/icmpv6.h:139
error: include/uapi/linux/icmpv6.h: patch does not apply
Patch failed at 0003 ICMPv6: define probe message types
hint: Use 'git am --show-current-patch=diff' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
fatal: It looks like 'git am' is in progress. Cannot rebase.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-11-14 0:39 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-13 21:59 [PATCH net-next 0/3] Add support for sending RFC8335 PROBE Andreas Roeseler
2020-11-13 21:59 ` [PATCH net-next 1/3] net: add support for sending probe messages Andreas Roeseler
2020-11-13 21:59 ` [PATCH net-next 2/3] icmp: define probe message types Andreas Roeseler
2020-11-13 21:59 ` [PATCH net-next 3/3] ICMPv6: " Andreas Roeseler
2020-11-14 0:39 ` Jakub Kicinski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).