OpenBSD CVS

CVS log for src/usr.sbin/rad/rad.h


[BACK] Up to [local] / src / usr.sbin / rad

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.28 / (download) - annotate - [select for diffs], Fri May 31 16:10:42 2024 UTC (8 days, 10 hours ago) by florian
Branch: MAIN
CVS Tags: HEAD
Changes since 1.27: +4 -1 lines
Diff to previous 1.27 (colored)

Prefixes delegated via DHCPv6 have a lifetime, honour it.

The "auto prefix" feature derives the prefix to announce from a
configured IPv6 address. If that address has a vltime / pltime use
that value in router advertisements instead of statically configured
values.

We also need to count down the vltime / pltime as time progresses.

testing Ryan Vogt
testing & OK bket@, jmatthew@

Revision 1.27 / (download) - annotate - [select for diffs], Fri May 17 06:50:14 2024 UTC (3 weeks, 1 day ago) by florian
Branch: MAIN
Changes since 1.26: +2 -1 lines
Diff to previous 1.26 (colored)

Send source link-layer address option in router advertisements.

With this, hosts immediately learn the layer 2 (i.e. ethernet mac)
address of their default router and don't need to do another round
trip.

It also turns out that apple devices (macOS & iOS) install the default
route as what they call "interface scoped" if a DNS option is present
and the source link-layer address option is absent. This effectively
makes the default route unusable.

Problem with fruit devices tracked down & diff by Ryan Vogt (rvogt.ca
AT gmail), thanks!

OK sthen, bket

Revision 1.26 / (download) - annotate - [select for diffs], Tue Apr 23 22:11:59 2024 UTC (6 weeks, 4 days ago) by florian
Branch: MAIN
Changes since 1.25: +2 -1 lines
Diff to previous 1.25 (colored)

Implement RFC 4191 default router preference.

OK phessler, kn

(Committing from a ferry somewhere on the English channel. Sadly the
free WiFi does not provide IPv6.)

Revision 1.25 / (download) - annotate - [select for diffs], Thu Apr 27 16:56:52 2023 UTC (13 months, 1 week ago) by phessler
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored)

RFC 9096 changes the default timers for prefix preferred and valid lifetimes,
so update rad(8) to the new ones.

OK florian@

Revision 1.24 / (download) - annotate - [select for diffs], Wed Dec 28 21:30:18 2022 UTC (17 months, 1 week ago) by jmc
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

spelling fixes; from paul tagliamonte
any parts of his diff not taken are noted on tech

Revision 1.23 / (download) - annotate - [select for diffs], Sat Oct 15 13:26:15 2022 UTC (19 months, 3 weeks ago) by florian
Branch: MAIN
Changes since 1.22: +11 -1 lines
Diff to previous 1.22 (colored)

Implement RFC 8781 PREF64 router advertisement option.

With this clients can learn the presence and used prefix for Network
Address and Protocol Translation between IPv6 and IPv4 (NAT64).

Apparently there is support in mobile devices as well as in macOS.

This option, together with the the dhcp "IPv6-only preferred"
option (108) enables the Customer-side transLATor (CLAT) on macOS so
IPv4 literals can be used in IPv6-only networks.

Input & OK kn

