You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Donatas Abraitis 5cb79bd567
Merge pull request #12043 from donaldsharp/bgp_hate
3 days ago
.github github: Set strict permissions for stale actions for Github 3 months ago
alpine alpine, docker: Update APKBUILD for libyang 3 months ago
babeld babeld: Remove return value for gettime() 1 month ago
bfdd bfdd: changes for code maintainability 4 weeks ago
bgpd bgpd: Ensure FRR has enough data to read 2 bytes in bgp_open_option_parse 4 days ago
debian debian: add lua _binary_ to build dependencies 2 months ago
doc Merge pull request #11990 from spk-hebbar/patch-1 7 days ago
docker docker: Keep and copy .apk files after they are built 2 weeks ago
eigrpd eigrpd: changes for code maintainability 3 weeks ago
fpm build: fix `AM_LDFLAGS` usage (and gcov) 1 year ago
gdb gdb: Add a macro to walk memory allocations 1 month ago
grpc build: fix `AM_LDFLAGS` usage (and gcov) 1 year ago
include include: clean up some white spaces 3 weeks ago
isisd isisd: Fix memory leak on shutdown with prefix lists 2 weeks ago
ldpd ldpd: changes for code maintainability 1 month ago
lib lib: Fix `show route-map NAME json` command and memory leak 1 week ago
m4 autoconf: do not .gitignore m4/ax_lua.m4 6 months ago
mlag build: fix `AM_LDFLAGS` usage (and gcov) 1 year ago
nhrpd nhrpd: Use nhrp_interface_update_nbma when source vrf was changed 1 month ago
ospf6d ospf6d: Don't remove summary route if it is a range 2 months ago
ospfclient ospfclient: condition optimization 2 months ago
ospfd ospfd: Remove deprecated command `graceful-restart helper-only` 2 weeks ago
pathd Merge pull request #12018 from pguibert6WIND/pathd_warning_noted 7 days ago
pbrd pbrd: VTY_GET_CONTEXT can fail 2 months ago
pceplib *: Properly use memset() when zeroing 5 months ago
pimd Merge pull request #12035 from donaldsharp/pim6_write_non_integrated 5 days ago
pkgsrc *: cleanup .gitignore files 4 years ago
python python: Remove redundant import of subprocess 4 months ago
qpb qpb: Tell coverity the actual size we are copying 2 months ago
redhat redhat: Drop --enable-systemd from build specification 2 months ago
ripd Merge pull request #11898 from sri-mohan1/sri-rip-dbg1 4 weeks ago
ripngd ripngd: Convert thread_cancel to THREAD_OFF 2 months ago
sharpd sharpd: Fix memory leaks related to SRv6 nexthops 1 month ago
snapcraft snapcraft: Version must be quoted in snap store 3 months ago
staticd staticd: When changing the underlying nh ensure it is reinstalled 2 months ago
tests bgpd: conditional advertise-map unset on peer fixing warning messages 1 week ago
tools bgpd: Use route_map_result_t for route_map_apply() as return type 2 weeks ago
vrrpd lib, vrrpd: Use THREAD_ARG 2 months ago
vtysh vtysh: Show allow-reserved-ranges once in config 7 days ago
watchfrr watchfrr: Check that the operational timeout specified is good. 2 months ago
yang Merge pull request #11899 from opensourcerouting/feature/route_validation_extended_community 3 weeks ago
zebra zebra: fix fpm crash 1 week ago
.clang-format lib: add `_last` and `_prev` on typesafe RB/DLIST 7 months ago
.dir-locals.el tests: remove python format block from dir-locals 1 year ago
.dockerignore docker: Make docker image on CentOS 7 3 years ago
.git-blame-ignore-revs tools: Ignore mass renaming of topotests for git blame 1 year ago
.gitignore *: Add some missed make check generated files in .gitignore 1 year ago
.pylintrc tests: micronet: update infra 1 year ago
.travis.yml lib: libyang2 add missed conversion 1 year ago
COPYING *: make consistent & update GPLv2 file headers 5 years ago
COPYING-LGPLv2.1 build: remove LGPL v2.0, add LGPL v2.1 6 years ago build: fix `AM_LDFLAGS` usage (and gcov) 1 year ago doc: Fix the link that points to Slack invitation in README 6 months ago build: turn on automake warnings (& symlinks) 1 year ago build: remove --enable-exampledir 1 year ago build: carry --with-pkg-extra-version into tarballs 4 years ago configure: Check for readline() function instead of main 1 month ago Initial revision 20 years ago
version.h build: make builddir include path consistent 1 year ago



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
  • 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

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.


The FRRouting email list server is located here and offers the following public lists:

Topic List
Users & Operators

For chat, we currently use Slack. You can join by clicking the "Slack" link under the Participate section of our website.


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!


To report security issues, please use our security mailing list:

security [at]