Go to file
Donald Sharp 161972c9fe *: Rearrange vrf_bitmap_X api to reduce memory footprint
When running all daemons with config for most of them, FRR has
sharpd@janelle:~/frr$ vtysh -c "show debug hashtable"  | grep "VRF BIT HASH" | wc -l
3570

3570 hashes for bitmaps associated with the vrf.  This is a very
large number of hashes.  Let's do two things:

a) Reduce the created size of the actually created hashes to 2
instead of 32.

b) Delay generation of the hash *until* a set operation happens.
As that no hash directly implies a unset value if/when checked.

This reduces the number of hashes to 61 in my setup for normal
operation.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-06-26 14:59:21 -04:00
.github github: Add rebase label on PR if it's > 50 commits behind 2023-05-09 09:37:23 +03:00
alpine docker: Enable Lua (scripting) for Alpine images 2023-04-08 21:04:07 +03:00
babeld *: Rearrange vrf_bitmap_X api to reduce memory footprint 2023-06-26 14:59:21 -04:00
bfdd Merge pull request #13675 from zmw12306/bfd_version_check 2023-06-11 14:16:50 +03:00
bgpd *: Rearrange vrf_bitmap_X api to reduce memory footprint 2023-06-26 14:59:21 -04:00
debian debian, redhat: updating changelog for new release 2023-06-06 15:21:30 -05:00
doc Merge pull request #13823 from LabNConsulting/aceelindem/workflow-coverity-typo 2023-06-22 13:32:09 -05:00
docker docker: ubuntu-ci 18.04 -> 22.04, topotest parallel run examples 2023-06-09 03:19:20 -04:00
eigrpd *: Rearrange vrf_bitmap_X api to reduce memory footprint 2023-06-26 14:59:21 -04:00
fpm *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
gdb *: Rename thread.[ch] to event.[ch] 2023-03-24 08:32:16 -04:00
grpc *: manual SPDX License ID conversions 2023-02-09 14:09:07 +01:00
include Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
isisd *: Rearrange vrf_bitmap_X api to reduce memory footprint 2023-06-26 14:59:21 -04:00
ldpd ldpd: changes for code maintainability 2023-06-14 16:42:26 +05:30
lib *: Rearrange vrf_bitmap_X api to reduce memory footprint 2023-06-26 14:59:21 -04:00
m4 build: fix sed regex in Lua macro 2022-12-08 12:39:17 +01:00
mgmtd mgmtd: fix memleak 2023-06-19 00:13:28 -04:00
mlag build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
nhrpd nhrpd: Fix nhrpd memory leak 2023-04-24 11:18:39 +04:00
ospf6d *: Rearrange vrf_bitmap_X api to reduce memory footprint 2023-06-26 14:59:21 -04:00
ospfclient *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospfd *: Rearrange vrf_bitmap_X api to reduce memory footprint 2023-06-26 14:59:21 -04:00
pathd Merge pull request #12933 from Orange-OpenSource/link_state 2023-04-20 18:33:21 +02:00
pbrd pbrd, zebra: fix zapi and netlink rule encoding 2023-06-12 16:39:26 -04:00
pceplib *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
pimd pim, pim6d: pimreg interface is not getting added in a certain scenario 2023-06-21 03:46:58 -07:00
pkgsrc mgmtd: Bringup MGMTD daemon and datastore module support 2023-03-21 22:08:32 -04:00
python mgmtd: fully implement debug flags for mgmtd and clients 2023-05-01 13:47:12 -04:00
qpb mgmtd: Bringup MGMTD daemon and datastore module support 2023-03-21 22:08:32 -04:00
redhat debian, redhat: updating changelog for new release 2023-06-06 15:21:30 -05:00
ripd Revert "ripd: Cleanup memory allocations on shutdown" 2023-06-15 17:43:40 +03:00
ripngd ripngd: changes for code maintainability 2023-06-21 22:39:13 +05:30
sharpd sharpd: support opaque zapi notifications 2023-06-23 08:57:37 -04:00
snapcraft snapcraft: Add pim6 daemon for PIM IPv6 to snap package 2022-11-19 12:52:36 +01:00
staticd staticd: remove unused YANG module 2023-06-23 13:17:32 -04:00
tests Merge pull request #13795 from LabNConsulting/chopps/mgmt-lock-cleanup 2023-06-22 13:31:27 -05:00
tools tools: checkpatch: FRR modifications to linux checkpatch.pl 2023-06-20 01:05:30 -04:00
vrrpd Merge pull request #13731 from cyberstorm-mauritius/cid1519841 2023-06-21 23:15:41 +05:30
vtysh mgmtd: KISS the locking code 2023-06-19 00:13:28 -04:00
watchfrr *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
yang ripng: Implement allow-ecmp X command 2023-05-23 09:29:01 +03:00
zebra *: Rearrange vrf_bitmap_X api to reduce memory footprint 2023-06-26 14:59:21 -04:00
.clang-format tools: less aggressive settings for clang-format 2023-06-25 22:06:12 -04:00
.dockerignore docker: Make docker image on CentOS 7 2019-11-26 19:29:30 +00:00
.flake8 style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.git-blame-ignore-revs tools: Ignore mass renaming of topotests for git blame 2021-05-11 14:14:26 +03:00
.gitignore doc: configure: add configure option to generate .ccls file 2023-05-18 09:32:32 -04:00
.isort.cfg style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.pylintrc style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -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 *: manual SPDX License ID conversions 2023-02-09 14:09:07 +01:00
config.version.in build: carry --with-pkg-extra-version into tarballs 2018-10-24 15:11:50 +02:00
configure.ac build: FRR 9.1 development version 2023-06-06 14:03:19 -05:00
COPYING *: sort out & explain licenses used in FRR 2023-02-09 12:46:13 +01:00
Makefile.am build: clean up mgmtd lib protobuf make syntax 2023-03-27 16:44:27 -04:00
README.md doc: Fix the link that points to Slack invitation in README 2022-03-24 13:13:37 +02: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