Go to file
Philippe Guibert 9beff0bda9 bfdd, lib, bgpd: add bfd cbit usage
bfd cbit is a value carried out in bfd messages, that permit to keep or
not, the independence between control plane and dataplane. In other
words, while most of the cases plan to flush entries, when bfd goes
down, there are some cases where that bfd event should be ignored. this
is the case with non stop forwarding mechanisms where entries may be
kept. this is the case for BGP, when graceful restart capability is
used. If BFD event down happens, and bgp is in graceful restart mode, it
is wished to ignore the BFD event while waiting for the remote router to
restart.
The changes take into account the following:
- add a config flag across zebra layer so that daemon can set or not the
  cbit capability.
- ability for daemons to read the remote bfd capability associated to a bfd
  notification.
- in bfdd, according to the value, the cbit value is set
- in bfdd, the received value is retrived and stored in the bfd session
  context.
- by default, the local cbit announced to remote is set to 1 while
  preservation of the local path is not set.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-05-14 16:49:49 +02: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 bfdd, lib, bgpd: add bfd cbit usage 2019-05-14 16:49:49 +02:00
bgpd bfdd, lib, bgpd: add bfd cbit usage 2019-05-14 16:49:49 +02:00
debian isisd: replace dict_* with DECLARE_RBTREE 2019-04-27 19:33:45 +02:00
doc Merge pull request #4112 from pguibert6WIND/bfd_vrf 2019-05-14 10:24:56 -03: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 bfdd, lib, bgpd: add bfd cbit usage 2019-05-14 16:49:49 +02:00
ldpd *: use ZAPI_CALLBACK_ARGS macro for zapi handlers 2019-05-03 20:57:35 +00:00
lib bfdd, lib, bgpd: add bfd cbit usage 2019-05-14 16:49:49 +02:00
m4 build: fix Lua build 2019-05-10 16:08:32 +00:00
nhrpd *: use ZAPI_CALLBACK_ARGS macro for zapi handlers 2019-05-03 20:57:35 +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 bfdd, lib, bgpd: add bfd cbit usage 2019-05-14 16:49:49 +02:00
pbrd Merge pull request #4253 from qlyoung/zapi-handler-args-macro 2019-05-06 17:50:41 -03:00
pimd bfdd, lib, bgpd: add bfd cbit usage 2019-05-14 16:49:49 +02: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 Merge pull request #3989 from opensourcerouting/redhat-new-init 2019-03-25 07:45:04 -04:00
ripd *: use ZAPI_CALLBACK_ARGS macro for zapi handlers 2019-05-03 20:57:35 +00:00
ripngd *: use ZAPI_CALLBACK_ARGS macro for zapi handlers 2019-05-03 20:57:35 +00: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 *: use ZAPI_CALLBACK_ARGS macro for zapi handlers 2019-05-03 20:57:35 +00:00
tests Merge pull request #4112 from pguibert6WIND/bfd_vrf 2019-05-14 10:24:56 -03:00
tools tools: add lints for unsafe functions 2019-05-08 15:55:54 +00:00
vtysh build: fix Lua build 2019-05-10 16:08:32 +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 bfdd, lib, bgpd: add bfd cbit usage 2019-05-14 16:49:49 +02:00
.clang-format lib: introduce new northbound API 2018-10-27 16:16:12 -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 build: fix Lua build 2019-05-10 16:08:32 +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 build: fix Lua build 2019-05-10 16:08:32 +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