Go to file
Donald Sharp 33656d2db2 doc, zebra: Remove keep_kernel_mode from zebra
This code doees this:

a) Imagine ospf installs a route into zebra.  Zebra crashes and
we restart FRR.  If we are using the -k option on zebra than
all routes are re-read in, including this OSPF route.
b) Now imagine at the same time that zebra is starting backup
ospf on a different router looses a link to the this route.
c) Since zebra was run with -k this OSPF route is read back
in but never replaced and we now have a route pointing out
an interface to other routers that cannot handle it.

We should never allow users to implement bad options from zebra's
perspective that allow them to put themselves into a clear problem
state and additionally we have *absolutely* no mechanism to ever
fix that broken route without special human interaction.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-05-23 19:36:41 -04:00
.github .github: move pr template to subdir 2019-03-29 16:51:58 +00:00
alpine alpine/APKBUILD.in: Don't include daemons from srcdir 2019-03-26 18:33:10 +01:00
babeld *: use ZAPI_CALLBACK_ARGS macro for zapi handlers 2019-05-03 20:57:35 +00:00
bfdd Merge pull request #4144 from pguibert6WIND/bfd_cbit 2019-05-16 10:13:26 -04:00
bgpd bgpd, ripd, ripngd: remove deprecated -r option 2019-05-22 17:42:40 +02:00
debian isisd: replace dict_* with DECLARE_RBTREE 2019-04-27 19:33:45 +02:00
doc doc, zebra: Remove keep_kernel_mode from zebra 2019-05-23 19:36:41 -04:00
docker docker/alpine: Update buildscript to keep the docker image around 2019-03-27 15:39:54 +01:00
eigrpd *: use ZAPI_CALLBACK_ARGS macro for zapi handlers 2019-05-03 20:57:35 +00:00
fpm build: disable empty libfrrfpm_pb 2018-12-13 21:14:39 +01: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 *: rename new ForEach macros from the typesafe API 2019-05-21 15:59:08 -03:00
ldpd *: use ZAPI_CALLBACK_ARGS macro for zapi handlers 2019-05-03 20:57:35 +00:00
lib *: rename new ForEach macros from the typesafe API 2019-05-21 15:59:08 -03:00
m4 build: fix Lua build 2019-05-10 16:08:32 +00:00
nhrpd lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
ospf6d bfdd, lib, bgpd: add bfd cbit usage 2019-05-14 16:49:49 +02:00
ospfclient build: fix a whole bunch of *FLAGS 2019-01-30 19:13:51 +01:00
ospfd Merge pull request #4144 from pguibert6WIND/bfd_cbit 2019-05-16 10:13:26 -04:00
pbrd Merge pull request #4340 from qlyoung/hash-key-const 2019-05-16 10:00:55 -04:00
pimd Merge pull request #4350 from patrasar/pim_sg_expiry 2019-05-20 13:30:14 -04:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python python: make DEFPY provide the text token of fixed parameters 2019-01-21 11:11:00 -02:00
qpb *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
redhat vrrpd: update auto*, init scripts, etc 2019-05-17 00:27:08 +00:00
ripd bgpd, ripd, ripngd: remove deprecated -r option 2019-05-22 17:42:40 +02:00
ripngd bgpd, ripd, ripngd: remove deprecated -r option 2019-05-22 17:42:40 +02:00
sharpd *: use ZAPI_CALLBACK_ARGS macro for zapi handlers 2019-05-03 20:57:35 +00:00
snapcraft *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
solaris *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
staticd lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
tests tests: update list of headers in the cxx compat test 2019-05-21 16:00:14 -03:00
tools tools: add vrrpd to frrcommon.sh 2019-05-17 16:26:26 +00:00
vrrpd vrrpd: fix coverity warnings 2019-05-17 21:38:31 +00:00
vtysh vtysh: don't sort vrrp interface config 2019-05-17 00:27:08 +00:00
watchfrr watchfrr: build in defaults for -r/-s/-k 2019-02-19 21:34:31 +01:00
yang lib, yang: disable libyang custom user types temporarily 2019-05-06 22:07:18 -03:00
zebra doc, zebra: Remove keep_kernel_mode from zebra 2019-05-23 19:36:41 -04:00
.clang-format clang-format: update the ForEachMacros setting 2019-05-21 16:00:19 -03: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 vrrpd: update auto*, init scripts, etc 2019-05-17 00:27:08 +00: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 vrrpd: initial commit 2019-05-17 00:27:08 +00:00
README.md README.md: point to self-inviting slack link 2019-03-28 17:15:16 +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
  • 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