[RFC PATCH 02/14] router: Apply updated values from RFC8319 (updates RFC4861) to RA/ND
Paul Donald
newtwen+github at gmail.com
Thu May 9 15:30:34 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>
---
src/router.c | 6 ++++--
src/router.h | 23 ++++++++++++++++++++++-
2 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/src/router.c b/src/router.c
index 7f5658b..ae0c545 100644
--- a/src/router.c
+++ b/src/router.c
@@ -382,8 +382,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;
+ /* // RouterLifetime is a 16 bit packet field: skip this check
+ else if (lifetime > RouterLifetime_MAX)
+ lifetime = RouterLifetime_MAX;
+ */
}
return lifetime;
diff --git a/src/router.h b/src/router.h
index 0444da8..1f8d156 100644
--- a/src/router.h
+++ b/src/router.h
@@ -32,8 +32,29 @@ 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_CEILING 65535
#define MinRtrAdvInterval 3
+#define AdvDefaultLifetime_CEILING 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.
+
+ Note: this is 16 bit Router Lifetime field in RA packets
+*/
+#define RouterLifetime_MAX 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