Go to file
Donald Sharp 35a1e798f8 bgpd: Limit processing to what is needed in rpki validation
The processing was looping over all bgp instances then
over all peers then over all safi's to find a match
for a prefix received in order to validate it.

Suppose you have 100 peers each sending you the same
prefix.  This code will cause it to look at each node 100
times since we look at for each peer.  This is especially
egregarious because we never ever do anything with the peer
when we are looping over them.

Remove the peer loop, significantly reduce processing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-08-16 11:04:06 -04:00
.github .github: improve bug report template 2020-10-20 16:12:03 -04:00
alpine build, doc: extricate --enable-systemd 2021-06-29 17:57:09 +02:00
babeld *: cleanup interface node installation 2021-07-29 21:35:25 +03:00
bfdd *: Do not check for XMALLOC/XCALLOC against NULLs 2021-06-29 22:27:50 +03:00
bgpd bgpd: Limit processing to what is needed in rpki validation 2021-08-16 11:04:06 -04:00
debian Merge pull request #8508 from opensourcerouting/systemd-no-lib 2021-07-06 14:54:25 +00:00
doc doc: Replace typo BANDIWDTH to BANDWIDTH 2021-08-15 11:10:22 +03:00
docker Merge pull request #8508 from opensourcerouting/systemd-no-lib 2021-07-06 14:54:25 +00:00
eigrpd *: cleanup interface node installation 2021-07-29 21:35:25 +03: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 nhrpd: cleaning netlink gre information 2021-04-30 10:33:18 +02:00
isisd *: cleanup interface node installation 2021-07-29 21:35:25 +03:00
ldpd build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
lib Merge pull request #9265 from ton31337/fix/extcommunity_lb_route-map_persistent 2021-08-16 12:26:25 +03: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 Merge pull request #8262 from reubendowle/fixes/nhrp-misc-fixes 2021-08-08 07:27:41 -04:00
ospf6d ospf6d: JSON output for database dump show command 2021-08-12 16:26:01 -04:00
ospfclient build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
ospfd ospfd: ospf redistribute originating LSA internal connected routes 2021-08-10 09:41:14 -07:00
pathd pathd: fix indentation and redundant space in index config 2021-08-05 23:47:27 +03:00
pbrd *: cleanup interface node installation 2021-07-29 21:35:25 +03:00
pceplib pceplib: Extract fields needed for PcInitiated with Cisco pce. (1/4) 2021-06-22 12:04:03 +02:00
pimd pimd: Prevent memory leak 2021-08-13 17:24:21 -04:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python build: add -Werror to xrelfo log format warnings 2021-06-24 16:42:59 +02:00
qpb build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
redhat redhat: Install frr.conf only if no per daemon config exists 2021-08-11 12:03:29 +02:00
ripd bgpd: Fix misleading comments for some parts 2021-08-05 16:29:52 +03:00
ripngd *: cleanup interface node installation 2021-07-29 21:35:25 +03:00
sharpd *: Replace 4/16 integers to IPV4_MAX_BYTELEN/IPV6_MAX_BYTELEN 2021-07-01 23:54:39 +03:00
snapcraft snapcraft: Update rtrlib to 0.7.0 2021-01-07 02:16:19 +01:00
staticd staticd: replace NB checks with assert 2021-08-09 12:48:38 +03:00
tests Merge pull request #9391 from mougams/master 2021-08-16 11:54:55 +03:00
tools Merge pull request #9271 from opensourcerouting/workflow-release-sched 2021-08-14 09:06:23 -04:00
vrrpd *: cleanup interface node installation 2021-07-29 21:35:25 +03:00
vtysh vtysh: fix daemon for srv6 commands 2021-08-08 22:41:10 +03:00
watchfrr lib, watchfrr: remove HAVE_SYSTEMD, use own code 2021-06-29 17:57:04 +02:00
yang pimd: Allow join prune intervals to be as small as 5 seconds 2021-07-26 10:02:21 -04:00
zebra Merge pull request #9389 from mjstapp/fix_netlink_if_name_sa 2021-08-14 02:14:44 +03:00
.clang-format lib: adapt to version 2 of libyang 2021-05-13 16:24:48 -04:00
.dir-locals.el tools: fix emacs configuration file 2019-11-04 11:45:52 -03: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 debian: Remove the changelog-auto automation in favor of dch 2021-07-03 17:02:37 +02: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 build: use --coverage for gcov 2021-07-21 17:12:02 +02: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