[PATCH v2 6/9] router: Apply updated values from RFC8319 (updates RFC4861) to RA/ND

Paul Donald newtwen+github at gmail.com
Fri Apr 5 04:06:50 PDT 2024


From: Paul Donald <newtwen at gmail.com>

https://www.rfc-editor.org/rfc/rfc8319#section-4

Signed-off-by: Paul Donald <newtwen at gmail.com>
Reviewed-by: Daniel Golle <daniel at makrotopia.org>
---
 src/router.c |  6 ++++--
 src/router.h | 21 ++++++++++++++++++++-
 2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/src/router.c b/src/router.c
index a1a7829..4239aa8 100644
--- a/src/router.c
+++ b/src/router.c
@@ -377,8 +377,10 @@ static uint32_t calc_ra_lifetime(struct interface *iface, uint32_t maxival)
 		lifetime = iface->ra_lifetime;
 		if (lifetime > 0 && lifetime < maxival)
 			lifetime = maxival;
-		else if (lifetime > 9000)
-			lifetime = 9000;
+		else if (lifetime > AdvDefaultLifetime)
+			lifetime = AdvDefaultLifetime;
+		else if (lifetime > RouterLifetime)
+			lifetime = RouterLifetime;
 	}
 
 	return lifetime;
diff --git a/src/router.h b/src/router.h
index 0444da8..b91c60a 100644
--- a/src/router.h
+++ b/src/router.h
@@ -32,8 +32,27 @@ struct icmpv6_opt {
 
 #define MaxInitialRtrAdvInterval	16
 #define MaxInitialRtAdvs		3
-#define MaxRtrAdvInterval		1800
+/* RFC8319 §4
+   This document updates §4.2 and 6.2.1 of [RFC4861] to change
+   the following router configuration variables.
+
+   In §6.2.1, inside the paragraph that defines
+   MaxRtrAdvInterval, change 1800 to 65535 seconds.
+
+   In §6.2.1, inside the paragraph that defines
+   AdvDefaultLifetime, change 9000 to 65535 seconds.
+*/
+#define MaxRtrAdvInterval		65535
 #define MinRtrAdvInterval		3
+#define AdvDefaultLifetime 		65535
+/* RFC8319 §4
+   This document updates §4.2 and 6.2.1 of [RFC4861] to change
+   the following router configuration variables.
+
+   In §4.2, inside the paragraph that defines Router Lifetime,
+   change 9000 to 65535 seconds.
+*/
+#define RouterLifetime          65535
 
 #define ND_RA_FLAG_PROXY		0x4
 #define ND_RA_PREF_HIGH			(1 << 3)
-- 
2.44.0




More information about the openwrt-devel mailing list