Go to file
Donald Sharp cc53b605e6 watchfrr: Allow end users to turn off watchfrr for a particular daemon
Allow an end user who is debugging behavior, with say gdb, to turn
off watchfrr and it's attempts to keep control of a daemons up/responsiveness

With code change:
donna.cumulusnetworks.com# show watchfrr
watchfrr global phase: Idle
  zebra                Up
  bgpd                 Up/Ignoring Timeout
  staticd              Up

Now grab bgpd with gdb:

sharpd@donna ~/frr4> date ; sudo gdb -p 27893
Mon 16 Sep 2019 01:44:57 PM EDT
GNU gdb (GDB) Fedora 8.3-6.fc30
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
Attaching to process 27893
[New LWP 27894]
[New LWP 27895]
[New LWP 27896]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007f1787a3e5c7 in poll () from /lib64/libc.so.6
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.29-15.fc30.x86_64 gperftools-libs-2.7-5.fc30.x86_64 json-c-0.13.1-4.fc30.x86_64 libcap-2.26-5.fc30.x86_64 libgcc-9.1.1-1.fc30.x86_64 libgcrypt-1.8.4-3.fc30.x86_64 libgpg-error-1.33-2.fc30.x86_64 libstdc++-9.1.1-1.fc30.x86_64 libxcrypt-4.4.6-2.fc30.x86_64 libyang-0.16.105-1.fc30.x86_64 lua-libs-5.3.5-5.fc30.x86_64 lz4-libs-1.8.3-2.fc30.x86_64 pcre-8.43-2.fc30.x86_64 xz-libs-5.2.4-5.fc30.x86_64
(gdb)

In another window we can see when watchfrr thinks it's not responding:

donna.cumulusnetworks.com# show watchfrr
watchfrr global phase: Idle
  zebra                Up
  bgpd                 Unresponsive/Ignoring Timeout
  staticd              Up

Finally exit gdb and watchfrr now believes bgpd is good to go again:

donna.cumulusnetworks.com# show watchfrr
watchfrr global phase: Idle
  zebra                Up
  bgpd                 Up/Ignoring Timeout
  staticd              Up

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-09-16 13:47:50 -04:00
.github .github: move pr template to subdir 2019-03-29 16:51:58 +00:00
alpine docker: build alpine docker w/ rpki enabled 2019-07-15 17:39:43 +00:00
babeld Revert "Ospf missing interface handling 2" 2019-06-23 19:46:39 -04:00
bfdd Merge pull request #4604 from opensourcerouting/mutex-sugar 2019-09-03 14:55:14 -04:00
bgpd bgpd: Use defined constants for NHLEN instead of numeric values 2019-09-13 11:43:44 +03:00
debian tools: Modifications to copy support bundle files 2019-09-13 10:05:13 -07:00
doc doc: Djikstra -> Dijkstra 2019-09-11 20:35:06 +02:00
docker docker: cleanup Debian docker build 2019-06-20 16:59:26 +00:00
eigrpd eigrpd: Fix SA issue with setting but not using 2019-09-03 19:22:27 -04:00
fpm *: s/TRUE/true/, s/FALSE/false/ 2019-07-01 17:26:05 +00:00
gdb bgpd: Convert binfo to path 2018-10-09 14:26:30 -04:00
grpc lib: add new gRPC-based northbound plugin 2019-04-26 18:15:32 -03:00
include Revert "include: Add linux header mroute.h to our build" 2019-01-31 01:37:14 +01:00
isisd isisd: Enabling build with openssl 2019-09-04 09:39:47 -04:00
ldpd lib, zebra: add new MPLS zapi message with route replace semantics 2019-09-10 00:01:10 -03:00
lib Merge pull request #4949 from opensourcerouting/mpls-zapi-improvements 2019-09-13 17:36:16 +02:00
m4 build: add check for python-3.8 2019-08-14 15:06:52 +02:00
nhrpd lib: split off c-ares code from nhrpd 2019-07-03 17:15:34 +02:00
ospf6d *: frr_elevate_privs -> frr_with_privs 2019-09-03 17:18:35 +02:00
ospfclient build: fix a whole bunch of *FLAGS 2019-01-30 19:13:51 +01:00
ospfd Merge pull request #4949 from opensourcerouting/mpls-zapi-improvements 2019-09-13 17:36:16 +02:00
pbrd pbrd: initial fwmark support for pbr matches #4460 2019-09-03 15:30:10 -05:00
pimd pimd: Slightly loosen pim assert message length tests 2019-09-10 10:53:15 -04:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python bgpd/bmp: BMP implementation 2019-08-30 19:22:23 +02:00
qpb *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
redhat tools: Modifications to copy support bundle files 2019-09-13 10:05:13 -07:00
ripd *: frr_elevate_privs -> frr_with_privs 2019-09-03 17:18:35 +02:00
ripngd *: frr_elevate_privs -> frr_with_privs 2019-09-03 17:18:35 +02:00
sharpd pbrd, sharpd, staticd: Add some color to sample configuration files 2019-08-19 10:36:53 -04:00
snapcraft snapcraft: Add libdb5.3 dependency 2019-05-29 01:41:02 +02:00
solaris *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
staticd Merge pull request #4722 from ak503/static 2019-09-11 13:36:55 -04:00
tests Merge pull request #4975 from opensourcerouting/disable-ecmp2-test 2019-09-14 07:43:31 -04:00
tools tools: Adding new commands to the list of support bundle commands 2019-09-13 10:05:57 -07:00
vrrpd *: frr_elevate_privs -> frr_with_privs 2019-09-03 17:18:35 +02:00
vtysh vtysh, lib: allow regexp in find command 2019-09-03 16:09:52 +00:00
watchfrr watchfrr: Allow end users to turn off watchfrr for a particular daemon 2019-09-16 13:47:50 -04:00
yang yang: add user type for ip-address 2019-09-12 21:39:43 +00:00
zebra Merge pull request #4949 from opensourcerouting/mpls-zapi-improvements 2019-09-13 17:36:16 +02:00
.clang-format *: frr_elevate_privs -> frr_with_privs 2019-09-03 17:18:35 +02:00
.dir-locals.el .dir-locals.el: show trailing whitespace 2017-11-07 12:05:09 -05:00
.dockerignore docker/alpine: Update buildscript to keep the docker image around 2019-03-27 15:39:54 +01:00
.gitignore git: Ignore Visual Studio Code settings 2019-05-11 10:12:43 +03: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-auto.in debian: cleanly split off from dist tarball 2019-02-19 21:31:18 +01: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 #4919 from opensourcerouting/config-warnings 2019-09-03 14:55:38 -04: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 build: improve clippy options 2019-06-12 19:22:59 +02:00
README.md README.md: add VRRP to list of protocols 2019-06-18 02:07:07 +00:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00

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 as well as Solaris 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

Packages are available for various distributions on our releases page.

Snaps are also available here.

Instructions on building and installing from source for supported platforms may be found here.

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