aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/gnu
diff options
context:
space:
mode:
authorAndreas Roeseler <andreas.a.roeseler@gmail.com>2021-06-03 09:26:04 -0500
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-06-29 15:38:27 -0300
commit9dc7dc5708c5c35aeb2e0c594c74b4ba4674aa6d (patch)
treef8c767a96a4dfdb5889665f88425ff0cf0687f8f /sysdeps/gnu
parent5e1ce61e3e71fb7ffe53f58fe96e67cb15f94854 (diff)
downloadglibc-9dc7dc5708c5c35aeb2e0c594c74b4ba4674aa6d.zip
glibc-9dc7dc5708c5c35aeb2e0c594c74b4ba4674aa6d.tar.gz
glibc-9dc7dc5708c5c35aeb2e0c594c74b4ba4674aa6d.tar.bz2
Add RFC 8335 Definitions from Linux 5.13
RFC 8335 defines the network utility PROBE, which builds off of the capabilities of Ping to query more detailed interface information from networking nodes. The definitions included in this patchset have been accepted into the linux net-next branch and will be included in Linux 5.13. This patchset adds the same definitions to the glibc for use in the iputils package. The relevant commits for the Linux definitions can be found here: https://github.com/torvalds/linux/commit/e542d29ca81d005651680a0a697b72ca13ddc4cc https://github.com/torvalds/linux/commit/750f4fc2a12f6632b5aa04526bf57fa06bfe8467 These changes have been tested by running the glibc tests on x86_64 Signed-off-by: Andreas Roeseler <andreas.a.roeseler@gmail.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'sysdeps/gnu')
-rw-r--r--sysdeps/gnu/netinet/ip_icmp.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/sysdeps/gnu/netinet/ip_icmp.h b/sysdeps/gnu/netinet/ip_icmp.h
index 5db7ac7..ec71372 100644
--- a/sysdeps/gnu/netinet/ip_icmp.h
+++ b/sysdeps/gnu/netinet/ip_icmp.h
@@ -89,6 +89,24 @@ struct icmphdr
#define ICMP_EXC_TTL 0 /* TTL count exceeded */
#define ICMP_EXC_FRAGTIME 1 /* Fragment Reass time exceeded */
+/* Codes for ICMP_EXT_ECHO (PROBE) */
+#define ICMP_EXT_ECHO 42
+#define ICMP_EXT_ECHOREPLY 43
+#define ICMP_EXT_CODE_MAL_QUERY 1 /* Malformed Query */
+#define ICMP_EXT_CODE_NO_IF 2 /* No such Interface */
+#define ICMP_EXT_CODE_NO_TABLE_ENT 3 /* No table entry */
+#define ICMP_EXT_CODE_MULT_IFS 4 /* Multiple Interfaces Satisfy Query */
+
+/* Constants for EXT_ECHO (PROBE) */
+#define ICMP_EXT_ECHOREPLY_ACTIVE (1 << 2)/* active bit in reply */
+#define ICMP_EXT_ECHOREPLY_IPV4 (1 << 1)/* ipv4 bit in reply */
+#define ICMP_EXT_ECHOREPLY_IPV6 1 /* ipv6 bit in reply */
+#define ICMP_EXT_ECHO_CTYPE_NAME 1
+#define ICMP_EXT_ECHO_CTYPE_INDEX 2
+#define ICMP_EXT_ECHO_CTYPE_ADDR 3
+#define ICMP_AFI_IP 1 /* Address Family Identifier for IPV4 */
+#define ICMP_AFI_IP6 2 /* Address Family Identifier for IPV6 */
+
#ifdef __USE_MISC
/*