From: Paul Donald <newt...@gmail.com>

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

Signed-off-by: Paul Donald <newt...@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


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to