mirror_frr/zebra
Don Slice 47301614a9 zebra: fix attempt to install a second rib from imported table entries
Problem reported by a customer with prefix imported by rdnbrd not being
successfully installed in the quagga rib.  Determined that this was due
to VRR resolving the same arp entry, causing two entries to be installed
in table 10.  When these were imported into the quagga rib, they came in
as two different rib entries from the same table/instance, which is not
permitted and caused them to be deleted.

Added logic to zebra_add_import_table_entry to do the same actions as
rib_add and delete the older rib entry if a new rib entry is received
which matches.

Manual testing successful and automated tests for redistribute neighbor
have the same passes and failures as the base.

Ticket: CM-15926
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by:
2017-04-26 14:25:12 +00:00
..
.gitignore [administrivia] Update gitignore files 2008-08-22 20:02:08 +01:00
client_main.c build: remove $Format tags 2016-12-20 17:54:03 +01:00
connected.c Quagga: Fix MPLS LSP scheduling to follow nexthop route update 2016-09-23 09:30:59 -04:00
connected.h Zebra: Remove reliance on NEXTHOP_TYPE_IPV4_ONLINK 2015-11-16 12:48:07 -08:00
debug.c *: Fix duplicate commands from view/enable node consolidation 2016-10-19 22:28:45 -04:00
debug.h Quagga: Static LSP configuration 2016-09-23 09:30:54 -04:00
GNOME-PRODUCT-ZEBRA-MIB Initial revision 2002-12-13 20:15:29 +00:00
GNOME-SMI Initial revision 2002-12-13 20:15:29 +00:00
if_ioctl_solaris.c zebra: Fix some warnings found during compile. 2016-10-07 21:05:05 -04:00
if_ioctl.c build: massively remove needless checks 2016-11-15 14:23:17 +09:00
if_netlink.c lib/zebra: put vrf_get() on a diet 2016-11-28 16:18:35 -02:00
if_netlink.h zebra: Refactor netlink interactions 2016-10-17 12:39:55 -07:00
if_null.c lib, zebra: Rework zebra_ns to be a bit more modular 2016-04-14 20:56:57 -04:00
if_sysctl.c *: split & distribute memtypes and stop (re|ab)using lib/ MTYPEs 2016-09-19 16:31:04 -04:00
interface.c Merge branch '-renato' into stable/2.0 2016-12-05 16:23:28 +01:00
interface.h lib, zebra: unify link layer type and hardware address handling 2016-09-03 11:05:50 -04:00
ioctl_null.c Add missing GPL headers, and copyright claims that certainly apply. 2016-05-26 01:06:59 +00:00
ioctl_solaris.c zebra: Fix some warnings found during compile. 2016-10-07 21:05:05 -04:00
ioctl_solaris.h build/solaris: create ioctl_solaris.h 2016-06-09 10:51:59 -04:00
ioctl.c *: fix more initialisers (for BSD) 2016-06-08 15:01:33 -04:00
ioctl.h [zebra/solaris] Interface state fixups for Solaris. 2006-01-25 04:31:40 +00:00
ipforward_proc.c zebra: fix warnings in forward proc 2011-12-07 01:24:09 +04:00
ipforward_solaris.c 2005-06-28 Paul Jakma <paul.jakma@sun.com> 2005-06-28 17:17:12 +00:00
ipforward_sysctl.c build: remove INRIA, NRL and MUSICA IPv6 quirks 2016-06-03 14:40:03 -04:00
ipforward.h 2005-06-28 Paul Jakma <paul.jakma@sun.com> 2005-06-28 17:17:12 +00:00
irdp_interface.c zebra: use qobj and enable concurrent config edits 2016-10-07 09:09:52 -04:00
irdp_main.c lib: convert vrf code to use red-black trees as well 2016-11-28 16:18:35 -02:00
irdp_packet.c *: create a helper function to set the IP_MULTICAST_LOOP sockoption 2016-11-25 11:46:06 -02:00
irdp.h zebra: deal with irdp compile warnings 2009-12-10 14:22:44 +03:00
kernel_netlink.c Revert "*: Add source of route as protocol string in ip route pushed into kernel" 2017-01-31 13:51:27 +01:00
kernel_netlink.h zebra: use unsigned args for *addattr 2016-10-18 08:39:21 -04:00
kernel_null.c zebra: kernel interface simplification 2016-10-18 08:36:21 -04:00
kernel_socket.c lib: replace strlcpy & strlcat with glibc versions 2016-11-15 17:35:36 +09:00
kernel_socket.h mpls: add support to the OpenBSD kernel 2016-09-23 09:31:15 -04:00
main.c *: Convert libzebra -> libfrr 2017-02-03 08:29:13 -05:00
Makefile.am *: Convert libzebra -> libfrr 2017-02-03 08:29:13 -05:00
misc_null.c zebra: clean up misc_null pragmas 2016-06-07 09:43:32 -04:00
redistribute_null.c Update Traffic Engineering Support for OSPFD 2016-09-03 11:05:50 -04:00
redistribute.c zebra: fix attempt to install a second rib from imported table entries 2017-04-26 14:25:12 +00:00
redistribute.h Update Traffic Engineering Support for OSPFD 2016-09-03 11:05:50 -04:00
rib.h zebra: remove unused variable 2016-12-23 13:27:55 +07:00
router-id.c zebra/lib: remove redundant fields from zebra_vrf 2016-11-28 16:18:35 -02:00
router-id.h zebra: maintain the router-id per VRF 2015-10-30 00:19:15 -07:00
rt_netlink.c Revert "*: Add source of route as protocol string in ip route pushed into kernel" 2017-01-31 13:51:27 +01:00
rt_netlink.h Revert "*: Add source of route as protocol string in ip route pushed into kernel" 2017-01-31 13:51:27 +01:00
rt_socket.c lib: replace strlcpy & strlcat with glibc versions 2016-11-15 17:35:36 +09:00
rt.h zebra: kernel interface simplification 2016-10-18 08:36:21 -04:00
rtadv_null.c BGP: Trigger IPv6 router advertisements upon config of unnumbered neighbor 2016-05-02 13:53:38 -07:00
rtadv.c zebra/lib: remove redundant fields from zebra_vrf 2016-11-28 16:18:35 -02:00
rtadv.h zebra: fix build with rtadv disabled 2016-06-08 14:15:47 -04:00
rtread_getmsg.c zebra: Fix some warnings found during compile. 2016-10-07 21:05:05 -04:00
rtread_netlink.c lib, zebra: The Bulk of the conversion over to NS and VRF 2016-02-01 10:55:42 -08:00
rtread_sysctl.c *: split & distribute memtypes and stop (re|ab)using lib/ MTYPEs 2016-09-19 16:31:04 -04:00
test_main.c *: Convert libzebra -> libfrr 2017-02-03 08:29:13 -05:00
testrib.conf zebra: Build the test client, can be useful, and add IPv6 to testrib.conf 2016-05-26 01:13:58 +00:00
zebra_fpm_dt.c zebra: fpm: fix --enable-dev-build 2017-02-01 13:24:37 +01:00
zebra_fpm_netlink.c zebra/lib: remove redundant fields from zebra_vrf 2016-11-28 16:18:35 -02:00
zebra_fpm_private.h zebra: optionally use protobuf with FPM 2016-09-23 12:12:16 -04:00
zebra_fpm_protobuf.c fpm/protobuf: fix compile errors & warnings 2016-09-23 12:12:17 -04:00
zebra_fpm.c zebra/lib: remove redundant fields from zebra_vrf 2016-11-28 16:18:35 -02:00
zebra_fpm.h zebra: optionally use protobuf with FPM 2016-09-23 12:12:16 -04:00
zebra_memory.c *: split & distribute memtypes and stop (re|ab)using lib/ MTYPEs 2016-09-19 16:31:04 -04:00
zebra_memory.h zebra/lib: plug several memleaks 2016-11-28 16:15:27 -02:00
zebra_mpls_netlink.c *: fix some licensing SNAFUs 2016-11-14 11:27:08 +09:00
zebra_mpls_null.c zebra: add missing license headers to two files 2016-11-28 17:34:54 +01:00
zebra_mpls_openbsd.c zebra: add missing license headers to two files 2016-11-28 17:34:54 +01:00
zebra_mpls_vty.c zebra: Disable mpls slightly different 2016-10-25 14:30:25 -04:00
zebra_mpls.c Merge branch '-renato' into stable/2.0 2016-12-05 16:23:28 +01:00
zebra_mpls.h zebra: check at startup if the kernel supports MPLS 2016-09-23 09:31:25 -04:00
zebra_ns.c zebra/lib: move some code around 2016-11-28 16:18:35 -02:00
zebra_ns.h zebra/lib: plug several memleaks 2016-11-28 16:15:27 -02:00
zebra_ptm_null.c Zebra and bgpd: VRF support for BFD 2016-03-08 05:10:56 -08:00
zebra_ptm_redistribute.c *: split & distribute memtypes and stop (re|ab)using lib/ MTYPEs 2016-09-19 16:31:04 -04:00
zebra_ptm_redistribute.h Zebra and bgpd: VRF support for BFD 2016-03-08 05:10:56 -08:00
zebra_ptm.c bgpd, zebra: Fix for ignored non-default VRF single-hop BFD status messages in Quagga 2017-01-30 13:40:21 -05:00
zebra_ptm.h bfd: Fix for missing BFD client regs/deregs from quagga clients 2016-06-21 03:39:58 -07:00
zebra_rib.c zebra: remove unused variable 2016-12-23 13:27:55 +07:00
zebra_rnh_null.c zebra: plug more memory leaks 2016-11-28 16:18:35 -02:00
zebra_rnh.c Merge branch '-renato' into stable/2.0 2016-12-05 16:23:28 +01:00
zebra_rnh.h zebra: plug more memory leaks 2016-11-28 16:18:35 -02:00
zebra_routemap.c build: rename (2 of ?): route_types macros 2016-12-20 18:34:29 +01:00
zebra_routemap.h *: Consistently support 32-bit route tags 2016-10-07 21:05:05 -04:00
zebra_snmp.c zebra: fix sign warning in SNMP code 2016-11-15 14:06:13 +09:00
zebra_static.c zebra: fix FIB route updates on *BSD 2016-12-23 13:27:03 +07:00
zebra_static.h Merge remote-tracking branch 'origin/cmaster' into cmaster-next 2016-10-21 16:05:03 -04:00
zebra_vrf.c zebra: fix SEGV on exit or vrf delete 2017-02-01 15:39:02 +01:00
zebra_vrf.h zebra: plug more memory leaks 2016-11-28 16:18:35 -02:00
zebra_vty.c zebra: pass correct parameters to remove static routes with tags 2017-01-30 13:40:53 -05:00
zebra.conf.sample Initial revision 2002-12-13 20:15:29 +00:00
zserv_null.c zebra: Refactor zebra_vrf 2016-04-14 20:57:04 -04:00
zserv.c zebra: Fix CID 1399335 (#1 of 1): Wrong sizeof argument (SIZEOF_MISMATCH) 2017-02-10 16:52:34 +07:00
zserv.h zebra: check at startup if the kernel supports MPLS 2016-09-23 09:31:25 -04:00