From: Quentin Young Date: Wed, 24 Oct 2018 06:54:15 +0000 (+0000) Subject: staticd: finish missing onlink pieces X-Git-Tag: frr-7.1-dev~241^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=7f1a170ffe87b0d270c1ba0eda92f9440c1d616a;p=matthieu%2Ffrr.git staticd: finish missing onlink pieces Missed a cherry-pick somewhere, `onlink` was never actually displayed in the config although it could be configured. Signed-off-by: Quentin Young --- diff --git a/staticd/static_vty.c b/staticd/static_vty.c index 28fac0c870..bc8a429d56 100644 --- a/staticd/static_vty.c +++ b/staticd/static_vty.c @@ -199,7 +199,7 @@ static int zebra_static_route_holdem( const char *dest_str, const char *mask_str, const char *src_str, const char *gate_str, const char *ifname, const char *flag_str, const char *tag_str, const char *distance_str, const char *label_str, - const char *table_str) + const char *table_str, bool onlink) { struct static_hold_route *shr, *lookup; struct listnode *node; @@ -212,6 +212,7 @@ static int zebra_static_route_holdem( shr->nhvrf_name = XSTRDUP(MTYPE_STATIC_ROUTE, nh_svrf->vrf->name); shr->afi = afi; shr->safi = safi; + shr->onlink = onlink; if (dest) prefix_copy(&shr->dest, dest); if (dest_str) @@ -347,7 +348,7 @@ static int static_route_leak( return zebra_static_route_holdem( svrf, nh_svrf, afi, safi, negate, &p, dest_str, mask_str, src_str, gate_str, ifname, flag_str, tag_str, - distance_str, label_str, table_str); + distance_str, label_str, table_str, onlink); } if (table_str) { @@ -646,7 +647,9 @@ int static_config(struct vty *vty, struct static_vrf *svrf, afi_t afi, if (shr->table_str) vty_out(vty, "table %s", shr->table_str); if (strcmp(shr->vrf_name, shr->nhvrf_name) != 0) - vty_out(vty, "nexthop-vrf %s", shr->nhvrf_name); + vty_out(vty, "nexthop-vrf %s ", shr->nhvrf_name); + if (shr->onlink) + vty_out(vty, "onlink"); vty_out(vty, "\n"); } @@ -717,6 +720,9 @@ int static_config(struct vty *vty, struct static_vrf *svrf, afi_t afi, svrf->vrf->data.l.table_id == RT_TABLE_MAIN) vty_out(vty, " table %u", si->table_id); + if (si->onlink) + vty_out(vty, " onlink"); + vty_out(vty, "\n"); write = 1;