This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PING PATCH] Add missing ICMPv6 flags and option
- From: Dan LÃdtke <maildanrl at gmail dot com>
- To: libc-alpha at sourceware dot org
- Cc: Dan Luedtke <danrl at danrl dot de>
- Date: Sat, 1 Mar 2014 15:28:13 +0100
- Subject: Re: [PING PATCH] Add missing ICMPv6 flags and option
- Authentication-results: sourceware.org; auth=none
- References: <1393683958-6434-1-git-send-email-danrl at danrl dot de>
As already discussed in:
Message-Id: <1392230153-23499-1-git-send-email-danrl@danrl.de>
Message-Id: <1392240088-6992-1-git-send-email-danrl@danrl.de>
On Sat, Mar 1, 2014 at 3:25 PM, Dan Luedtke <maildanrl@gmail.com> wrote:
> ---
> ChangeLog | 24 ++++++++++++++++++++++++
> inet/netinet/icmp6.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 74 insertions(+)
>
> diff --git a/ChangeLog b/ChangeLog
> index 45eb5ab..9c12a74 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,27 @@
> +2014-03-01 Dan Luedtke <mail@danrl.de>
> +
> + * inet/netinet/icmp6.h (ND_RA_FLAG_RTPREF_LOW): Define.
> + (ND_RA_FLAG_RTPREF_MEDIUM): Likewise.
> + (ND_RA_FLAG_RTPREF_HIGH): Likewise.
> + (ND_RA_FLAG_RTPREF_MASK): Likewise.
> + (ND_RA_FLAG_RTPREF_RSV): Likewise.
> + (ND_RA_FLAG_PROXY): Likewise.
> + (ND_RA_FLAG_HA): Likewise.
> + (ND_OPT_ROUTE_INFO): Likewise.
> + (ND_OPT_RDNSS): Likewise.
> + (ND_OPT_ADDRESS_REGISTRATION): Likewise.
> + (ND_OPT_RI_RTPREF_LOW): Likewise.
> + (ND_OPT_RI_RTPREF_MEDIUM): Likewise.
> + (ND_OPT_RI_RTPREF_HIGH): Likewise.
> + (ND_OPT_RI_RTPREF_MASK): Likewise.
> + (ND_OPT_RI_RTPREF_RSV): Likewise.
> + (ND_OPT_AR_STATUS_SUCCESS): Likewise.
> + (ND_OPT_AR_STATUS_DUPLICATE): Likewise.
> + (ND_OPT_AR_STATUS_CACHEFULL): Likewise.
> + (nd_opt_route_info): New structure.
> + (nd_opt_rdnss): Likewise.
> + (nd_opt_address_reg): Likewise.
> +
> 2014-02-28 OndÅej BÃlka <neleai@seznam.cz>
>
> * benchtest/bench-strtok.c (simple_strtok): Delete.
> diff --git a/inet/netinet/icmp6.h b/inet/netinet/icmp6.h
> index baaeb26..86e45b2 100644
> --- a/inet/netinet/icmp6.h
> +++ b/inet/netinet/icmp6.h
> @@ -135,6 +135,14 @@ struct nd_router_advert /* router advertisement */
> #define ND_RA_FLAG_MANAGED 0x80
> #define ND_RA_FLAG_OTHER 0x40
> #define ND_RA_FLAG_HOME_AGENT 0x20
> +/* For compatibility with BSD. */
> +#define ND_RA_FLAG_HA ND_RA_FLAG_HOME_AGENT
> +#define ND_RA_FLAG_RTPREF_LOW 0x18
> +#define ND_RA_FLAG_RTPREF_MEDIUM 0x00
> +#define ND_RA_FLAG_RTPREF_HIGH 0x08
> +#define ND_RA_FLAG_RTPREF_MASK 0x18
> +#define ND_RA_FLAG_RTPREF_RSV 0x10
> +#define ND_RA_FLAG_PROXY 0x04
> #define nd_ra_router_lifetime nd_ra_hdr.icmp6_data16[1]
>
> struct nd_neighbor_solicit /* neighbor solicitation */
> @@ -197,6 +205,9 @@ struct nd_opt_hdr /* Neighbor discovery option header */
> #define ND_OPT_MTU 5
> #define ND_OPT_RTR_ADV_INTERVAL 7
> #define ND_OPT_HOME_AGENT_INFO 8
> +#define ND_OPT_ROUTE_INFO 24
> +#define ND_OPT_RDNSS 25
> +#define ND_OPT_ADDRESS_REGISTRATION 33
>
> struct nd_opt_prefix_info /* prefix information */
> {
> @@ -231,6 +242,45 @@ struct nd_opt_mtu /* MTU option */
> uint32_t nd_opt_mtu_mtu;
> };
>
> +#define ND_OPT_RI_RTPREF_LOW 0x18
> +#define ND_OPT_RI_RTPREF_MEDIUM 0x00
> +#define ND_OPT_RI_RTPREF_HIGH 0x08
> +#define ND_OPT_RI_RTPREF_MASK 0x18
> +#define ND_OPT_RI_RTPREF_RSV 0x10
> +
> +struct nd_opt_route_info /* route information option */
> + {
> + uint8_t nd_opt_ri_type;
> + uint8_t nd_opt_ri_len;
> + uint8_t nd_opt_ri_prefix_len;
> + uint8_t nd_opt_ri_pref_reserved;
> + uint32_t nd_opt_ri_lifetime;
> + /* followed by prefixes */
> + };
> +
> +struct nd_opt_rdnss /* RDNSS option */
> + {
> + uint8_t nd_opt_rdnss_type;
> + uint8_t nd_opt_rdnss_len;
> + uint16_t nd_opt_rdnss_reserved;
> + uint32_t nd_opt_rdnss_lifetime;
> + /* followed by recursive DNS servers */
> + };
> +
> +#define ND_OPT_AR_STATUS_SUCCESS 0x00
> +#define ND_OPT_AR_STATUS_DUPLICATE 0x01
> +#define ND_OPT_AR_STATUS_CACHEFULL 0x02
> +
> +struct nd_opt_address_reg /* address registration option */
> + {
> + uint8_t nd_opt_ar_type;
> + uint8_t nd_opt_ar_len;
> + uint8_t nd_opt_ar_status;
> + uint8_t nd_opt_ar_reserved1;
> + uint16_t nd_opt_ar_reserved2;
> + uint64_t nd_opt_ar_eui64;
> + };
> +
> struct mld_hdr
> {
> struct icmp6_hdr mld_icmp6_hdr;
> --
> 1.9.0
>
--
Dan Luedtke
http://www.danrl.de