Go to file
Donald Sharp fbc83b9a10 zebra: Limit speed lookup to at most 4 minutes
There exists some interface types that are slow on startup
to fully register their link speed.  Especially those that
are working with an asic backend.  The speed_update timer
associated with each interface would keep trying if the
system returned a MAX_UINT32 as the speed.  This speed
means both unknown or there is none under linux.

Since some interface types are slow on startup let's modify
FRR to try for at most 4 minutes and give up trying on those
interfaces where we never get any useful data.

Why 4 minutes?  I wanted to balance the time associated with
slow interfaces coming up with those that will never give us
a value.  So I choose 4 minutes as a good ballpark of time
to keep trying

Why not track all those interfaces and just not attempt to
do the speed lookup?  I would prefer to not keep track of these
as that I do not know all the interface types, nor do I wish
to keep programming as new ones come in.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-02-28 06:39:07 -05:00
.github .github: improve bug report template 2020-10-20 16:12:03 -04:00
alpine alpine: fix path for daemons file install 2021-08-30 15:21:59 -04:00
babeld *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
bfdd *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
bgpd *: Add necessary new line for output of vty_out() 2022-02-27 10:59:19 +08:00
debian debian, redhat: updating changelog for new release 2022-02-02 21:49:42 +02:00
doc doc: Add show thread timers doc commands 2022-02-28 06:39:07 -05:00
docker docker: update alpine build enable set own version 2022-01-04 13:14:51 -05:00
eigrpd *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
fpm build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
gdb *: Cleanup some documentation from quagga->frr 2021-11-11 14:41:27 -05:00
grpc build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
include zebra: Start of work to get data about mpls from kernel 2022-02-25 09:53:02 -05:00
isisd *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
ldpd *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
lib lib, vtysh: Add show thread timers command 2022-02-28 06:39:07 -05:00
m4 grpc: improve checks for GRPC C++ requirements 2021-05-22 00:01:06 +00:00
mlag build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
nhrpd *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
ospf6d *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
ospfclient *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
ospfd *: Add necessary new line for output of vty_out() 2022-02-27 10:59:19 +08:00
pathd *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
pbrd *: Add necessary new line for output of vty_out() 2022-02-27 10:59:19 +08:00
pceplib pceplib: Fix uninited data in test vehicle 2022-02-22 11:11:31 -05:00
pimd Merge pull request #10376 from patrasar/master_pimv6_vtysh 2022-02-28 10:26:22 +01:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python python: pass conditionals through clippy for DEFPY 2022-01-13 16:01:53 +01:00
qpb build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
redhat debian, redhat: updating changelog for new release 2022-02-02 21:49:42 +02:00
ripd *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
ripngd *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
sharpd *: Add necessary new line for output of vty_out() 2022-02-27 10:59:19 +08:00
snapcraft snapcraft: add missing dependency 2021-08-23 15:08:05 +03:00
staticd staticd: reject route config with too many nexthops 2022-02-17 09:56:40 -05:00
tests Merge pull request #10632 from donaldsharp/thread_return_null 2022-02-24 01:43:48 -05:00
tools tools: Add show thread timers to support bundle generation 2022-02-28 06:39:07 -05:00
vrrpd *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
vtysh lib, vtysh: Add show thread timers command 2022-02-28 06:39:07 -05:00
watchfrr *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
yang bgpd: evpn route-map match esr type-4 route-type 2022-02-17 09:55:00 -08:00
zebra zebra: Limit speed lookup to at most 4 minutes 2022-02-28 06:39:07 -05:00
.clang-format *: Add FOREACH_AFI_SAFI_NSF(afi, safi) macro to reduce nesting 2022-01-13 14:29:54 +02:00
.dir-locals.el tests: remove python format block from dir-locals 2021-09-13 10:04:29 -04:00
.dockerignore docker: Make docker image on CentOS 7 2019-11-26 19:29:30 +00:00
.git-blame-ignore-revs tools: Ignore mass renaming of topotests for git blame 2021-05-11 14:14:26 +03:00
.gitignore *: Add some missed make check generated files in .gitignore 2021-09-16 08:13:17 -04:00
.pylintrc tests: micronet: update infra 2021-09-04 09:04:46 -04:00
.travis.yml lib: libyang2 add missed conversion 2021-05-17 22:13:59 -04:00
bootstrap.sh build: turn on automake warnings (& symlinks) 2021-04-21 15:42:37 +02:00
buildtest.sh build: remove --enable-exampledir 2021-06-24 16:42:58 +02:00
config.version.in build: carry --with-pkg-extra-version into tarballs 2018-10-24 15:11:50 +02:00
configure.ac Merge pull request #9947 from mjstapp/mpls_incoming 2022-02-26 16:47:08 +01: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
Makefile.am build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
README.md doc: Update Documentation to note Solaris Unsupported status 2020-09-21 10:02:20 -04:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00
version.h build: make builddir include path consistent 2021-04-21 15:42:33 +02:00

Icon

FRRouting

FRR is free software that implements and manages various IPv4 and IPv6 routing protocols. It runs on nearly all distributions of Linux and BSD and supports all modern CPU architectures.

FRR currently supports the following protocols:

  • BGP
  • OSPFv2
  • OSPFv3
  • RIPv1
  • RIPv2
  • RIPng
  • IS-IS
  • PIM-SM/MSDP
  • LDP
  • BFD
  • Babel
  • PBR
  • OpenFabric
  • VRRP
  • EIGRP (alpha)
  • NHRP (alpha)

Installation & Use

For source tarballs, see the releases page.

For Debian and its derivatives, use the APT repository at https://deb.frrouting.org/.

Instructions on building and installing from source for supported platforms may be found in the developer docs.

Once installed, please refer to the user guide for instructions on use.

Community

The FRRouting email list server is located here and offers the following public lists:

Topic List
Development dev@lists.frrouting.org
Users & Operators frog@lists.frrouting.org
Announcements announce@lists.frrouting.org

For chat, we currently use Slack. You can join by clicking the "Slack" link under the Participate section of our website.

Contributing

FRR maintains developer's documentation which contains the project workflow and expectations for contributors. Some technical documentation on project internals is also available.

We welcome and appreciate all contributions, no matter how small!

Security

To report security issues, please use our security mailing list:

security [at] lists.frrouting.org