From 840fced957c89904faaf61b9c642ff900f4f42e7 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Tue, 19 May 2015 18:29:19 -0700 Subject: [PATCH] BGP 'show ip bgp nei x.x.x.x advertised-route' does not display 'Originating default network 0.0.0.0' --- bgpd/bgp_route.c | 8 ++++---- bgpd/bgpd.h | 9 ++++----- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 1fb8b9623c..a0fc60f95b 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -1526,8 +1526,7 @@ subgroup_announce_check_rsclient (struct bgp_info *ri, return 0; /* Default route check. */ - if (CHECK_FLAG (rsclient->af_sflags[afi][safi], - PEER_STATUS_DEFAULT_ORIGINATE)) + if (subgrp && CHECK_FLAG (subgrp->sflags, SUBGRP_STATUS_DEFAULT_ORIGINATE)) { if (p->family == AF_INET && p->u.prefix4.s_addr == INADDR_ANY) return 0; @@ -11671,6 +11670,7 @@ show_adj_route (struct vty *vty, struct peer *peer, afi_t afi, safi_t safi, struct attr attr; struct attr_extra extra; int ret; + struct update_subgroup *subgrp; bgp = peer->bgp; @@ -11680,9 +11680,9 @@ show_adj_route (struct vty *vty, struct peer *peer, afi_t afi, safi_t safi, table = bgp->rib[afi][safi]; output_count = filtered_count = 0; + subgrp = peer_subgroup(peer, afi, safi); - if (! in && CHECK_FLAG (peer->af_sflags[afi][safi], - PEER_STATUS_DEFAULT_ORIGINATE)) + if (!in && subgrp && CHECK_FLAG (subgrp->sflags, SUBGRP_STATUS_DEFAULT_ORIGINATE)) { vty_out (vty, "BGP table version is %" PRIu64 ", local router ID is %s%s", table->version, inet_ntoa (bgp->router_id), VTY_NEWLINE); vty_out (vty, BGP_SHOW_SCODE_HEADER, VTY_NEWLINE, VTY_NEWLINE); diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h index 78cdde6231..7bdd3e1f3b 100644 --- a/bgpd/bgpd.h +++ b/bgpd/bgpd.h @@ -665,11 +665,10 @@ struct peer u_int16_t af_sflags[AFI_MAX][SAFI_MAX]; #define PEER_STATUS_ORF_PREFIX_SEND (1 << 0) /* prefix-list send peer */ #define PEER_STATUS_ORF_WAIT_REFRESH (1 << 1) /* wait refresh received peer */ -#define PEER_STATUS_DEFAULT_ORIGINATE (1 << 2) /* default-originate peer */ -#define PEER_STATUS_PREFIX_THRESHOLD (1 << 3) /* exceed prefix-threshold */ -#define PEER_STATUS_PREFIX_LIMIT (1 << 4) /* exceed prefix-limit */ -#define PEER_STATUS_EOR_SEND (1 << 5) /* end-of-rib send to peer */ -#define PEER_STATUS_EOR_RECEIVED (1 << 6) /* end-of-rib received from peer */ +#define PEER_STATUS_PREFIX_THRESHOLD (1 << 2) /* exceed prefix-threshold */ +#define PEER_STATUS_PREFIX_LIMIT (1 << 3) /* exceed prefix-limit */ +#define PEER_STATUS_EOR_SEND (1 << 4) /* end-of-rib send to peer */ +#define PEER_STATUS_EOR_RECEIVED (1 << 5) /* end-of-rib received from peer */ /* Default attribute value for the peer. */ u_int32_t config; -- 2.39.5