MCPcopy Index your code
hub / github.com/FRRouting/frr

github.com/FRRouting/frr @base_10.7

Chat with this repo
repository ↗ · DeepWiki ↗ · release base_10.7 ↗ · + Follow
45,564 symbols 197,435 edges 2,654 files 10,876 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Icon

FRRouting

github-ci Documentation Status

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. The project website is frrouting.org.

FRR currently supports the following protocols:

  • BGP
  • OSPFv2
  • OSPFv3
  • RIPv1
  • RIPv2
  • RIPng
  • IS-IS
  • PIM (SM, DM, SSM, MSDP)
  • LDP
  • BFD
  • Babel
  • PBR
  • OpenFabric
  • VRRP
  • EIGRP (alpha)
  • NHRP (alpha)

Not every protocol or feature is available on every platform; see the feature matrix in the user guide.

Centralized FRR configuration (work in progress): the mgmtd daemon applies YANG configuration to the routing protocol daemons through the northbound API (instead of each daemon only having its own legacy configuration path). Not all daemons are migrated yet; expect ongoing changes. See mgmtd in the user guide.

Installation & Use

For source tarballs, see the releases page.

Pre-built packages: APT for Debian and derivatives (deb.frrouting.org), and RPM for RHEL, Fedora, and related distributions (rpm.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

See lists.frrouting.org for the list index, subscription, and archives. The public lists include:

Topic List
Development dev@lists.frrouting.org
Users & Operators frog@lists.frrouting.org
Announcements announce@lists.frrouting.org

For chat, we use Slack. New members can join via the invite link on the community page.

Contributing

See submitting patches and enhancements and the commit guidelines when contributing. FRR maintains developer's documentation with the full project workflow and contributor expectations; technical documentation on internals is also available.

We welcome and appreciate all contributions, no matter how small!

License

Per-file licenses use SPDX identifiers; see COPYING and doc/licenses/. The combined work is generally understood to be distributable under GNU General Public License version 2 or later (GPLv2+); see COPYING for details. FRR's documentation uses a separate custom permissive license (see COPYING for background).

Security

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

security [at] lists.frrouting.org

Core symbols most depended-on inside this repo

format
called by 13611
tests/topotests/munet/mulog.py
vty_out
called by 9841
lib/vty.c
step
called by 7029
tests/topotests/lib/common_config.py
get_topogen
called by 3383
tests/topotests/lib/topogen.py
vtysh_cmd
called by 2849
tests/topotests/lib/topogen.py
routers_have_failure
called by 2193
tests/topotests/lib/topogen.py
add_link
called by 1963
tests/topotests/lib/topogen.py
json_object_int_add
called by 1656
lib/json.c

Shape

Function 26,793
Class 16,497
Enum 1,421
Method 851
Route 2

Languages

C64%
Python18%
C++18%

Modules by API surface

zebra/zebra_dplane.c653 symbols
bgpd/bgp_route.c314 symbols
isisd/isis_tlvs.c275 symbols
bgpd/bgp_routemap.c265 symbols
bgpd/bgp_evpn.c246 symbols
bgpd/bgpd.c244 symbols
isisd/isis_nb_config.c243 symbols
bgpd/bgpd.h219 symbols
zebra/zebra_nb_config.c215 symbols
zebra/zebra_vxlan.c211 symbols
pimd/pim_nb_config.c207 symbols
lib/zclient.c197 symbols

For agents

$ claude mcp add frr \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact