summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_route.c
diff options
context:
space:
mode:
authorPradosh Mohapatra <pmohapat@cumulusnetworks.com>2013-09-07 07:07:20 +0000
committerDavid Lamparter <equinox@opensourcerouting.org>2014-06-03 15:08:08 +0200
commit2c13299a05e5544a5e79c2a970256a21f488a3fa (patch)
tree1d277afb9b346388e1aa244484c3af41dcd6a72e /bgpd/bgp_route.c
parent66d2ead7df2db9144605c973fcd80b88df33f81b (diff)
downloadquagga-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.c10
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))