Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Oct 2018 23:39:26 +0700
From:      Victor Sudakov <vas@mpeks.tomsk.su>
To:        =?utf-8?B?56We5piO6YGU5ZOJ?= <jinmei@wide.ad.jp>
Cc:        FreeBSD Net <freebsd-net@freebsd.org>, asomers@freebsd.org
Subject:   Re: why rtsold ?
Message-ID:  <20181018163926.GA89723@admin.sibptus.ru>
In-Reply-To: <CAJE_bqcLL9Ywijrw1Nhi14=rLF%2B6LuS0c8bX=_%2BS_v4UVNBkZA@mail.gmail.com>
References:  <20180930022007.GA2041@admin.sibptus.ru> <CAOtMX2gDVSmEacBacumPjthNU-RxoxLanjp%2BEhPb=nefX2m5cg@mail.gmail.com> <20181018015314.GA81422@admin.sibptus.ru> <CAJE_bqcLL9Ywijrw1Nhi14=rLF%2B6LuS0c8bX=_%2BS_v4UVNBkZA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
神明達哉 wrote:
> >
> > Who actually processes these router advertisements: the rtsold daemon
> > or the kernel itself?
> >
> > Is this passage:
> >
> > 8.1.1.4. Plug and Play
> >
> > Most of the IPv6 stateless address autoconfiguration is implemented in
> > the kernel. Neighbor Discovery functions are implemented in the kernel
> > as a whole. Router Advertisement (RA) input for hosts is implemented
> > in the kernel. Router Solicitation (RS) output for endhosts, RS input
> > for routers, and RA output for routers are implemented in the
> > userland.
> >
> > still correct?
> > (from https://www.freebsd.org/doc/en/books/developers-handbook/ipv6.html)
> 
> It's slightly outdated.  "RA input for hosts" was originally limited
> to what's described in RFC4862, but it's been extended over time.  The
> RFC4862-side (aka SLAAC) is still implemented in the kernel, but DNS
> configuration options (RFC8106, although the FreeBSD implementation
> may still only conform to RFC6106) are used in the user space.  The
> current trend seems to introduce more such high level config
> information to RA, so I'd expect these will also be handled in the
> user space.
> 
> BTW, regarding the original topic of 'why rtsold', my understanding is
> that its original motivation is to help hosts moving links.  At least
> at the time of development, there was no sophisticated detection
> mechanism when a host is connected to a new link, so no one else could
> send RS to get new network configuration information.  rtsold monitors
> link status and invokes new RS-RA exchanges when it detects a change
> of the link status from off to on.  Address lifetime expiration is not
> usually an issue since routers are supposed to send RAs periodically
> (with sufficiently short intervals to prevent accidental expiration);
> and in any case (AFAIK) rtsold doesn't help that situation, as it
> doesn't send RSes based on address lifetimes.
> 
> Today, we now use DNS config information provided via RA in the user
> space, so another role of rtsold is to reflect any changes to it while
> the host is still connected to the same link.   Routers are supposed
> to advertise RAs with new information, but without rtsold (or
> something equivalent) no one in the user space listens to those RAs to
> apply the configuration change.

Thank you for the explanation.

-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
2:5005/49@fidonet http://vas.tomsk.ru/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20181018163926.GA89723>