Go to file
Sarita Patra 3d68661d7b pimd: neighbor needed true in pim nexthop lookup
Issue:
Client---LHR---RP
1. Add kernel route for RP on LHR. Client send join
2. (*,G) will be get created in LHR and RP.
3. Kill the FRR on all the nodes
4. Start FRR only on LHR node
5. In LHR, (*, G) will be created with iif as unknown.

Root cause:
In the step 4, When LHR will receive igmp join, it will call
the function pim_ecmp_fib_lookup_if_vif_index which will look
for nexthop to RP with neighbor needed as false. So RPF lookup will
be true as the route is present in the kernel. It will create a
(*, G) channel_oil with incoming interface as the RPF interface
towards RP and install the (*,G) mroute in kernel.
Along with this (*,G) upstream gets craeted, which call the function
pim_rpf_update, which will look for the nexthop to RP with neighbor
needed as true. As the frr is not running in RP, no neighbor is present
on the nexthop interface. Due to which this will fail and will update
the channel_oil incoming interface as MAXVIFS(32).

Fix:
pim_ecmp_fib_lookup_if_vif_index() call the function pim_ecmp_nexthop_lookup
with neighbor_needed as true.

Signed-off-by: Sarita Patra <saritap@vmware.com>
2020-03-03 03:31:22 -08:00
.github .github: move pr template to subdir 2019-03-29 16:51:58 +00:00
alpine alpine: fix build on current 'edge' version of Alpine 2019-12-03 21:36:30 +01:00
babeld Merge pull request #5806 from ton31337/fix/remove_break_after_return 2020-02-13 11:32:27 -05:00
bfdd *: don't null after XFREE; XFREE does this itself 2020-02-03 11:22:13 -05:00
bgpd Merge pull request #5807 from ton31337/fix/do_not_show_failed_if_shutdown 2020-02-17 09:29:28 -05:00
debian doc: rename man pages to frr-* 2020-01-15 14:05:11 +01:00
doc doc: Update configure options in installation notes 2020-02-16 14:57:39 -05:00
docker Merge pull request #5606 from ton31337/fix/docker_centos8_image_name 2020-01-06 11:24:15 -06:00
eigrpd *: Remove break after return 2020-02-13 15:39:54 +02:00
fpm build: fix "make tags" 2019-09-17 16:35:12 +02:00
gdb bgpd: Convert binfo to path 2018-10-09 14:26:30 -04:00
grpc build: fix "make tags" 2019-09-17 16:35:12 +02:00
include include: add kernel header for seg6/seg6local 2020-01-09 09:53:04 +09:00
isisd *: Remove break after return 2020-02-13 15:39:54 +02:00
ldpd *: Replace s_addr 0 => INADDR_ANY 2020-02-06 09:00:12 +02:00
lib lib: Fix so that --enable-pcreposix actually compiles 2020-02-16 14:14:04 -05:00
m4 build: fix shell == mis-use 2020-01-17 13:53:59 +01:00
mlag zebra: Do not build mlag protobuf support if version 3 is not avail 2019-12-15 09:37:51 -05:00
nhrpd nhrpd: allow no nhrp map cmd to match the configured cmd 2020-02-14 11:49:58 -06:00
ospf6d *: Remove break after return 2020-02-13 15:39:54 +02:00
ospfclient *: Replace s_addr 0 => INADDR_ANY 2020-02-06 09:00:12 +02:00
ospfd *: Remove break after return 2020-02-13 15:39:54 +02:00
pbrd doc: rename man pages to frr-* 2020-01-15 14:05:11 +01:00
pimd pimd: neighbor needed true in pim nexthop lookup 2020-03-03 03:31:22 -08:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python bgpd/bmp: BMP implementation 2019-08-30 19:22:23 +02:00
qpb build: fix "make tags" 2019-09-17 16:35:12 +02:00
redhat redhat: Update frr.spec.in to move all systems to Python3 except CentOS 6 2020-01-25 00:44:34 +01:00
ripd *: Remove break after return 2020-02-13 15:39:54 +02:00
ripngd Merge pull request #5104 from opensourcerouting/route-map-nbv2 2020-02-05 11:54:21 -05:00
scripts/coccinelle Merge pull request #5763 from ton31337/fix/return_without_parent 2020-02-10 18:49:06 -03:00
sharpd sharpd: Add missing yang route-map callbacks 2020-02-14 00:53:43 -05:00
snapcraft snapcraft: Add vrrpd to the snapcraft package 2019-11-19 10:46:33 +01:00
solaris doc: rename man pages to frr-* 2020-01-15 14:05:11 +01:00
staticd doc: rename man pages to frr-* 2020-01-15 14:05:11 +01:00
tests bgpd: Add a couple more spaces for output on MsgRcvd and MsgSent 2020-02-16 20:38:13 -05:00
tools tools: Update generate_support_bundle.py to support Python 3 2020-01-25 00:43:20 +01:00
vrrpd doc: rename man pages to frr-* 2020-01-15 14:05:11 +01:00
vtysh *: Remove break after return 2020-02-13 15:39:54 +02:00
watchfrr doc: rename man pages to frr-* 2020-01-15 14:05:11 +01:00
yang yang/lib: add filter model to code 2020-02-04 14:05:43 -03:00
zebra zebra: add all ipv6 global addresses to RA messages 2020-02-14 17:03:16 +00:00
.clang-format *: frr_elevate_privs -> frr_with_privs 2019-09-03 17:18:35 +02:00
.dir-locals.el tools: fix emacs configuration file 2019-11-04 11:45:52 -03:00
.dockerignore docker: Make docker image on CentOS 7 2019-11-26 19:29:30 +00:00
.gitignore tools: symalyzer 2019-12-14 12:41:19 +01: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 configure: Fixup --disable-irdp option to reflect reality 2020-02-16 14:39:49 -05: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
Makefile.am lib: new defaults logic 2019-12-06 15:13:32 +01:00
README.md README.md: Add FRR Icon 2019-10-29 12:42:06 -04:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00: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 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

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