staticd: fix warning when creating routes without SR-TE colors

The SR-TE color YANG leaf is optional so it shouldn't be created
unconditionally (it doesn't have a default value).

Fixes warnings like this when routes are created without specifying
a SR-TE color:
STATIC: libyang: Invalid value "" in "srte-color" element.
(/frr-routing:routing/control-plane-protocols/control-plane-protocol[type='frr-s
taticd:staticd'][name='staticd'][vrf='default']/frr-staticd:staticd/route-list[p
refix='99.0.0.1/32'][afi-safi='frr-routing:ipv4-unicast']/path-list[distance='1'
]/frr-nexthops/nexthop[nh-type='ip4'][vrf='default'][gateway='192.168.1.2'][inte
rface='(null)']/srte-color)

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
This commit is contained in:
Renato Westphal 2020-08-19 19:48:21 -03:00
parent 54c1ad9802
commit 77463bc8a3

View File

@ -257,8 +257,9 @@ static int static_route_leak(struct vty *vty, const char *svrf,
strlcpy(ab_xpath, xpath_nexthop, sizeof(ab_xpath)); strlcpy(ab_xpath, xpath_nexthop, sizeof(ab_xpath));
strlcat(ab_xpath, FRR_STATIC_ROUTE_NH_COLOR_XPATH, strlcat(ab_xpath, FRR_STATIC_ROUTE_NH_COLOR_XPATH,
sizeof(ab_xpath)); sizeof(ab_xpath));
nb_cli_enqueue_change(vty, ab_xpath, NB_OP_MODIFY, if (color_str)
color_str); nb_cli_enqueue_change(vty, ab_xpath,
NB_OP_MODIFY, color_str);
} }
if (label_str) { if (label_str) {
/* copy of label string (start) */ /* copy of label string (start) */