summaryrefslogtreecommitdiff
path: root/bgpd
diff options
context:
space:
mode:
authorVasilis Tsiligiannis <b_tsiligiannis@silverton.gr>2009-07-20 01:25:16 +0300
committerPaul Jakma <paul@quagga.net>2009-07-21 14:44:41 +0100
commit638b70ba9893705bb3268aa00c25b8cb0e060b32 (patch)
tree51eaabdcfba4bfd4b5aa54c7a1b20298c9e2fc2a /bgpd
parenta294365797da8b72e51507cbf92dbc6940e5103b (diff)
[bgp] Fix nexthop reachability check on confederations
* bgp_route.c: (bgp_update_main) Nexthop reachability should be checked for confederations too in case a prefix is received from more than one confederation peers.
Diffstat (limited to 'bgpd')
-rw-r--r--bgpd/bgp_route.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index bc21f3c6..20880396 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -2247,6 +2247,7 @@ bgp_update_main (struct peer *peer, struct prefix *p, struct attr *attr,
if ((afi == AFI_IP || afi == AFI_IP6)
&& safi == SAFI_UNICAST
&& (peer_sort (peer) == BGP_PEER_IBGP
+ || peer_sort (peer) == BGP_PEER_CONFED
|| (peer_sort (peer) == BGP_PEER_EBGP && peer->ttl != 1)
|| CHECK_FLAG (peer->flags, PEER_FLAG_DISABLE_CONNECTED_CHECK)))
{
@@ -2293,6 +2294,7 @@ bgp_update_main (struct peer *peer, struct prefix *p, struct attr *attr,
if ((afi == AFI_IP || afi == AFI_IP6)
&& safi == SAFI_UNICAST
&& (peer_sort (peer) == BGP_PEER_IBGP
+ || peer_sort (peer) == BGP_PEER_CONFED
|| (peer_sort (peer) == BGP_PEER_EBGP && peer->ttl != 1)
|| CHECK_FLAG (peer->flags, PEER_FLAG_DISABLE_CONNECTED_CHECK)))
{