diff options
author | Christian Franke <chris@opensourcerouting.org> | 2013-04-11 08:24:30 +0000 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2013-07-31 18:49:50 +0200 |
commit | a0f6ce5b41dcfa059074d72c8fc61896d3e996a9 (patch) | |
tree | cfaa7586f2d5f434a851088dc7f29a546c74d26c /bgpd/bgp_nexthop.c | |
parent | 4ff3bcad8e81b643f3247317a3949d7867b36f75 (diff) |
bgpd: honor PEER_FLAG_DISABLE_CONNECTED_CHECK on bgp_scan
When neighbor disable-connected-check was used, bgpd would accept routes
with unconnected nexthop as indended, however those routes would be
invalidated on the next bgp_scan run as that function did not know about
disable-connected-check.
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'bgpd/bgp_nexthop.c')
-rw-r--r-- | bgpd/bgp_nexthop.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/bgpd/bgp_nexthop.c b/bgpd/bgp_nexthop.c index 4076fe41..17586bc8 100644 --- a/bgpd/bgp_nexthop.c +++ b/bgpd/bgp_nexthop.c @@ -453,7 +453,8 @@ bgp_scan (afi_t afi, safi_t safi) changed = 0; metricchanged = 0; - if (bi->peer->sort == BGP_PEER_EBGP && bi->peer->ttl == 1) + if (bi->peer->sort == BGP_PEER_EBGP && bi->peer->ttl == 1 + && !CHECK_FLAG(bi->peer->flags, PEER_FLAG_DISABLE_CONNECTED_CHECK)) valid = bgp_nexthop_onlink (afi, bi->attr); else valid = bgp_nexthop_lookup (afi, bi->peer, bi, |