Revision 1.22 / (download) - annotate - [select for diffs], Wed Mar 23 15:26:08 2022 UTC (2 years, 2 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.21: +4 -2 lines
Diff to previous 1.21 (colored)

Rate limit router advertisements according to RFC 4861 6.2.6. In
particular make sure to send at most one multicast advertisement every
three seconds.
input & OK deraadt

Revision 1.21 / (download) - annotate - [select for diffs], Sat Feb 27 10:35:20 2021 UTC (3 years, 3 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

Path #defines are traditionally prefixed with _PATH.
Pointed out by deraadt

Revision 1.20 / (download) - annotate - [select for diffs], Tue Jan 19 16:53:27 2021 UTC (3 years, 4 months ago) by florian
Branch: MAIN
Changes since 1.19: +1 -13 lines
Diff to previous 1.19 (colored)

No need for a global rad_process; unbreaks -fno-common.
Problem reported by mortimer

Revision 1.19 / (download) - annotate - [select for diffs], Tue Dec 1 17:31:37 2020 UTC (3 years, 6 months ago) by florian
Branch: MAIN
Changes since 1.18: +3 -5 lines
Diff to previous 1.18 (colored)

Let rad(8) handle all rdomains in a single daemon, similar to previous
work in slaacd.
Suggested / requested by tb who showed me previous work by reyk which
unfortunately predated my work in slaacd and followed a different
pattern to that done in slaacd.
Testing & OK tb

Revision 1.18 / (download) - annotate - [select for diffs], Mon Mar 30 17:47:48 2020 UTC (4 years, 2 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.17: +15 -13 lines
Diff to previous 1.17 (colored)

Use defines instead of raw numbers for intervals specified by RFC
4861. No binary change.
While here consistently use #define<tab> instead of #define<space>.

Revision 1.17 / (download) - annotate - [select for diffs], Sat Mar 2 03:40:45 2019 UTC (5 years, 3 months ago) by pamela
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.16: +3 -1 lines
Diff to previous 1.16 (colored)

Introduce the IMSG_DATA_SIZE() macro to replace recurring math on imsg.hdr.len to shorten and simplify code.
OK florian@

Revision 1.16 / (download) - annotate - [select for diffs], Tue Jan 29 15:43:33 2019 UTC (5 years, 4 months ago) by florian
Branch: MAIN
Changes since 1.15: +1 -2 lines
Diff to previous 1.15 (colored)

We don't need IMSG_SHUTDOWN, we can just close the sockets.
pointed out by deraadt

Revision 1.15 / (download) - annotate - [select for diffs], Fri Aug 3 13:14:46 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.14: +17 -16 lines
Diff to previous 1.14 (colored)

Move dns settings to global options so that they don't need to be
repeated in every interface block - they can still be overwritten
on a per interface basis.
Pointed out by, tweaks & OK sthen

Revision 1.14 / (download) - annotate - [select for diffs], Fri Jul 20 20:35:00 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.13: +1 -2 lines
Diff to previous 1.13 (colored)

No need to copy rdns_lifetime around with an IMSG, it gets send to the
engine end frontend as part of ra_iface_conf.

Spotted after explaining to bket@ that a similar pattern is not needed
for the mtu option.

Revision 1.13 / (download) - annotate - [select for diffs], Fri Jul 20 20:34:18 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

Fix mem leaks on config reload:
- always free struct ra_iface_conf with free_ra_iface_conf()
- free_ra_iface_conf() needs to free the recently added
nameserver and search list

Revision 1.12 / (download) - annotate - [select for diffs], Fri Jul 20 17:55:09 2018 UTC (5 years, 10 months ago) by bket
Branch: MAIN
Changes since 1.11: +3 -2 lines
Diff to previous 1.11 (colored)

Introduce MTU option.

The MTU option is used in Router Advertisement messages to ensure that
all nodes on a link use the same MTU value in those cases where the link
MTU is not well known.

Feedback (thank you!) and OK from florian@

Revision 1.11 / (download) - annotate - [select for diffs], Sun Jul 15 09:28:21 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.10: +29 -6 lines
Diff to previous 1.10 (colored)

Implement RFC 8106: IPv6 Router Advertisement Options for DNS
Configuration.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Jul 15 09:25:41 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.9: +1 -2 lines
Diff to previous 1.9 (colored)

nuke newd leftover

Revision 1.9 / (download) - annotate - [select for diffs], Fri Jul 13 08:32:10 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.8: +2 -1 lines
Diff to previous 1.8 (colored)

pass control socket in from main

Revision 1.8 / (download) - annotate - [select for diffs], Fri Jul 13 08:31:34 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.7: +2 -1 lines
Diff to previous 1.7 (colored)

pass in route socket from main; stub out handling for now

Revision 1.7 / (download) - annotate - [select for diffs], Thu Jul 12 08:18:10 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

use _rad user

Revision 1.6 / (download) - annotate - [select for diffs], Wed Jul 11 19:05:25 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.5: +2 -1 lines
Diff to previous 1.5 (colored)

cleanly shutdown by sending advertisement with lifetime 0

Revision 1.5 / (download) - annotate - [select for diffs], Wed Jul 11 17:32:05 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (colored)

Send a RA with router lifetime of 0 when an interface is removed from
the config.

RFC 4861, 6.2.5:
[...] the router SHOULD transmit one or more (but not more than
MAX_FINAL_RTR_ADVERTISEMENTS) final multicast Router Advertisements on
the interface with a Router Lifetime field of zero.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Jul 11 14:03:13 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.3: +2 -1 lines
Diff to previous 1.3 (colored)

Detect when a router advertisement packet changes due to config
change and if it does send a new advertisement.

The way this is implemented gives us various things for free:
- periodic sending of router advertisements
- send initial advertisement for every interface on startup

Revision 1.3 / (download) - annotate - [select for diffs], Wed Jul 11 14:01:44 2018 UTC (5 years, 10 months ago) by florian
Branch: MAIN
Changes since 1.2: +1 -3 lines
Diff to previous 1.2 (colored)

no longer needed

Revision 1.2 / (download) - annotate - [select for diffs], Tue Jul 10 22:14:19 2018 UTC (5 years, 11 months ago) by florian
Branch: MAIN
Changes since 1.1: +1 -21 lines
Diff to previous 1.1 (colored)

remove newd control leftovers

Revision 1.1 / (download) - annotate - [select for diffs], Tue Jul 10 16:39:54 2018 UTC (5 years, 11 months ago) by florian
Branch: MAIN

Import rad(8).
It's a Router Advertisement Daemon written using the standard 3
process privsep pattern and a parse.y based config file.
Commit early to continue work in tree.
OK jca
"it's totally rad" phessler@
"usr.sbin never runs out of space" deraadt@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.