From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd2b.google.com (mail-io1-xd2b.google.com [IPv6:2607:f8b0:4864:20::d2b]) by sourceware.org (Postfix) with ESMTPS id 349E03854834 for ; Mon, 21 Jun 2021 13:00:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 349E03854834 Received: by mail-io1-xd2b.google.com with SMTP id f10so9995577iok.6 for ; Mon, 21 Jun 2021 06:00:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=/9tiKY3x7azuaUjhCi8rU86MZ9+CU4KEbRou3iE+3eM=; b=am3826rqZHFydorkCbFhflG4lA/HNtY5oJjNv9Ut1cgP1Pm8M+1LlCwiBb9OZ3MGbS b1Q0J2T8m1stlieFO0Iwrl4F+82sjM//arSqK6ls9dJCnzws2V14djCwRMYEnUG/qFNl 9LCdiMkCPzzbPjBq9dFEbGnSR0sIHoP6PSbLoOHudjY/Dzm9tozMrGiuEk1PTAYSTl3m oPA2JwgmrKLXi2u1WDVLFK3wepVoi2yGStpk+pmnNEResDpQtizYbF7LQgMCg7ubobJz ZPQVu/pYNw5Mfg2dcPzWJto8ErHITjmiplXKAEnKOQqTajh6FszOm/1BFseKcdoRSCvz Ss1Q== X-Gm-Message-State: AOAM5329GLu9NC50PTawiRgl08lJZaEGlu10Clg9r7UhwHp3vvUpCdPM He+X9nlljk84+PRPunPOU4Q= X-Google-Smtp-Source: ABdhPJyJBeUPtcfnua7L7JZUeztzzPNL1KquPsX62vaJO7zv2wtDFnIRFoEisgu1hWhrFumfFK5Zkg== X-Received: by 2002:a02:3705:: with SMTP id r5mr14167373jar.144.1624280427364; Mon, 21 Jun 2021 06:00:27 -0700 (PDT) Received: from ?IPv6:2601:448:c580:1890:71b9:adf5:40a4:691c? ([2601:448:c580:1890:71b9:adf5:40a4:691c]) by smtp.gmail.com with ESMTPSA id 14sm6146574ilx.61.2021.06.21.06.00.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 21 Jun 2021 06:00:27 -0700 (PDT) Subject: Re: [PATCH V4] Add RFC 8335 Definitions from Linux 5.13 To: libc-alpha@sourceware.org Cc: fweimer@redhat.com References: <20210603142604.1658845-1-andreas.a.roeseler@gmail.com> From: Andreas Roeseler Message-ID: Date: Mon, 21 Jun 2021 08:00:27 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2 MIME-Version: 1.0 In-Reply-To: <20210603142604.1658845-1-andreas.a.roeseler@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_NUMSUBJECT, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jun 2021 13:00:29 -0000 On 6/3/2021 9:26 AM, Andreas Roeseler wrote: > 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 > --- > Changes: > v1 -> v2: > - Add more specific prefixes to constants > > v2 -> v3: > - Updated URLs > - Corrected Linux version that will include the definitions (5.13) > > v3 -> v4: > - Updated URLs to Linus branch > - Added V to ICMPV6 definitions > --- > inet/netinet/icmp6.h | 2 ++ > sysdeps/gnu/netinet/ip_icmp.h | 18 ++++++++++++++++++ > 2 files changed, 20 insertions(+) > > diff --git a/inet/netinet/icmp6.h b/inet/netinet/icmp6.h > index 22b82335ec..151347987f 100644 > --- a/inet/netinet/icmp6.h > +++ b/inet/netinet/icmp6.h > @@ -69,6 +69,8 @@ struct icmp6_hdr > #define MLD_LISTENER_QUERY 130 > #define MLD_LISTENER_REPORT 131 > #define MLD_LISTENER_REDUCTION 132 > +#define ICMPV6_EXT_ECHO_REQUEST 160 > +#define ICMPV6_EXT_ECHO_REPLY 161 > > #define ICMP6_DST_UNREACH_NOROUTE 0 /* no route to destination */ > #define ICMP6_DST_UNREACH_ADMIN 1 /* communication with destination */ > diff --git a/sysdeps/gnu/netinet/ip_icmp.h b/sysdeps/gnu/netinet/ip_icmp.h > index 5db7ac7c37..ec7137253f 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 > /* > bump As a side note in case this was missed, the conflict with Trinity has been fixed in Linux net-next here. https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=e32ea44c7ae476f4c90e35ab0a29dc8ff082bc11