All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 net-next 0/3] Add support for sending RFC8335 PROBE
@ 2020-11-14  3:23 Andreas Roeseler
  2020-11-14  3:24 ` [PATCH v2 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-14  3:23 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 Structure outlined in RFC4884.

This patchset adds definitions for the ICMP Extended Echo Request and
Reply (PROBE) types for both IPv4 and IPv6. It also expands the list of
supported ICMP messages to accommodate PROBEs.

Changes since v1:
 - Switch to correct base tree

Andreas Roeseler (3):
  net: add support for sending probe messages
  icmp: define probe message types
  ICMPv6: define probe message types

 include/linux/icmp.h   | 3 +++
 include/linux/icmpv6.h | 6 ++++++
 net/ipv4/ping.c        | 2 +-
 3 files changed, 10 insertions(+), 1 deletion(-)

-- 
2.29.2


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 net-next 1/3] net: add support for sending probe messages
  2020-11-14  3:23 [PATCH v2 net-next 0/3] Add support for sending RFC8335 PROBE Andreas Roeseler
@ 2020-11-14  3:24 ` Andreas Roeseler
  2020-11-14  3:24 ` [PATCH v2 net-next 2/3] icmp: define probe message types Andreas Roeseler
  2020-11-14  3:24 ` [PATCH v2 net-next 3/3] ICMPv6: " Andreas Roeseler
  2 siblings, 0 replies; 5+ messages in thread
From: Andreas Roeseler @ 2020-11-14  3:24 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>
---
Changes since v1:
 - Switch to correct base tree
---
 net/ipv4/ping.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
index 39b403f854c..70cb505f3e9 100644
--- a/net/ipv4/ping.c
+++ b/net/ipv4/ping.c
@@ -303,7 +303,7 @@ out:
 
 static inline int ping_supported(int type, int code)
 {
-	if (type == ICMP_ECHO && code == 0)
+	if ((type == ICMP_ECHO || type == ICMP_EXT_ECHO) && code == 0)
 		return 1;
 	return 0;
 }
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 net-next 2/3] icmp: define probe message types
  2020-11-14  3:23 [PATCH v2 net-next 0/3] Add support for sending RFC8335 PROBE Andreas Roeseler
  2020-11-14  3:24 ` [PATCH v2 net-next 1/3] net: add support for sending probe messages Andreas Roeseler
@ 2020-11-14  3:24 ` Andreas Roeseler
  2020-11-14  3:24 ` [PATCH v2 net-next 3/3] ICMPv6: " Andreas Roeseler
  2 siblings, 0 replies; 5+ messages in thread
From: Andreas Roeseler @ 2020-11-14  3:24 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>
---
Changes since v1:
 - Switch to correct base tree
---
 include/linux/icmp.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/linux/icmp.h b/include/linux/icmp.h
index 474f2a51cf0..acc9bcbc72b 100644
--- a/include/linux/icmp.h
+++ b/include/linux/icmp.h
@@ -64,6 +64,9 @@
 #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 v2 net-next 3/3] ICMPv6: define probe message types
  2020-11-14  3:23 [PATCH v2 net-next 0/3] Add support for sending RFC8335 PROBE Andreas Roeseler
  2020-11-14  3:24 ` [PATCH v2 net-next 1/3] net: add support for sending probe messages Andreas Roeseler
  2020-11-14  3:24 ` [PATCH v2 net-next 2/3] icmp: define probe message types Andreas Roeseler
@ 2020-11-14  3:24 ` Andreas Roeseler
  2020-11-14 17:46   ` Jakub Kicinski
  2 siblings, 1 reply; 5+ messages in thread
From: Andreas Roeseler @ 2020-11-14  3:24 UTC (permalink / raw)
  To: davem; +Cc: kuznet, yoshfuji, kuba, netdev

The types of ICMPV6 Extended Echo Request and ICMPV6 Extended Echo Reply
are defined in sections 2 and 3 of RFC8335.

Signed-off-by: Andreas Roeseler <andreas.a.roeseler@gmail.com>
---
Changes since v1:
 - Switch to correct base tree
---
 include/linux/icmpv6.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/include/linux/icmpv6.h b/include/linux/icmpv6.h
index ba45e6bc076..c6186774584 100644
--- a/include/linux/icmpv6.h
+++ b/include/linux/icmpv6.h
@@ -137,6 +137,12 @@ static inline struct icmp6hdr *icmp6_hdr(const struct sk_buff *skb)
 #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 v2 net-next 3/3] ICMPv6: define probe message types
  2020-11-14  3:24 ` [PATCH v2 net-next 3/3] ICMPv6: " Andreas Roeseler
@ 2020-11-14 17:46   ` Jakub Kicinski
  0 siblings, 0 replies; 5+ messages in thread
From: Jakub Kicinski @ 2020-11-14 17:46 UTC (permalink / raw)
  To: Andreas Roeseler; +Cc: davem, kuznet, yoshfuji, netdev

On Fri, 13 Nov 2020 19:24:17 -0800 Andreas Roeseler wrote:
> The types of ICMPV6 Extended Echo Request and ICMPV6 Extended Echo Reply
> are defined in sections 2 and 3 of RFC8335.
> 
> Signed-off-by: Andreas Roeseler <andreas.a.roeseler@gmail.com>

> diff --git a/include/linux/icmpv6.h b/include/linux/icmpv6.h
> index ba45e6bc076..c6186774584 100644
> --- a/include/linux/icmpv6.h
> +++ b/include/linux/icmpv6.h
> @@ -137,6 +137,12 @@ static inline struct icmp6hdr *icmp6_hdr(const struct sk_buff *skb)
>  #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
>   */

Hm, quite strange. The context we're seeing here was removed 8 years
ago by:

commit 607ca46e97a1b6594b29647d98a32d545c24bdff
Author: David Howells <dhowells@redhat.com>
Date:   Sat Oct 13 10:46:48 2012 +0100

    UAPI: (Scripted) Disintegrate include/linux

Are you sure you are on the right tree?

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-11-14 17:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-14  3:23 [PATCH v2 net-next 0/3] Add support for sending RFC8335 PROBE Andreas Roeseler
2020-11-14  3:24 ` [PATCH v2 net-next 1/3] net: add support for sending probe messages Andreas Roeseler
2020-11-14  3:24 ` [PATCH v2 net-next 2/3] icmp: define probe message types Andreas Roeseler
2020-11-14  3:24 ` [PATCH v2 net-next 3/3] ICMPv6: " Andreas Roeseler
2020-11-14 17:46   ` Jakub Kicinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.