diff --git a/bgpd/bgp_nht.c b/bgpd/bgp_nht.c index 057e2ace76..aa752280cf 100644 --- a/bgpd/bgp_nht.c +++ b/bgpd/bgp_nht.c @@ -377,6 +377,7 @@ bgp_parse_nexthop_update (int command, vrf_id_t vrf_id) bgp_unlock_node (rn); bnc->last_update = bgp_clock(); bnc->change_flags = 0; + stream_getc (s); // Distance but not currently used metric = stream_getl (s); nexthop_num = stream_getc (s); diff --git a/zebra/zebra_rnh.c b/zebra/zebra_rnh.c index 182cfe552d..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); @@ -917,8 +918,9 @@ 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));