Go to file
Christian Franke 26b0598f6b isisd: fix isis_route_merge_verify logic
This addresses two issues for L1L2 operation:

a) If an L1 route has ROUTE_ACTIVE unset and an L2 route for the same
destination has ROUTE_ACTIVE set, isisd would still put the L1 route
into the merged table. This causes the route for the destination to
get uninstalled from zebra until the next SPF run, which is incorrect.

To fix this, look at the ROUTE_ACTIVE flag and allow L2 routes to win
against L1 routes, when the L1 has ROUTE_ACTIVE unset.

b) If an L1 route wins against an existing L2 route, the ZEBRA_SYNCED
flag would remain on the L2 route. This leads to the problem that when
the L1 route disappears again, the L2 doesn't get reinstalled, since
isisd assumes it's already in the RIB because ZEBRA_SYNCED is set.

Solve this by clearing ZEBRA_SYNCED on L2 routes, if they lose against
an L1 route.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-08-03 13:25:39 +02:00
alpine alpine: add unit tests to build 2018-06-14 10:27:24 -07:00
babeld Merge pull request #2486 from pacovn/cppcheck_fmt_validation 2018-06-18 15:23:49 -04:00
bgpd Merge pull request #2760 from donaldsharp/bgp_patch_from_dev 2018-08-02 08:15:29 -04:00
debianpkg debianpkg: Add additional lintian override for Ubuntu 18.04 2018-06-12 12:06:00 -07:00
doc doc: remove unknown option role from rpki.rst 2018-07-30 18:58:38 +00:00
docker unit tests: support code coverage instrumentation and reports 2018-07-04 11:06:11 -07:00
eigrpd eigrpd lib pimd zebra: dead code (PVS-Studio) 2018-07-06 01:10:15 +02:00
fpm build: clean up BUILT_SOURCES 2017-08-04 11:13:55 +02:00
gdb gdb: Add a directory of files with gdb macros 2016-05-26 15:33:30 +00:00
include include: add netlink.h to our build system 2018-06-21 08:07:30 -04:00
init build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
isisd isisd: fix isis_route_merge_verify logic 2018-08-03 13:25:39 +02:00
ldpd ldpd: add missing command under the ipv6 address-family node 2018-07-23 19:10:57 -03:00
lib isisd: learn and advertise IPv6 dst-src routes 2018-08-03 13:25:39 +02:00
m4 build: non-recursive auxiliary directories 2017-07-31 23:03:30 +02:00
nhrpd Merge pull request #2609 from pacovn/clang_scan_nhrpd_vici_initialization 2018-07-02 18:49:49 -04:00
ospf6d libs, daemons: use const in route-map apply 2018-07-23 10:34:35 -04:00
ospfclient *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
ospfd libs, daemons: use const in route-map apply 2018-07-23 10:34:35 -04:00
pbrd pbrd: add logging messages when out of table id's 2018-06-13 20:00:58 +00:00
pimd pimd: Abstract a RPF change for upstream handling 2018-07-31 18:27:54 -04:00
pkgsrc *: Remove cvs control points 2017-12-05 17:28:12 -05:00
ports pimd: merge pimd as of 2015-01-19 2016-05-25 20:38:32 -04:00
python lib, python: DEFPY_ATTR, DEFPY_HIDDEN 2018-04-10 12:19:03 -04:00
qpb *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
redhat RedHat spec: Add the rpki module when needed 2018-07-17 12:49:14 -05:00
ripd Merge pull request #2761 from donaldsharp/rip_memory 2018-08-02 08:14:39 -04:00
ripngd libs, daemons: use const in route-map apply 2018-07-23 10:34:35 -04:00
sharpd sharpd: Does not need any special priv's 2018-06-21 11:28:16 -04:00
snapcraft snapcraft: Add PBR daemon to snap package 2018-04-30 18:53:18 -07:00
solaris gitignore: update references to FRR 2017-07-12 11:55:04 -05:00
tests isisd: learn and advertise IPv6 dst-src routes 2018-08-03 13:25:39 +02:00
tools tools/frr: make frr reload error message clearer on missing frr-reload.py 2018-08-01 09:23:55 -07:00
vtysh vtysh: Remove unused variable 2018-07-06 10:22:34 -04:00
watchfrr *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
zebra zebra: don't close client socket from I/O pthread 2018-08-01 19:41:47 +00:00
.clang-format ospfd: LSDB_LOOP treat it as a loop. 2018-01-17 13:29:58 -05:00
.dir-locals.el .dir-locals.el: show trailing whitespace 2017-11-07 12:05:09 -05:00
.dockerignore alpine packaging: build packages and base image directly from git 2018-04-04 10:05:44 -07:00
.gitignore *: globally ignore clippy-generated source 2018-03-09 17:52:15 -05:00
AUTHORS Initial revision 2002-12-13 20:15:29 +00: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 Rename: freerangerouting --> frrouting 2017-03-30 14:24:05 -04:00
common.am *: disable all sanitizers for clippy build 2018-06-08 17:22:13 +00:00
configure.ac Merge pull request #2696 from sworleys/Netlink-Fuzz 2018-07-29 08:33:43 -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 Merge pull request #2652 from LabNConsulting/working/master/confdate_cleanup 2018-07-23 08:46:26 -04:00
NEWS release: 0.99.24 2016-06-03 15:56:44 -04:00
README frr: fix typo in README 2018-05-14 11:06:27 -04:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00

FRRouting is free software that implements and manages various IPv4 and IPv6
routing protocols.

Currently FRRouting supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, RIPng,
IS-IS, PIM-SM/MSDP, LDP and Babel as well as very early support for EIGRP and
NHRP.

See doc/user/bugs.rst for information on how to report bugs.

See doc/developer/workflow.rst for information on contributing.

See the file COPYING for copying conditions.

Public email discussion can be found at https://lists.frrouting.org/listinfo

Our public slack channel is at https://frrouting.slack.com