mirror_frr/zebra
vivek 2bf26d4184 Zebra: Eliminate unnecessary del-add upon static route addition
When static routes are added, they get processed and potentially installed
in the RIB once. Subsequently, NHT is invoked and ends up scheduling the
route for processing again because this is the first time the nexthop is
resolved for NHT. This used to result in a del-add earlier (as noted in
the defect), but is a replace now. This change eliminates the unnecessary
replace by ensuring NHT is invoked first if the static route has a nexthop
that will be tracked by NHT.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by:   Dinesh Dutt <ddutt@cumulusnetworks.com>

Ticket: CM-4573
Reviewed By: CCR-3903
Testing Done: Manual and bgpsmoke

Note: Updates/improves static route NHT patch(es).
2015-12-08 15:04:48 -08:00
..
.gitignore [administrivia] Update gitignore files 2008-08-22 20:02:08 +01:00
client_main.c *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
connected.c Enable IPv6 ND RA for interfaces that have an IPv6 address 2015-12-07 13:05:34 -08:00
connected.h Zebra: Remove reliance on NEXTHOP_TYPE_IPV4_ONLINK 2015-11-16 12:48:07 -08:00
debug.c Zebra: Cleanup RIB debugs 2015-11-20 08:48:32 -08:00
debug.h Zebra: Cleanup RIB debugs 2015-11-20 08:48:32 -08: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, lib/memtypes.c: the netlink sockets work per VRF 2015-10-30 01:45:21 -07:00
if_ioctl.c zebra, lib/memtypes.c: the netlink sockets work per VRF 2015-10-30 01:45:21 -07:00
if_netlink.c zebra, lib/memtypes.c: the netlink sockets work per VRF 2015-10-30 01:45:21 -07:00
if_proc.c zebra: zebra-warnings.patch 2015-05-19 18:04:26 -07:00
if_sysctl.c *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
interface.c Enable IPv6 ND RA for interfaces that have an IPv6 address 2015-12-07 13:05:34 -08:00
interface.h Enable IPv6 ND RA for interfaces that have an IPv6 address 2015-12-07 13:05:34 -08:00
ioctl_null.c testzebra: pragma weak: detect systems with weak alias and provide alternative 2013-01-11 21:50:06 +01:00
ioctl_solaris.c Fixed ioctl_solaris.c:if_get_mtu() for IPv6'less operation 2007-08-21 16:12:40 +00:00
ioctl.c zebra: fix argument reference in strncpy() call for BSD 2009-12-03 21:14:16 +03:00
ioctl.h [zebra/solaris] Interface state fixups for Solaris. 2006-01-25 04:31:40 +00:00
ipforward_aix.c Initial revision 2002-12-13 20:15:29 +00:00
ipforward_ews.c Initial revision 2002-12-13 20:15:29 +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 2005-06-28 Paul Jakma <paul.jakma@sun.com> 2005-06-28 17:17:12 +00:00
ipforward.h 2005-06-28 Paul Jakma <paul.jakma@sun.com> 2005-06-28 17:17:12 +00:00
irdp_interface.c zebra: zebra-warnings.patch 2015-05-19 18:04:26 -07:00
irdp_main.c zebra: deal with irdp compile warnings 2009-12-10 14:22:44 +03:00
irdp_packet.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
irdp.h zebra: deal with irdp compile warnings 2009-12-10 14:22:44 +03:00
kernel_netlink.c Initial revision 2002-12-13 20:15:29 +00:00
kernel_null.c Zebra: Implement route replace for IPv6 2015-11-19 12:22:55 -08:00
kernel_socket.c Quagga: prefix2str fixup 2015-11-23 13:31:11 -08:00
kernel_socket.h [lib] mes_lookup string lookup table argument should be marked const 2008-08-22 19:52:58 +01:00
main.c Quagga: Cleanup RTADV define 2015-11-20 07:07:41 -08:00
Makefile.am Enable IPv6 ND RA for interfaces that have an IPv6 address 2015-12-07 13:05:34 -08:00
misc_null.c zebra: zebra-warnings.patch 2015-05-19 18:04:26 -07:00
mtu_kvm.c 2004-05-09 Paul Jakma <paul@dishone.st> 2004-05-09 11:00:23 +00:00
redistribute_null.c *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
redistribute.c Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster 2015-11-27 08:47:38 -08:00
redistribute.h *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
rib.h Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster 2015-11-27 08:47:38 -08:00
router-id.c Should be able to "no" the full text of any config line 2015-11-23 18:05:03 +00:00
router-id.h zebra: maintain the router-id per VRF 2015-10-30 00:19:15 -07:00
rt_ioctl.c Zebra: Implement route replace for IPv6 2015-11-19 12:22:55 -08:00
rt_netlink.c Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster 2015-11-27 08:58:52 -08:00
rt_netlink.h zebra, lib/memtypes.c: the netlink sockets work per VRF 2015-10-30 01:45:21 -07:00
rt_socket.c Zebra: Implement route replace for IPv6 2015-11-19 12:22:55 -08:00
rt.h Zebra: Implement route replace for IPv6 2015-11-19 12:22:55 -08:00
rtadv_null.c Enable IPv6 ND RA for interfaces that have an IPv6 address 2015-12-07 13:05:34 -08:00
rtadv.c Enable IPv6 ND RA for interfaces that have an IPv6 address 2015-12-07 13:05:34 -08:00
rtadv.h Enable IPv6 ND RA for interfaces that have an IPv6 address 2015-12-07 13:05:34 -08:00
rtread_getmsg.c zebra, lib/memtypes.c: the netlink sockets work per VRF 2015-10-30 01:45:21 -07:00
rtread_netlink.c zebra, lib/memtypes.c: the netlink sockets work per VRF 2015-10-30 01:45:21 -07:00
rtread_proc.c Multi-Instance OSPF Summary 2015-05-19 18:03:42 -07:00
rtread_sysctl.c zebra, lib/memtypes.c: the netlink sockets work per VRF 2015-10-30 01:45:21 -07:00
test_main.c zebra, lib/memtypes.c: the netlink sockets work per VRF 2015-10-30 01:45:21 -07:00
testrib.conf zebra: Add an example config file for testzebra 2009-08-28 14:51:37 +01:00
zebra_fpm_netlink.c Quagga: Set MULTIPATH_NUM to 64 when user specifies 0 from cli 2015-11-17 08:13:23 -08:00
zebra_fpm_private.h zebra: add module to communicate routes to FPM 2012-11-30 21:41:17 +01:00
zebra_fpm.c Quagga: Fixup some compile warnings 2015-11-23 13:31:11 -08:00
zebra_fpm.h zebra: add module to communicate routes to FPM 2012-11-30 21:41:17 +01:00
zebra_ptm_null.c Support of BFD status in Quagga 2015-08-31 14:56:11 -07:00
zebra_ptm_redistribute.c *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00
zebra_ptm_redistribute.h Support of BFD status in Quagga 2015-08-31 14:56:11 -07:00
zebra_ptm.c Fix Quagga ptm status per interface to show more meaningful status 2015-10-09 11:18:09 -07:00
zebra_ptm.h Fix Quagga ptm status per interface to show more meaningful status 2015-10-09 11:18:09 -07:00
zebra_rib.c Zebra: Eliminate unnecessary del-add upon static route addition 2015-12-08 15:04:48 -08:00
zebra_rnh_null.c Quagga: Nexthop refactoring 2015-11-27 08:46:54 -08:00
zebra_rnh.c Zebra: crash in zebra_deregister_rnh_static_nexthops 2015-12-01 18:32:33 +00:00
zebra_rnh.h Quagga: Nexthop refactoring 2015-11-27 08:46:54 -08:00
zebra_routemap.c Should be able to "no" the full text of any config line 2015-11-23 18:05:03 +00:00
zebra_routemap.h Create override for quagga reinstall of originated routes 2015-08-26 05:21:40 -07:00
zebra_snmp.c lib, zebra: move "struct vrf" to be a lib module 2015-10-29 16:45:10 -07:00
zebra_vty.c Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster 2015-11-27 08:58:52 -08:00
zebra.conf.sample Initial revision 2002-12-13 20:15:29 +00:00
zserv.c Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster 2015-11-27 08:58:52 -08:00
zserv.h *: add VRF ID in the API message header 2015-11-03 22:04:36 -08:00