From: Michael Buesch <mb@bu3sch.de>
To: "C. Scott Ananian" <cscott@laptop.org>
Cc: netdev@vger.kernel.org
Subject: Re: [RFD] First draft of RDNSS-in-RA support for IPv6 DNS autoconfiguration
Date: Sat, 23 Jun 2007 01:39:49 +0200 [thread overview]
Message-ID: <200706230139.50064.mb@bu3sch.de> (raw)
In-Reply-To: <c6d9bea0706221626h434d17d0l6dc3a6a513601546@mail.gmail.com>
On Saturday 23 June 2007 01:26:19 C. Scott Ananian wrote:
> Attached is my first draft of a patch to implement RDNSS-in-Router
> Advertisements support for IPv6 (
> http://tools.ietf.org/html/draft-jeong-dnsop-ipv6-dns-discovery-12 )
> as implemented in radvd ( http://www.litech.org/radvd/ ). It
> currently exports the autoconfigured DNS list as /proc/net/ipv6_dns --
> ultimately it ought to (a) implement inotify on this file, so that
> glibc could use it like /etc/resolv.conf and get notifications when
> the DNS list changes, and (b) export the DNS list via netlink as well.
>
> Comments & discussion, please!
> --scott
> diff -ruHpN -X dontdiff linux-2.6.22-rc5-orig/include/net/ip6_rdnss.h
> linux-2.6.22-rc5/include/net/ip6_rdnss.h
> --- linux-2.6.22-rc5-orig/include/net/ip6_rdnss.h 1969-12-31
> 19:00:00.000000000 -0500
> +++ linux-2.6.22-rc5/include/net/ip6_rdnss.h 2007-06-21
> 18:16:33.000000000 -0400 @@ -0,0 +1,58 @@
> +#ifndef _NET_IP6_RDNSS_H
> +#define _NET_IP6_RDNSS_H
> +
> +#ifdef __KERNEL__
> +
> +#include <linux/in6.h>
> +
> +struct nd_opt_rdnss {
> + __u8 type;
> + __u8 length;
> +#if defined(__BIG_ENDIAN_BITFIELD)
> + __u8 priority:4,
> + open:1,
> + reserved1:3;
> +#elif defined(__LITTLE_ENDIAN_BITFIELD)
> + __u8 reserved1:3,
> + open:1,
> + priority:4;
> +#else
> +# error not little or big endian
> +#endif
That is not endianess-safe. Don't use foo:x at all
for stuff where a specific endianess is needed. The
compiler doesn't make any guarantee about it.
Please do
__u8 flags;
#define FOOBAR_RESERVED 0x07
#define FOOBAR_OPEN 0x08
#define FOOBAR_PRIORITY 0xF0
....
and use them in the code.
In general I try to avoid the foo:x stuff, as it
has little or no gain. It just generates worse code.
--
Greetings Michael.
next prev parent reply other threads:[~2007-06-22 23:40 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-22 23:26 [RFD] First draft of RDNSS-in-RA support for IPv6 DNS autoconfiguration C. Scott Ananian
2007-06-22 23:39 ` Michael Buesch [this message]
2007-06-23 0:09 ` C. Scott Ananian
2007-06-23 2:11 ` Dan Williams
2007-06-23 9:07 ` Michael Buesch
2007-06-23 20:41 ` David Miller
2007-06-22 23:42 ` Michael Buesch
2007-06-23 1:04 ` David Stevens
2007-06-23 1:17 ` Simon Arlott
2007-06-23 4:30 ` David Stevens
2007-06-23 4:50 ` Simon Arlott
2007-06-23 5:12 ` David Miller
2007-06-23 8:23 ` Pierre Ynard
2007-06-24 19:05 ` Olaf Kirch
2007-06-23 13:25 ` Rémi Denis-Courmont
2007-06-23 14:47 ` C. Scott Ananian
2007-06-23 16:40 ` Simon Arlott
2007-06-23 16:48 ` David Stevens
2007-06-23 16:51 ` Rémi Denis-Courmont
2007-06-23 17:45 ` David Stevens
2007-06-23 18:13 ` Rémi Denis-Courmont
2007-06-23 18:51 ` David Stevens
2007-06-23 19:18 ` Rémi Denis-Courmont
2007-06-23 20:27 ` Pierre Ynard
2007-06-25 2:17 ` Dan Williams
2007-06-25 2:53 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200706230139.50064.mb@bu3sch.de \
--to=mb@bu3sch.de \
--cc=cscott@laptop.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.