Go to file
Donald Sharp c42eab4bf5 bgpd: Respect ability to reach nexthop if available
When bgp is thinking about opening a connection to a peer,
if we are connected to zebra, allow that to influence our
decision to start the connection.

Found Scenario:

Both bgp and zebra are started up at the same time.  Zebra is
being used to create the connected route through which bgp
will establish a peering relationship.  The machine is a
bit loaded due to other startup conditions and as such bgp
gets to the connection stage here before zebra has installed
the route.  If bgp does not respect zebra data when it does
have a connection then we will attempt to connect.  The
connect will fail because there is no route.  At that time
we will go into the connect timeout(2 minutes) and delay
connection.

What this does.  If we have established a zebra connection and
we do not have a clear path to the destination at this point
do not allow the connection to proceed.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-11 07:46:43 -04:00
alpine alpine packaging: use a more standard packaging format 2018-04-09 15:34:50 -07:00
babeld babeld: fix cli option to override config file (-f) 2018-04-30 18:02:27 -07:00
bgpd bgpd: Respect ability to reach nexthop if available 2018-05-11 07:46:43 -04:00
debianpkg debianpkg: add libpython-dev to 17.10 & 18.04 build dependencies 2018-04-06 17:14:55 +10:00
doc Merge pull request #2195 from qlyoung/docuser 2018-05-10 10:24:06 -05:00
docker alpine packaging: use a more standard packaging format 2018-04-09 15:34:50 -07:00
eigrpd Merge pull request #2169 from piotrjurkiewicz/eigrp_feasibility 2018-05-03 23:02:36 -04:00
fpm build: clean up BUILT_SOURCES 2017-08-04 11:13:55 +02:00
gdb gdb: Add a directory of files with gdb macros 2016-05-26 15:33:30 +00:00
include *: PBR - netlink interaction and basic definitions 2018-03-09 11:07:41 -05:00
init build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
isisd isisd: use 0 as default-metric for redistribution 2018-05-08 17:32:15 +02:00
ldpd *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
lib Merge pull request #2137 from mkanjari/evpn-addr-change 2018-05-08 19:50:33 -04:00
m4 build: non-recursive auxiliary directories 2017-07-31 23:03:30 +02:00
nhrpd *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospf6d ospf6d: Fix ABR brouter calculation corruption 2018-05-08 15:36:44 -07:00
ospfclient *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospfd ospfd: use prefix2str in debugs in zebra module 2018-04-23 16:06:39 -04:00
pbrd pbrd: encode null fwmark to be consistent with zebra decode rule 2018-05-07 18:59:41 +02:00
pimd Merge pull request #2159 from donaldsharp/msdp_crash 2018-05-03 09:40:23 -05:00
pkgsrc *: Remove cvs control points 2017-12-05 17:28:12 -05:00
ports pimd: merge pimd as of 2015-01-19 2016-05-25 20:38:32 -04:00
python lib, python: DEFPY_ATTR, DEFPY_HIDDEN 2018-04-10 12:19:03 -04:00
qpb *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
redhat redhat, tools: Increase startup time out a bit 2018-05-01 23:35:53 -04:00
ripd ripd: rip_snmp.c - Remove not needed check 2018-04-11 07:35:20 -04:00
ripngd *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
sharpd sharpd: Add ability to register for nht 2018-03-16 12:27:22 -04:00
snapcraft snapcraft: Add PBR daemon to snap package 2018-04-30 18:53:18 -07:00
solaris gitignore: update references to FRR 2017-07-12 11:55:04 -05:00
tests tests: Add a prefix-sid test 2018-05-02 18:51:07 -04:00
tools redhat, tools: Increase startup time out a bit 2018-05-01 23:35:53 -04:00
vtysh Merge pull request #2073 from pguibert6WIND/bgp_fs_pbr 2018-05-02 18:54:11 -04:00
watchfrr *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
zebra zebra: Add a few more breadcrumbs 2018-05-02 16:50:37 -04:00
.clang-format ospfd: LSDB_LOOP treat it as a loop. 2018-01-17 13:29:58 -05:00
.dir-locals.el .dir-locals.el: show trailing whitespace 2017-11-07 12:05:09 -05:00
.dockerignore alpine packaging: build packages and base image directly from git 2018-04-04 10:05:44 -07:00
.gitignore *: globally ignore clippy-generated source 2018-03-09 17:52:15 -05:00
AUTHORS Initial revision 2002-12-13 20:15:29 +00:00
bootstrap.sh autoreconf -i 2007-02-06 19:28:28 +00:00
buildtest.sh config: switch a few references to say FRR 2017-07-12 11:25:33 -05:00
ChangeLog Rename: freerangerouting --> frrouting 2017-03-30 14:24:05 -04:00
common.am frr: --enable-address-sanitizer 2018-03-21 20:47:34 -04:00
COMMUNITY.md frr, doc: Move COMMUNITY.md to doc/developer/workflow.rst 2018-03-19 13:56:43 -04:00
configure.ac configure: Update version to 5.1-dev 2018-05-02 07:28:39 -07:00
COPYING *: make consistent & update GPLv2 file headers 2017-05-15 16:37:41 +02:00
COPYING-LGPLv2.1 build: remove LGPL v2.0, add LGPL v2.1 2016-11-15 17:19:38 +09:00
defaults.h *: reindent 2017-07-17 14:04:07 +02:00
Makefile.am pbrd: Add PBR to FRR 2018-04-06 13:22:43 -04:00
NEWS release: 0.99.24 2016-06-03 15:56:44 -04:00
README frr: update README 2018-01-16 15:54:32 -05:00
README.NetBSD config: switch a few references to say FRR 2017-07-12 11:25:33 -05:00
REPORTING-BUGS config: switch a few references to say FRR 2017-07-12 11:25:33 -05:00
SERVICES babeld/eigrpd: flip VTY ports & fix rpm 2017-06-13 14:36:55 +02:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00
update-autotools * README.NetBSD: use update-autotools instead of autoreconf 2007-02-02 16:52:38 +00:00

FRRouting is free software that implements and manages various IPv4 and IPv6
routing protocols.

Currently FRRouting supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, RIPng,
IS-IS, PIM-SM/MSDP, LDP and Babel as well as very early support for EIGRP and
NHRP.

See the file REPORTING-BUGS to report bugs.

See COMMUNITY.md for information on contributing.

Free RRRouting is free software. See the file COPYING for copying conditions.

Public email discussion can be found at https://lists.frrouting.org/listinfo

Our public slack channel is at https://frrouting.slack.com