IPv6 accept_rtadv + bfe0

John Hay jhay at meraka.org.za
Sat Oct 22 19:34:22 UTC 2011

On Sat, Oct 22, 2011 at 04:13:36PM +0900, Hiroki Sato wrote:
> Doug Barton <dougb at FreeBSD.org> wrote
>   in <4EA23C08.6060906 at FreeBSD.org>:
> do> On 10/19/2011 00:29, Hiroki Sato wrote:
> do> > Mattia Rossi <mrossi at swin.edu.au> wrote
> do> >   in <4E9DFE11.2070203 at swin.edu.au>:
> do> >
> do> > mr> So the _ipv6 bit doesn't take care of passing "inet6" to ifconfig
> do> > mr> automatically?
> do> >
> do> >  No.  You always need to add the inet6 keyword wherever needed.
> do>
> do> That seems redundant, and contrary to how the IPv4 equivalents work. And
> do> obviously it's confusing to users. From what I can see looking at some
> do> 7.x and 8.x systems it also seems to be a POLA violation.
> do>
> do> Perhaps this is something that you should reconsider?
>  I am still thinking that omitting an address family keyword before an
>  address is a bad practice.
>  Omitting "inet" keyword in ifconfig_IF and doing in ifconfing_IF_AF
>  are different.  The former one uses ifconfig(8)'s default AF, and
>  bz's experiments of noinet/noinet6 environment showed it was
>  problematic.  For the latter a keyword has to be automatically
>  prepended in the rc.d scripts if we want to do so.  For IPv6, having
>  a non-null $ifconfig_IF_ipv6 means the interface is IPv6-capable and
>  doesn't always involve address configuration
>  (e.g. ifconfig_IF_ipv6="up" is valid).  So, automatic prepending of
>  "inet6" breaks this.  Thus, both have a bad side effect.
>  And I want to make ifconfig accept a command line for v4->v6 and/or
>  v6->v4 tunneling as a p2p link like "inet 2001:db8::1" for a
>  specific type of interfaces in the future.  I am not sure if it will
>  happen actually, but omitting an AF keyword and/or automatic
>  prepending of the keyword make things difficult.

I can maybe just say, I have now upgraded various machines from 7.x or
8.x to 9 and even though I have read the rc.conf manual I keep tripping
on the new IPv6 rc stuff.  Various being client, server and router /
firewall. It looks like ipv6_prefix_IF now needs an ifconfig_IF_ipv6 =
"inet6 auto_linklocal" otherwise it is ignored.

In the rc.conf man page, in the ifconfig_<interface>_ipv6 section, it is
suggested to use ifconfig_<interface>_alias<n> for aliases, but somewhere
else it says that that _alias<n> is deprecated. What would be nice is
something like the ipv4_addrs_IF= variable.

The last paragraph in ifconfig_<interface>_ipv6, about "inet6 accept_rtadv"
should probably be closer to the begining, with some added sentence to
make it clear that it is probably what the normal client machine needs.

John Hay -- jhay at meraka.csir.co.za / jhay at FreeBSD.org

More information about the freebsd-current mailing list