Go to file
Dinesh G Dutt 47b474b57e lib: Make if_lookup_by_index understand if VRF is backed by netns or not
FRR has two implementations of VRF, one backed by netns and the other by
the proper VRF implementation in the Linux kernel. In certain places, the
code assumes that a VRF is netns and so lookups fail. One example of this
is in IPv6 RA code. This causes functionality such as Unnumbered BGP to
fail. To fix this, this patch makes if_lookup_by_index handle the
behavior based on the backend, similar to if_get_by_index. For the two
places in if.c that were calling if_lookup_by_index to be specific to
the VRF, I renamed the existing code, if_lookup_by_ifindex and made it a
static function that is never exposed or called by any routine outside of
if.c.

Signed-off-by: Dinesh G Dutt <5016467+ddutt@users.noreply.github.com>
2019-08-26 12:38:28 +00:00
.github .github: move pr template to subdir 2019-03-29 16:51:58 +00:00
alpine docker: build alpine docker w/ rpki enabled 2019-07-15 17:39:43 +00:00
babeld Revert "Ospf missing interface handling 2" 2019-06-23 19:46:39 -04:00
bfdd bfdd: keep source information for single hop 2019-07-09 09:49:45 -03:00
bgpd Merge pull request #4821 from vishaldhingra/lcomm_json 2019-08-26 11:23:30 +03:00
debian debian: add .gitignore file 2019-08-06 16:56:15 +02:00
doc bgpd: make clear bgp * clear all peers in all afi/safis 2019-08-20 13:50:58 +00:00
docker docker: cleanup Debian docker build 2019-06-20 16:59:26 +00:00
eigrpd eigrpd: implement configuration reload 2019-08-03 14:52:48 -03:00
fpm *: s/TRUE/true/, s/FALSE/false/ 2019-07-01 17:26:05 +00: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 isisd: fix display of the "isis bfd" command 2019-08-16 18:00:58 -03:00
ldpd ldpd: Fix to release MPLS label if its not used anymore 2019-07-15 14:05:51 +08:00
lib lib: Make if_lookup_by_index understand if VRF is backed by netns or not 2019-08-26 12:38:28 +00:00
m4 build: add check for python-3.8 2019-08-14 15:06:52 +02:00
nhrpd lib: split off c-ares code from nhrpd 2019-07-03 17:15:34 +02:00
ospf6d *: Fix spelling errors pointed out by debian packaging 2019-08-19 10:36:53 -04:00
ospfclient build: fix a whole bunch of *FLAGS 2019-01-30 19:13:51 +01:00
ospfd *: Fix spelling errors pointed out by debian packaging 2019-08-19 10:36:53 -04:00
pbrd pbrd, sharpd, staticd: Add some color to sample configuration files 2019-08-19 10:36:53 -04:00
pimd *: Fix spelling errors pointed out by debian packaging 2019-08-19 10:36:53 -04:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python clippy: find headers relative to source tree 2019-07-03 15:05:41 +02:00
qpb *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
redhat *: Fix spelling errors pointed out by debian packaging 2019-08-19 10:36:53 -04:00
ripd ospfd,ripd: Enabling build with openssl 2019-08-08 16:03:20 +02:00
ripngd lib: Introducing a 3rd state for route-map match cmd: RMAP_NOOP 2019-07-22 08:08:13 -07:00
sharpd pbrd, sharpd, staticd: Add some color to sample configuration files 2019-08-19 10:36:53 -04: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 pbrd, sharpd, staticd: Add some color to sample configuration files 2019-08-19 10:36:53 -04:00
tests tests: Add a couple simple Null0 spelling tests 2019-08-21 11:44:48 -04:00
tools *: fix ctype (isalpha & co.) casts 2019-08-06 16:54:52 +02:00
vrrpd vrrpd: eliminate potential null deref 2019-08-05 16:24:45 +00:00
vtysh Merge pull request #4706 from qlyoung/fix-exit-vrf-markfile 2019-08-13 08:40:21 -07:00
watchfrr *: fix some dumb printf format warnings 2019-06-11 13:34:57 +02:00
yang *: Fix spelling errors pointed out by debian packaging 2019-08-19 10:36:53 -04:00
zebra Merge pull request #4778 from mjstapp/dplane_macs 2019-08-21 20:26:29 -04: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 ospfd,ripd: Enabling build with openssl 2019-08-08 16:03:20 +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
defaults.h *: reindent 2017-07-17 14:04:07 +02:00
Makefile.am build: improve clippy options 2019-06-12 19:22:59 +02:00
README.md README.md: add VRRP to list of protocols 2019-06-18 02:07:07 +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
  • VRRP
  • 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