staticd: fix display of the "nexthop-vrf" parameter of static routes

When the static route VRF and its nexthop VRF are inactive in the
kernel, both VRFs will have the same ID (VRF_UNKNOWN) even though
they might not be the same. This can cause "sh run" to not display
the "nexthop-vrf" parameter correctly when necessary. Change the
code to compare VRFs by their names to fix this problem.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
This commit is contained in:
Renato Westphal 2020-09-10 21:27:48 -03:00
parent 406537cb70
commit 0d0aacea95

View File

@ -423,7 +423,8 @@ int static_config(struct vty *vty, struct static_vrf *svrf, afi_t afi,
nh->snh_label.label,
buf, sizeof(buf), 0));
if (nh->nh_vrf_id != GET_STABLE_VRF_ID(info))
if (!strmatch(nh->nh_vrfname,
info->svrf->vrf->name))
vty_out(vty, " nexthop-vrf %s",
nh->nh_vrfname);