diff options
author | Pradosh Mohapatra <pmohapat@cumulusnetworks.com> | 2013-09-07 07:07:20 +0000 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2014-06-03 15:08:08 +0200 |
commit | 2c13299a05e5544a5e79c2a970256a21f488a3fa (patch) | |
tree | 1d277afb9b346388e1aa244484c3af41dcd6a72e /bgpd/bgp_route.c | |
parent | 66d2ead7df2db9144605c973fcd80b88df33f81b (diff) | |
download | quagga-2c13299a05e5544a5e79c2a970256a21f488a3fa.tar.bz2 quagga-2c13299a05e5544a5e79c2a970256a21f488a3fa.tar.xz |
bgpd: don't compare next-hop to router-id
While announcing a path to a peer, the code currently compares the path's
next-hop with the peer's router-id. This can lead to problems as the router
IDs are unique only within an AS. Suppose AS 1 sends route with next-hop
10.1.1.1. It is possible that the speaker has an established BGP peering
with a router in AS 2 with router ID 10.1.1.1. The route will not be
advertised to that peer in AS 2.
The patch removes this check.
Signed-off-by: Pradosh Mohapatra <pmohapat@cumulusnetworks.com>
Reviewed-by: Dinesh G Dutt <ddutt@cumulusnetworks.com>
Reviewed-by: Shrijeet Mukherjee <shm@cumulusnetworks.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'bgpd/bgp_route.c')
-rw-r--r-- | bgpd/bgp_route.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 46c0c85f..a919b54e 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -823,16 +823,6 @@ bgp_announce_check (struct bgp_info *ri, struct peer *peer, struct prefix *p, if (from == peer) return 0; - /* If peer's id and route's nexthop are same. draft-ietf-idr-bgp4-23 5.1.3 */ - if (p->family == AF_INET - && IPV4_ADDR_SAME(&peer->remote_id, &riattr->nexthop)) - return 0; -#ifdef HAVE_IPV6 - if (p->family == AF_INET6 - && IPV6_ADDR_SAME(&peer->remote_id, &riattr->nexthop)) - return 0; -#endif - /* Aggregate-address suppress check. */ if (ri->extra && ri->extra->suppress) if (! UNSUPPRESS_MAP_NAME (filter)) |