mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-13 10:14:50 +00:00
![]() Quagga does not have proper recovery for route install failure (in the kernel). The lack of this may not be a significant issue if the failure is only an exception. However, the introduction of route replace presents a new failure scenario which was not there earlier. Before replace, the update operation involved a delete followed by add; the failure of add would not leave hanging route entries in the kernel as they would've got deleted first. With route replace, if the replace fails, recovery action to delete the route is needed, else the route remains hanging in the kernel. In particular, with VRFs and in the presence of ECMP/multipath, a failure mode exists where Quagga thinks that routes have been cleaned up and deleted from the kernel but the kernel continues to retain them. This happens when multiple VRF interfaces are moved from one VRF to another. This patch addresses this scenario by implementing proper recovery for route install failure. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Dinesh Dutt <ddutt@cumulusnetworks.com> Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com> Ticket: CM-10361 Reviewed By: CCR-4566 Testing Done: bgp-min, ospf-min, bgp-smoke, ospf-smoke and manual Note: There are some test failures and results aren't consistent across runs; Daniel has resolved many of these through other fixes. |
||
---|---|---|
bgpd | ||
cumulus/etc | ||
debian | ||
doc | ||
fpm | ||
init | ||
isisd | ||
lib | ||
m4 | ||
ospf6d | ||
ospfclient | ||
ospfd | ||
pkgsrc | ||
ports | ||
redhat | ||
ripd | ||
ripngd | ||
solaris | ||
tests | ||
tools | ||
vtysh | ||
watchquagga | ||
zebra | ||
.gitignore | ||
AUTHORS | ||
bootstrap.sh | ||
buildtest.sh | ||
ChangeLog | ||
configure.ac | ||
COPYING | ||
COPYING.LIB | ||
HACKING.pending | ||
HACKING.tex | ||
INSTALL.quagga.txt | ||
Makefile.am | ||
NEWS | ||
README | ||
README.NetBSD | ||
REPORTING-BUGS | ||
SERVICES | ||
stamp-h.in | ||
TODO | ||
update-autotools |
Quagga is free software that manages various IPv4 and IPv6 routing protocols. Currently Quagga supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, and RIPng as well as very early support for IS-IS. See the file INSTALL.quagga.txt for building and installation instructions. See the file REPORTING-BUGS to report bugs. Quagga is free software. See the file COPYING for copying conditions.