Go to file
Philippe Guibert a41c4e1b1f *: change interface structure, from vrf_id to vrf
Field vrf_id is replaced by the pointer of the struct vrf *.
For that all other code referencing to (interface)->vrf_id is replaced.
This work should not change the behaviour.
It is just a continuation work toward having an interface API handling
vrf pointer only.

some new generic functions are created in vrf:
vrf_to_id, vrf_to_name,

a zebra function is also created:
zvrf_info_lookup

an ospf function is also created:
ospf_lookup_by_vrf

it is to be noted that now that interface has a vrf pointer, some more
optimisations could be thought through all the rest of the code. as
example, many structure store the vrf_id. those structures could get
the exact vrf structure if inherited from an interface vrf context.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2019-06-12 14:10:28 +02:00
.github .github: move pr template to subdir 2019-03-29 16:51:58 +00:00
alpine alpine/APKBUILD.in: Don't include daemons from srcdir 2019-03-26 18:33:10 +01:00
babeld *: change if_lookup_by_name() api with vrf 2019-06-12 08:37:54 +02:00
bfdd *: change interface structure, from vrf_id to vrf 2019-06-12 14:10:28 +02:00
bgpd *: change interface structure, from vrf_id to vrf 2019-06-12 14:10:28 +02:00
debian isisd: replace dict_* with DECLARE_RBTREE 2019-04-27 19:33:45 +02:00
doc Merge pull request #4449 from opensourcerouting/py-detect 2019-06-07 07:19:35 -04:00
docker docker/alpine: Update buildscript to keep the docker image around 2019-03-27 15:39:54 +01:00
eigrpd *: change if_lookup_by_name() api with vrf 2019-06-12 08:37:54 +02:00
fpm build: disable empty libfrrfpm_pb 2018-12-13 21:14:39 +01:00
gdb bgpd: Convert binfo to path 2018-10-09 14:26:30 -04:00
grpc lib: add new gRPC-based northbound plugin 2019-04-26 18:15:32 -03:00
include Revert "include: Add linux header mroute.h to our build" 2019-01-31 01:37:14 +01:00
isisd *: change interface structure, from vrf_id to vrf 2019-06-12 14:10:28 +02:00
ldpd ldpd: Allow for -N <namespace> to influence location of LDPD_SOCKET 2019-06-04 10:37:19 -04:00
lib *: change interface structure, from vrf_id to vrf 2019-06-12 14:10:28 +02:00
m4 build: refactor & revamp python autoconf logic 2019-06-04 16:21:20 +02:00
nhrpd *: change if_lookup_by_name() api with vrf 2019-06-12 08:37:54 +02:00
ospf6d *: change if_lookup_by_name() api with vrf 2019-06-12 08:37:54 +02:00
ospfclient build: fix a whole bunch of *FLAGS 2019-01-30 19:13:51 +01:00
ospfd *: change interface structure, from vrf_id to vrf 2019-06-12 14:10:28 +02:00
pbrd zebra,pbrd: Update pbrd to handle NHT properly 2019-06-10 14:36:30 -04:00
pimd *: change interface structure, from vrf_id to vrf 2019-06-12 14:10:28 +02:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python python: make DEFPY provide the text token of fixed parameters 2019-01-21 11:11:00 -02:00
qpb *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
redhat build: refactor & revamp python autoconf logic 2019-06-04 16:21:20 +02:00
ripd *: change interface structure, from vrf_id to vrf 2019-06-12 14:10:28 +02:00
ripngd *: change interface structure, from vrf_id to vrf 2019-06-12 14:10:28 +02:00
sharpd *: change if_lookup_by_name() api with vrf 2019-06-12 08:37:54 +02:00
snapcraft snapcraft: Add libdb5.3 dependency 2019-05-29 01:41:02 +02:00
solaris *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
staticd *: change interface structure, from vrf_id to vrf 2019-06-12 14:10:28 +02:00
tests Merge pull request #4480 from opensourcerouting/inet_ntop 2019-06-07 11:23:16 -04:00
tools tools: retain sanity when reloading under systemd 2019-06-10 19:21:43 +02:00
vrrpd vrrpd: fix coverity warnings 2019-05-17 21:38:31 +00:00
vtysh pbrd: Allow autocompletion for pbr-map PBRMAP 2019-06-05 06:51:08 -04:00
watchfrr *: fix some dumb printf format warnings 2019-06-11 13:34:57 +02:00
yang lib, yang: disable libyang custom user types temporarily 2019-05-06 22:07:18 -03:00
zebra *: change interface structure, from vrf_id to vrf 2019-06-12 14:10:28 +02:00
.clang-format clang-format: update the ForEachMacros setting 2019-05-21 16:00:19 -03:00
.dir-locals.el .dir-locals.el: show trailing whitespace 2017-11-07 12:05:09 -05:00
.dockerignore docker/alpine: Update buildscript to keep the docker image around 2019-03-27 15:39:54 +01:00
.gitignore git: Ignore Visual Studio Code settings 2019-05-11 10:12:43 +03:00
bootstrap.sh autoreconf -i 2007-02-06 19:28:28 +00:00
buildtest.sh config: switch a few references to say FRR 2017-07-12 11:25:33 -05:00
changelog-auto.in debian: cleanly split off from dist tarball 2019-02-19 21:31:18 +01:00
config.version.in build: carry --with-pkg-extra-version into tarballs 2018-10-24 15:11:50 +02:00
configure.ac Merge pull request #4449 from opensourcerouting/py-detect 2019-06-07 07:19:35 -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
defaults.h *: reindent 2017-07-17 14:04:07 +02:00
Makefile.am vrrpd: initial commit 2019-05-17 00:27:08 +00:00
README.md README.md: point to self-inviting slack link 2019-03-28 17:15:16 +00:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00

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 as well as Solaris 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
  • EIGRP (alpha)
  • NHRP (alpha)

Installation & Use

Packages are available for various distributions on our releases page.

Snaps are also available here.

Instructions on building and installing from source for supported platforms may be found here.

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