Go to file
Kantesh Mundaragi 0789eb69e5 bgpd: VRF-Lite fix nexthop type
Description:
Change is intended for fixing the following issues related to vrf route leaking:

Routes with special nexthops i.e. blackhole/sink routes when imported,
are not programmed into the FIB and corresponding nexthop is set as 'inactive',
nexthop interface as 'unknown'.

While importing/leaking routes between VRFs, in case of special nexthop(ipv4/ipv6)
once bgp announces route(s) to zebra, nexthop type is incorrectly set as
NEXTHOP_TYPE_IPV6_IFINDEX/NEXTHOP_TYPE_IFINDEX
i.e. directly connected even though we are not able to resolve through an interface.
This leads to nexthop_active_check marking nexthop !NEXTHOP_FLAG_ACTIVE.
Unable to find the active nexthop(s), route is not programmed into the FIB.

Whenever BGP leaks routes, set the correct nexthop type, so that route gets resolved
and correctly programmed into the FIB, in the imported vrf.

Co-authored-by: Kantesh Mundaragi <kmundaragi@vmware.com>
Signed-off-by: Iqra Siddiqui <imujeebsiddi@vmware.com>
2021-09-07 01:50:06 -07:00
.github .github: improve bug report template 2020-10-20 16:12:03 -04:00
alpine alpine: fix path for daemons file install 2021-08-30 15:21:59 -04:00
babeld Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg 2021-08-27 10:39:45 +02:00
bfdd Merge pull request #9331 from idryzhov/explicit-exit 2021-08-26 11:57:33 -04:00
bgpd bgpd: VRF-Lite fix nexthop type 2021-09-07 01:50:06 -07:00
debian debian: update list of protos in pkg desc 2021-09-04 12:53:23 -04:00
doc Merge pull request #9563 from opensourcerouting/build-strict-prototypes 2021-09-06 12:28:33 -04:00
docker docker: update with micronet changes 2021-09-04 09:04:46 -04:00
eigrpd Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg 2021-08-27 10:39:45 +02:00
fpm build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
gdb bgpd: Convert binfo to path 2018-10-09 14:26:30 -04:00
grpc build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
include include: Update rtnetlink.h to be correct with upstream kernels 2021-08-16 15:18:55 -04:00
isisd Merge pull request #9499 from gsol10/bogus_lsp 2021-08-27 19:04:29 -04:00
ldpd *: fix for -Wstrict-prototypes 2021-09-02 13:00:35 +02:00
lib bgpd: VRF-Lite fix nexthop type 2021-09-07 01:50:06 -07:00
m4 grpc: improve checks for GRPC C++ requirements 2021-05-22 00:01:06 +00:00
mlag build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
nhrpd Merge pull request #9488 from pguibert6WIND/fix_nhrp_neigh_state 2021-08-27 19:00:45 -04:00
ospf6d Merge pull request #9521 from opensourcerouting/ospf6d-gr-fixes 2021-09-06 12:36:54 +03:00
ospfclient build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
ospfd Merge pull request #9563 from opensourcerouting/build-strict-prototypes 2021-09-06 12:28:33 -04:00
pathd *: fix for -Wstrict-prototypes 2021-09-02 13:00:35 +02:00
pbrd Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg 2021-08-27 10:39:45 +02:00
pceplib pceplib: fix for -Wstrict-prototypes 2021-09-02 13:00:35 +02:00
pimd Merge pull request #9480 from SaiGomathiN/pim-coverity 2021-08-27 10:53:35 +02:00
pkgsrc *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
python build: add -Werror to xrelfo log format warnings 2021-06-24 16:42:59 +02:00
qpb build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
redhat redhat: Install frr.conf only if no per daemon config exists 2021-08-11 12:03:29 +02:00
ripd Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg 2021-08-27 10:39:45 +02:00
ripngd Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg 2021-08-27 10:39:45 +02:00
sharpd *: Drop break after using frr_help_exit() in switch/case 2021-08-25 10:49:05 +03:00
snapcraft snapcraft: add missing dependency 2021-08-23 15:08:05 +03:00
staticd Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg 2021-08-27 10:39:45 +02:00
tests bgpd: VRF-Lite fix nexthop type 2021-09-07 01:50:06 -07:00
tools tests: cleanup: rerun changed files through black 2021-09-04 09:04:47 -04:00
vrrpd lib: remove unused argument from vrf_cmd_init 2021-08-26 12:01:22 +03:00
vtysh build: ignore prototype warnings from readline 2021-09-02 13:00:35 +02:00
watchfrr lib, watchfrr: remove HAVE_SYSTEMD, use own code 2021-06-29 17:57:04 +02:00
yang Merge pull request #9439 from ton31337/feature/set_ext_community_to_none 2021-09-01 12:55:45 -04:00
zebra bgpd: VRF-Lite fix nexthop type 2021-09-07 01:50:06 -07:00
.clang-format lib: adapt to version 2 of libyang 2021-05-13 16:24:48 -04:00
.dir-locals.el tests: Update dir-locals 2021-08-27 13:10:06 -04:00
.dockerignore docker: Make docker image on CentOS 7 2019-11-26 19:29:30 +00:00
.git-blame-ignore-revs tools: Ignore mass renaming of topotests for git blame 2021-05-11 14:14:26 +03:00
.gitignore debian: Remove the changelog-auto automation in favor of dch 2021-07-03 17:02:37 +02:00
.pylintrc tests: micronet: update infra 2021-09-04 09:04:46 -04:00
.travis.yml lib: libyang2 add missed conversion 2021-05-17 22:13:59 -04:00
bootstrap.sh build: turn on automake warnings (& symlinks) 2021-04-21 15:42:37 +02:00
buildtest.sh build: remove --enable-exampledir 2021-06-24 16:42:58 +02:00
config.version.in build: carry --with-pkg-extra-version into tarballs 2018-10-24 15:11:50 +02:00
configure.ac build: make sed calls portable 2021-09-02 13:00:35 +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
Makefile.am build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
README.md doc: Update Documentation to note Solaris Unsupported status 2020-09-21 10:02:20 -04:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00
version.h build: make builddir include path consistent 2021-04-21 15:42:33 +02: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 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