Go to file
David Lamparter a243d1db93 *: convert zclient callbacks to table
This removes a giant `switch { }` block from lib/zclient.c and
harmonizes all zclient callback function types to be the same (some had
a subset of the args, some had a void return, now they all have
ZAPI_CALLBACK_ARGS and int return.)

Apart from getting rid of the giant switch, this is a minor security
benefit since the function pointers are now in a `const` array, so they
can't be overwritten by e.g. heap overflows for code execution anymore.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-10-20 13:28:46 +02: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 *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
bfdd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
bgpd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
debian tools: add frr_babeltrace.py to /usr/lib/frr 2021-10-15 10:37:02 -07:00
doc Merge pull request #9752 from opensourcerouting/ospf6d-nssa-ranges 2021-10-19 19:15:40 -04:00
docker docker: remove grpc from Travis CI 2021-10-01 14:04:42 +03:00
eigrpd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
fpm build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
gdb bgpd: Convert binfo to path 2018-10-09 14:26:30 -04:00
grpc build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
include include: Update rtnetlink.h to be correct with upstream kernels 2021-08-16 15:18:55 -04:00
isisd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
ldpd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
lib *: convert zclient callbacks to table 2021-10-20 13:28:46 +02: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 *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
ospf6d *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
ospfclient build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
ospfd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
pathd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
pbrd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
pceplib pceplib: fix for -Wstrict-prototypes 2021-09-02 13:00:35 +02:00
pimd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python isisd: fix redistribute CLI 2021-10-05 17:38:21 +03:00
qpb build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
redhat tools: add frr_babeltrace.py to /usr/lib/frr 2021-10-15 10:37:02 -07:00
ripd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
ripngd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
sharpd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
snapcraft snapcraft: add missing dependency 2021-08-23 15:08:05 +03:00
staticd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
tests *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
tools tools: upstream linter is recommending double quotes 2021-10-15 10:37:45 -07:00
vrrpd *: convert zclient callbacks to table 2021-10-20 13:28:46 +02:00
vtysh Merge pull request #9429 from yar-fed/vtysh-err-not-running 2021-09-22 22:52:52 +03:00
watchfrr watchfrr: Allow an integrated config to work within a namespace 2021-10-06 12:21:56 -04:00
yang yang: replace an empty pattern with a zero-length restriction 2021-10-05 14:03:37 +03:00
zebra Merge pull request #9656 from chiragshah6/mdev 2021-10-19 19:16:14 -04:00
.clang-format lib: adapt to version 2 of libyang 2021-05-13 16:24:48 -04: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 *: If building clippy we must have python3 2021-10-12 15:41:07 -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
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