diff options
| author | Daniel Walton <dwalton@cumulusnetworks.com> | 2015-11-10 15:29:12 +0000 | 
|---|---|---|
| committer | Daniel Walton <dwalton@cumulusnetworks.com> | 2015-11-10 15:29:12 +0000 | 
| commit | 2a3d57318c315aca75d54f93037e2fe52de30569 (patch) | |
| tree | 2573b389faf240771837f3fc9fa5e006471c2696 /bgpd/bgp_updgrp.h | |
| parent | 30e129bd4083ff9fe743c1be8cc45da6d6232025 (diff) | |
BGP: route-server will now use addpath...chop the _rsclient code
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-8122
per draft-ietf-idr-ix-bgp-route-server-09:
2.3.2.2.2.  BGP ADD-PATH Approach
   The [I-D.ietf-idr-add-paths] Internet draft proposes a different
   approach to multiple path propagation, by allowing a BGP speaker to
   forward multiple paths for the same prefix on a single BGP session.
   As [RFC4271] specifies that a BGP listener must implement an implicit
   withdraw when it receives an UPDATE message for a prefix which
   already exists in its Adj-RIB-In, this approach requires explicit
   support for the feature both on the route server and on its clients.
   If the ADD-PATH capability is negotiated bidirectionally between the
   route server and a route server client, and the route server client
   propagates multiple paths for the same prefix to the route server,
   then this could potentially cause the propagation of inactive,
   invalid or suboptimal paths to the route server, thereby causing loss
   of reachability to other route server clients.  For this reason, ADD-
   PATH implementations on a route server should enforce send-only mode
   with the route server clients, which would result in negotiating
   receive-only mode from the client to the route server.
This allows us to delete all of the following code:
- All XXXX_rsclient() functions
- peer->rib
- BGP_TABLE_MAIN and BGP_TABLE_RSCLIENT
- RMAP_IMPORT and RMAP_EXPORT
Diffstat (limited to 'bgpd/bgp_updgrp.h')
| -rw-r--r-- | bgpd/bgp_updgrp.h | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/bgpd/bgp_updgrp.h b/bgpd/bgp_updgrp.h index 427168db5a..cbaf65ed4c 100644 --- a/bgpd/bgp_updgrp.h +++ b/bgpd/bgp_updgrp.h @@ -39,6 +39,7 @@  			      PEER_FLAG_SEND_EXT_COMMUNITY |	\  			      PEER_FLAG_DEFAULT_ORIGINATE |	\  			      PEER_FLAG_REFLECTOR_CLIENT |	\ +			      PEER_FLAG_RSERVER_CLIENT |	\  			      PEER_FLAG_NEXTHOP_SELF |	\  			      PEER_FLAG_NEXTHOP_UNCHANGED |	\  			      PEER_FLAG_FORCE_NEXTHOP_SELF |	\ @@ -472,7 +473,7 @@ bgp_adj_out_unset_subgroup (struct bgp_node *rn,                              u_int32_t addpath_tx_id);  void  subgroup_announce_table (struct update_subgroup *subgrp, -			 struct bgp_table *table, int rsclient); +			 struct bgp_table *table);  extern void  subgroup_trigger_write (struct update_subgroup *subgrp);  | 
