diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 10c8869..e6c101c 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -65,7 +65,9 @@ bgp_afi_node_get (struct bgp_table *tabl { struct bgp_node *rn; struct bgp_node *prn = NULL; - + + assert (table); + if (safi == SAFI_MPLS_VPN) { prn = bgp_node_get (table, (struct prefix *) prd); @@ -3177,7 +3179,8 @@ bgp_static_update (struct bgp *bgp, stru for (ALL_LIST_ELEMENTS (bgp->rsclient, node, nnode, rsclient)) { - bgp_static_update_rsclient (rsclient, p, bgp_static, afi, safi); + if (CHECK_FLAG (rsclient->af_flags[afi][safi], PEER_FLAG_RSERVER_CLIENT)) + bgp_static_update_rsclient (rsclient, p, bgp_static, afi, safi); } }