Bug#1101842: ITP: racd -- Extensible IPv6 Router Advertisement Client Daemon

Daniel Gröber <[email protected]> Tue, 1 Apr 2025 18:10:34 +0200
Newsgroups gmane.linux.debian.devel.ipv6
Message-ID <20250401161034.n43ov2rwxm525sgc__4092.90321856446$1743524133$gmane$org@darkboxed.org>
--vnvksa5drko6ecc4
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Package: wnpp
Severity: wishlist
Owner: Daniel Gr=C3=B6ber <[email protected]>
X-Debbugs-Cc: [email protected], [email protected], =
[email protected]

Forging ever on along the IPv6-only path.

RAcd is a peice of glue intended to allow system components such as
src:clatd to interface easily with IPv6 router advertisements, but while
I'm at it I may as well fix my gripes with Linux ipv6/addrconf =E2=80=94 so=
mething
that will ofc. be configurable.

The relatively recent addition of PREF64 to IPv6 standards has shown that
ossification is a terrible idea in a modern protocol implementations and
leads to sluggish deployment of perfectly good, but new, ideas.

RAcd is my fork of rdnssd (src:ndisc6) with DNS-configuration specific code
pushed out of the C-part of the program with a generalized mechanism to let
the system interface with it in it's place.

* Package name    : racd
  Version         : 0.1 (native package)
  Upstream Contact: Daniel Gr=C3=B6ber <[email protected]>
* License         : GPL-2 or GPL-3
  Programming Lang: C
  Description     : Extensible IPv6 Router Advertisement Client Daemon

 The RAcd userspace daemon takes over responsibility for IPv6 RAs from the
 Linux kernel. It does so by kicking off the necessary system changes using
 a system specific script akin to a DHCP client.
 .
 RAcd fixes some rough edges in the kernel ipv6/addrconf facility and goes
 back to the good'ol unix ways of being simple, portable and composible.

I haven't 100% decided on the script interface yet. I'm thinking either
(binary) files in /run/racd/$IFACE (in raw ICMPv6 option format) with a
commandline tool to query them or just steal the dhclient design involving
envvars.

I like the idea of having the state of RAs passively queryable in the
system somewhere so we could (in theory) always check what the state of the
system should be given a RA state, but maybe it's not actually so important
given rdisc6 exists for admins.

Personally I always found the dhclient script style to be very hard to work
with so maybe I should just follow my experience here.

I plan on maintaining racd myself, but co-maintainers are, as always,
welcome. Perhaps once some other people get interested in IPv6 again we
could start a team :-).

--Daniel

--vnvksa5drko6ecc4
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEV6G/FbT2+ZuJ7bKf05SBrh55rPcFAmfsD/gACgkQ05SBrh55
rPfL6BAAg7GIwX6QllctEsGsCH7eU/arf96jmgpYlgtfrqIy72Sni68lWNpFQqu9
2F++0sm3l/woqqd0p+uEsrhdH5QqflOL9E/Lw83Y6s9Seb9vO1VWUaf++ugYSczK
KQNQmhQX2bUd8npTpSzlAXhelGwdnem40N2rU5MRlyxgGS1VtX/CwG8w86nyoi3I
TaffcnffmeVeUxyY9N/FwsZyUQmldTIyWrFZdqnUXsYVMGusiW5eTZALN/G5oBFY
wHYgvVzziy5jwzG3F/uhKy2PocvFfH3ibpzmccZlFqUDlMqwhDy5I4fPwfkRJXYK
0GB1M3dmUXKRnw8lNHwxY9ZZN2hv7LrjlP9OsyWHm62B1aLrOG3uArsrjPXttavg
PlFBJE7S0GpzB8gZE3sSTS1dnzo2T5oet+4SyIw8HbNfpjZk5Sq2WsZOU8w8Ze/m
futuoTe9jWzDgQan0s3jxW5uoWn1ggZ/OSmkwN9aDFRROAZkk8rp95RqfaPcrp4I
l/7rQLqp6hRw4r9c/n/RY8xkIZUCR4WTEWIAI+606QYPBIr+QVBUkT17Qh6V8p4N
qiL5u6x8ARhbbmaEJ3gFt6gR9SP7VlICBM9Phd+Ot8dHUnTdT7n1cPcHXpuG9ttg
E2iT4AuP263ZQTaXdPvwRcbZMzTA7waLlnAQwI1vcv7hF55s3C0=
=ZA6Q
-----END PGP SIGNATURE-----

--vnvksa5drko6ecc4--