]> git.puffer.fish Git - mirror/frr.git/commitdiff
2004-05-01 rivo nurges <rix@estpak.ee>
authorpaul <paul>
Sat, 1 May 2004 18:17:04 +0000 (18:17 +0000)
committerpaul <paul>
Sat, 1 May 2004 18:17:04 +0000 (18:17 +0000)
         * bgp_route.c: fix UNH IOL BGP-4.1.12f

bgpd/ChangeLog
bgpd/bgp_route.c

index 1eaea4e3c657592d5b0a55a6d3eddf8cdf8f1d08..211898202c0be5f9c45d3f8594b0ed7d3d517f8e 100644 (file)
@@ -1,3 +1,7 @@
+2004-05-01 rivo nurges <rix@estpak.ee>
+        * bgp_route.c: fix UNH IOL BGP-4.1.12f
 2004-05-01 Paul Jakma <paul@dishone.st>
 
        * Revert the attempted clean-up of the dummy peer hack, reverts
index 32227cbb406545e1c65d4409a9928bd21ab9e498..97636effe44a40813038a8e7b229c6f60b3d08a3 100644 (file)
@@ -480,6 +480,16 @@ 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, &ri->attr->nexthop))
+    return 0;
+#ifdef HAVE_IPV6
+  if (p->family == AF_INET6
+     && IPV6_ADDR_SAME(&peer->remote_id, &ri->attr->nexthop))
+    return 0;
+#endif
+
   /* Aggregate-address suppress check. */
   if (ri->suppress)
     if (! UNSUPPRESS_MAP_NAME (filter))