summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2022-10-30 16:45:24 -0400
committerMatthew Smith <mgsmith@netgate.com>2022-11-05 19:11:12 +0000
commitf094ce7653917b8c331a79c088ef63ea2679c40d (patch)
tree64affc51c42375c60064a8adf11c6ed55f5a25cd
parent23c989642c1061e5ebbbe55b6fbde274e0914a90 (diff)
ip6-nd: initialize radv_info->send_radv to 1
Otherwise, the newly configured interface will never send RADV's. See below. In the typical case, suppress = 0 and is_no = 0, which propagates the current value of radv->send_radv: radv_info->send_radv = (suppress != 0) ? ((is_no != 0) ? 1 : 0) : radv_info->send_radv; No other bit of code will set send_radv, at least in straightforward ways. Type:fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: If9368155f7676460ca1f87729c2b3c453405d08d
-rw-r--r--src/vnet/ip6-nd/ip6_ra.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vnet/ip6-nd/ip6_ra.c b/src/vnet/ip6-nd/ip6_ra.c
index 53f5a41418c..8cd7ab9e905 100644
--- a/src/vnet/ip6-nd/ip6_ra.c
+++ b/src/vnet/ip6-nd/ip6_ra.c
@@ -1700,6 +1700,9 @@ ip6_ra_config (vlib_main_t * vm, u32 sw_if_index,
if (!radv_info)
return (VNET_API_ERROR_IP6_NOT_ENABLED);
+ /* Start off believing that we're going to send radv's */
+ radv_info->send_radv = 1;
+
if ((max_interval != 0) && (min_interval == 0))
min_interval = .75 * max_interval;