[PATCH V4] Add RFC 8335 Definitions from Linux 5.13

Andreas Roeseler andreas.a.roeseler@gmail.com
Mon Jun 28 12:50:55 GMT 2021


On 6/21/2021 8:00 AM, Andreas Roeseler wrote:
> 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 <andreas.a.roeseler@gmail.com>
>> ---
>> 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
bump


More information about the Libc-alpha mailing list