This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Added icmp6 options and router preference
- From: OndÅej BÃlka <neleai at seznam dot cz>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: libc-alpha at sourceware dot org, Dan Luedtke <danrl at danrl dot de>
- Date: Wed, 19 Feb 2014 14:13:51 +0100
- Subject: Re: [PATCH] Added icmp6 options and router preference
- Authentication-results: sourceware.org; auth=none
- References: <1392240598-7113-1-git-send-email-danrl at danrl dot de>
Florian, do you have additional comments on this?
On Wed, Feb 12, 2014 at 10:29:58PM +0100, Dan Luedtke wrote:
> ---
> ChangeLog | 23 +++++++++++++++++++++++
> inet/netinet/icmp6.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 71 insertions(+)
>
> diff --git a/ChangeLog b/ChangeLog
> index a7dc412..ebf0d68 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,26 @@
> +2014-02-12 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_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-12 Joseph Myers <joseph@codesourcery.com>
>
> * soft-fp/op-common.h (_FP_DECL): Mark exponent as possibly
> diff --git a/inet/netinet/icmp6.h b/inet/netinet/icmp6.h
> index baaeb26..77f8151 100644
> --- a/inet/netinet/icmp6.h
> +++ b/inet/netinet/icmp6.h
> @@ -135,6 +135,12 @@ 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
> +#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 +203,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 +240,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.8.5.3