From: Paul Donald <newt...@gmail.com> Attempt to be helpful.
Signed-off-by: Paul Donald <newt...@gmail.com> --- src/config.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/config.c b/src/config.c index 6b3cb01..54fb9b5 100644 --- a/src/config.c +++ b/src/config.c @@ -939,11 +939,13 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr if ((c = tb[IFACE_ATTR_RA_REACHABLETIME])) { uint32_t ra_reachabletime = blobmsg_get_u32(c); - if (ra_reachabletime <= 3600000) - iface->ra_reachabletime = ra_reachabletime; - else - syslog(LOG_ERR, "Invalid %s value configured for interface '%s'", - iface_attrs[IFACE_ATTR_RA_REACHABLETIME].name, iface->name); + /* rfc4861#section-6.2.1 : AdvReachableTime : + * MUST be no greater than 3,600,000 msec + */ + iface->ra_reachabletime = (ra_reachabletime <= 3600000)? ra_reachabletime : 3600000; + if(ra_reachabletime > 3600000) + syslog(LOG_INFO, "Clamped invalid %s value configured for interface '%s' to %d", + iface_attrs[IFACE_ATTR_RA_REACHABLETIME].name, iface->name, iface->ra_reachabletime); } if ((c = tb[IFACE_ATTR_RA_RETRANSTIME])) { -- 2.44.0 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel