diff options
Diffstat (limited to 'zebra/zebra_rnh.c')
| -rw-r--r-- | zebra/zebra_rnh.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/zebra/zebra_rnh.c b/zebra/zebra_rnh.c index c4c11f98d9..b180930a0a 100644 --- a/zebra/zebra_rnh.c +++ b/zebra/zebra_rnh.c @@ -878,6 +878,7 @@ send_client (struct rnh *rnh, struct zserv *client, rnh_type_t type, vrf_id_t vr } if (rib) { + stream_putc (s, rib->distance); stream_putl (s, rib->metric); num = 0; nump = stream_get_endp(s); @@ -900,7 +901,6 @@ send_client (struct rnh *rnh, struct zserv *client, rnh_type_t type, vrf_id_t vr stream_put_in_addr (s, &nexthop->gate.ipv4); stream_putl (s, nexthop->ifindex); break; -#ifdef HAVE_IPV6 case NEXTHOP_TYPE_IPV6: stream_put (s, &nexthop->gate.ipv6, 16); break; @@ -908,7 +908,6 @@ send_client (struct rnh *rnh, struct zserv *client, rnh_type_t type, vrf_id_t vr stream_put (s, &nexthop->gate.ipv6, 16); stream_putl (s, nexthop->ifindex); break; -#endif /* HAVE_IPV6 */ default: /* do nothing */ break; @@ -919,12 +918,13 @@ send_client (struct rnh *rnh, struct zserv *client, rnh_type_t type, vrf_id_t vr } else { - stream_putl (s, 0); - stream_putc (s, 0); + stream_putc (s, 0); // distance + stream_putl (s, 0); // metric + stream_putc (s, 0); // nexthops } stream_putw_at (s, 0, stream_get_endp (s)); - client->nh_last_upd_time = quagga_monotime(); + client->nh_last_upd_time = monotime(NULL); client->last_write_cmd = cmd; return zebra_server_send_message(client); } |
