From: Dave Barach Date: Sun, 30 Oct 2022 20:45:24 +0000 (-0400) Subject: ip6-nd: initialize radv_info->send_radv to 1 X-Git-Tag: v23.06-rc0~145 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=f094ce7653917b8c331a79c088ef63ea2679c40d;p=vpp.git 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 Change-Id: If9368155f7676460ca1f87729c2b3c453405d08d --- 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;