mirror_frr/bgpd
Donald Sharp 56b91d107f bgpd: Prevent crash when issuing various forms of bgp no-rib
The `bgp no-rib` command cycles through all the bgp rib tables
and removes them from zebra.  Modify the code so that FRR notices
that it is attempting to cycle through the safi's that are two level
tables.  In addition these safi's cannot just blindly remove the routes
from the rib as that there are none explicitly.

This code just prevents the crash in bgpd.  It does not properly cycle
through and remove the zebra changes made that are explicit to these afi's.
This should be handled as appropriate by the developers on these safi's when
it becomes important to them.

Fixes: #11178
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-05-12 10:20:28 -04:00
..
rfapi *: Avoid casting to the same type as on the left 2022-05-08 16:07:42 +03:00
rfp-example build: properly split CFLAGS from AC_CFLAGS 2021-04-21 15:42:36 +02:00
.gitignore
bgp_addpath_types.h
bgp_addpath.c bgpd, lib, staticd, tests: Convert to using FOREACH_AFI_SAFI 2020-11-14 18:53:03 -05:00
bgp_addpath.h bgp: rename bgp_node to bgp_dest 2020-06-23 17:32:52 +02:00
bgp_advertise.c bgpd: Convert bgp_addpath_encode_[tr]x() to bool from int 2022-02-01 13:31:16 +02:00
bgp_advertise.h *: require semicolon after DEFINE_<typesafe...> 2021-03-17 06:18:39 +01:00
bgp_aspath.c *: remove the checking returned value for hash_get() 2022-05-03 00:41:48 +08:00
bgp_aspath.h bgpd: Add set as-path replace <any|ASN> cmd for route-maps 2022-04-25 14:05:22 +03:00
bgp_attr_evpn.c bgpd: fix null pointer dereferences 2022-02-10 00:14:39 +03:00
bgp_attr_evpn.h bgpd: Fixing memcmp to avoid coverity issue 2022-01-31 21:50:50 -08:00
bgp_attr.c bgpd: Ensure pkt_afi and pkt_safi are not used uninited in some cases 2022-04-27 08:06:22 -04:00
bgp_attr.h Merge pull request #11010 from opensourcerouting/feature/reuse_bgp_attr_set_community_for_flags 2022-04-13 14:54:30 -04:00
bgp_bfd.c bgpd: fix source-address for BFD sessions when using update-source IFNAME 2021-11-12 19:32:06 +03:00
bgp_bfd.h bgpd: improve BFD with timers configuration 2021-03-23 12:40:11 -03:00
bgp_bmp.c bgpd: Ensure pkt_afi and pkt_safi are not used uninited in some cases 2022-04-27 08:06:22 -04:00
bgp_bmp.h *: require semicolon after DEFINE_<typesafe...> 2021-03-17 06:18:39 +01:00
bgp_btoa.c bgpd: Convert inet_ntoa to %pI4/inet_ntop 2020-10-18 11:22:30 +03:00
bgp_clist.c *: remove the checking returned value for hash_get() 2022-05-03 00:41:48 +08:00
bgp_clist.h bgpd: Auto-complete for community lists 2021-08-10 10:56:26 +03:00
bgp_community_alias.c *: remove the checking returned value for hash_get() 2022-05-03 00:41:48 +08:00
bgp_community_alias.h bgpd: fix memory leaks in bgp_alias2community_str 2021-08-11 12:09:15 +03:00
bgp_community.c bgpd: Allow setting BGP [large]community in route-maps 2022-04-09 17:34:06 +03:00
bgp_community.h bgpd: Allow setting BGP [large]community in route-maps 2022-04-09 17:34:06 +03:00
bgp_conditional_adv.c *: Fix spelling of atleast 2022-04-19 08:25:03 -04:00
bgp_conditional_adv.h bgpd: add knob to config cond-adv scanner period 2021-07-13 13:19:14 -04:00
bgp_damp.c *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
bgp_damp.h Revert "bgpd: peer / peer group dampening profiles" 2021-08-03 21:54:47 +03:00
bgp_debug.c bgpd: Implement CEASE/Hard Reset notification 2022-05-02 09:43:40 +03:00
bgp_debug.h bgpd: Implement CEASE/Hard Reset notification 2022-05-02 09:43:40 +03:00
bgp_dump.c *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
bgp_dump.h bgpd: Add Support for rfc 8050 MRT add-path 2021-02-11 16:51:41 -08:00
bgp_ecommunity.c *: Fix spelling of strucutre 2022-04-19 08:19:37 -04:00
bgp_ecommunity.h bgpd: Add neighbor PEER link-bw-encoding-ieee 2021-08-30 14:21:49 +03:00
bgp_encap_tlv.c *: Replace 4/16 integers to IPV4_MAX_BYTELEN/IPV6_MAX_BYTELEN 2021-07-01 23:54:39 +03:00
bgp_encap_tlv.h
bgp_encap_types.h
bgp_errors.c bgpd: Warn user when an interface has no v6 LL address associated with it 2022-03-07 08:00:26 -05:00
bgp_errors.h bgpd: Warn user when an interface has no v6 LL address associated with it 2022-03-07 08:00:26 -05:00
bgp_evpn_mh.c bgpd,zebra: correct one debug log for evpn-mh 2022-05-12 02:19:51 -04:00
bgp_evpn_mh.h bgpd: remove one unnecessary parameter for evpn-mh 2022-05-09 08:27:20 -04:00
bgp_evpn_private.h bgpd: remove unncessary check for evpn 2022-05-10 22:21:32 -04:00
bgp_evpn_vty.c bgpd: remove unnecessary check for evpn 2022-05-08 09:25:12 -04:00
bgp_evpn_vty.h bgpd: CLI to advertise gateway IP overlay index 2021-06-07 17:58:22 -07:00
bgp_evpn.c Merge pull request #11162 from anlancs/fix/bgpd-cleanup-5 2022-05-09 14:43:03 -04:00
bgp_evpn.h bgpd: Convert bgp_addpath_encode_[tr]x() to bool from int 2022-02-01 13:31:16 +02:00
bgp_filter.c *: Remove redundand braces for single statement blocks 2021-11-27 11:20:59 +02:00
bgp_filter.h bgpd: add seqno in bgp as-path access-list policy 2021-03-17 22:06:53 -07:00
bgp_flowspec_private.h bgpd, lib: support for flow_label flowspec type 2020-08-21 13:37:08 +02:00
bgp_flowspec_util.c *: unify prefix copying 2021-06-29 16:11:47 +03:00
bgp_flowspec_util.h bgpd: ipv6 flowspec address decoding and validation 2020-08-21 13:37:08 +02:00
bgp_flowspec_vty.c bgpd: Use bgp_attr_[sg]et_ecommunity for struct ecommunity 2022-02-04 15:56:20 +02:00
bgp_flowspec.c bgpd: Use bgp_attr_[sg]et_ecommunity for struct ecommunity 2022-02-04 15:56:20 +02:00
bgp_flowspec.h bgpd: flowspec code support for ipv6 2020-08-21 13:37:08 +02:00
bgp_fsm.c Merge pull request #11059 from anlancs/fix/bgpd-evnp-wrong-check-hashget 2022-05-04 21:19:51 +03:00
bgp_fsm.h bgpd: Rename graceful restart constants for R-bit capabilities 2022-04-27 22:32:54 +03:00
bgp_io.c *: Change thread->func to return void instead of int 2022-02-23 19:56:04 -05:00
bgp_io.h bgpd: raise default & max r/w quanta to 64 2019-10-14 18:41:53 +00:00
bgp_keepalives.c *: remove the checking returned value for hash_get() 2022-05-03 00:41:48 +08:00
bgp_keepalives.h
bgp_label.c bgpd: Add %pBP printfrr() extension to print IP(hostname) for BGP peer 2022-03-31 21:20:11 +03:00
bgp_label.h bgpd: add some const 2021-10-01 07:48:45 -04:00
bgp_labelpool.c *: Add camelCase JSON keys in addition to PascalCase 2022-02-03 10:48:06 +02:00
bgp_labelpool.h *: require semicolon after DEFINE_<typesafe...> 2021-03-17 06:18:39 +01:00
bgp_lcommunity.c *: Fix spelling of strucutre 2022-04-19 08:19:37 -04:00
bgp_lcommunity.h bgpd: Allow setting BGP [large]community in route-maps 2022-04-09 17:34:06 +03:00
bgp_mac.c bgpd: Generate and advertise gateway IP overlay index with EVPN RT-5 2021-06-07 17:58:22 -07:00
bgp_mac.h bgpd: Rework code to use const struct prefix 2020-03-24 07:51:41 -04:00
bgp_main.c *: rework renaming the default VRF 2021-12-21 22:09:29 +03:00
bgp_memory.c bgpd: Implement CEASE/Hard Reset notification 2022-05-02 09:43:40 +03:00
bgp_memory.h bgpd: Implement CEASE/Hard Reset notification 2022-05-02 09:43:40 +03:00
bgp_mpath.c bgpd: Fix styling, drop braces for single statement block 2022-04-12 22:12:16 +03:00
bgp_mpath.h bgpd: Add vrf information to best path debugging 2021-11-12 13:24:04 -05:00
bgp_mplsvpn_snmp.c build: make builddir include path consistent 2021-04-21 15:42:33 +02:00
bgp_mplsvpn_snmp.h bgpd: implement mplsL3VpnVrfRtTable 2021-02-02 09:37:13 +00:00
bgp_mplsvpn.c bgpd: take SRv6 func-bits into account when generating SIDs 2022-04-25 17:37:11 +09:00
bgp_mplsvpn.h bgpd: Convert vpn_policy_direction_t to enum 2022-04-12 22:13:55 +03:00
bgp_network.c *: remove the checking returned value for hash_get() 2022-05-03 00:41:48 +08:00
bgp_network.h bgpd: Relax peer to be on the same host 2022-01-17 18:44:57 +02:00
bgp_nexthop.c *: Avoid casting to the same type as on the left 2022-05-08 16:07:42 +03:00
bgp_nexthop.h bgpd: EVPN route type-5 to type-2 recursive resolution using gateway IP 2021-06-07 17:59:45 -07:00
bgp_nht.c bgpd: Fix import check removal 2022-04-24 17:08:12 -04:00
bgp_nht.h bgpd: prevent routes loop through itself 2021-07-12 13:57:36 +02:00
bgp_open.c bgpd: Add CLI knob to enable graceful restart for BGP notifications 2022-05-05 12:35:03 +03:00
bgp_open.h bgpd: Implement CEASE/Hard Reset notification 2022-05-02 09:43:40 +03:00
bgp_packet.c bgpd: Reset bgp_notify.hard_reset on receive to avoid stale data 2022-05-10 09:25:59 +03:00
bgp_packet.h bgpd: Send Hard Reset Notification for BGP_NOTIFY_CEASE_ADMIN_RESET 2022-05-10 09:04:25 +03:00
bgp_pbr.c *: remove the checking returned value for hash_get() 2022-05-03 00:41:48 +08:00
bgp_pbr.h bgpd: fallback proto icmp/v6 to appropriate l3 filter 2020-08-21 13:37:08 +02:00
bgp_rd.c bgpd: delay "stream_new" in str2prefix_rd() 2022-05-02 09:23:51 -04:00
bgp_rd.h bgpd: support for Ethernet Segments and Type-1/EAD routes 2020-08-05 06:46:12 -07:00
bgp_regex.c
bgp_regex.h
bgp_route.c bgpd: fix size of esi_buf 2022-04-29 14:56:25 +03:00
bgp_route.h bgpd: change the treatment for SRv6 routes 2022-02-25 15:34:28 +00:00
bgp_routemap_nb_config.c bgpd: Add set as-path replace <any|ASN> cmd for route-maps 2022-04-25 14:05:22 +03:00
bgp_routemap_nb.c bgpd: Add set as-path replace <any|ASN> cmd for route-maps 2022-04-25 14:05:22 +03:00
bgp_routemap_nb.h bgpd: Add set as-path replace <any|ASN> cmd for route-maps 2022-04-25 14:05:22 +03:00
bgp_routemap.c bgpd: Add set as-path replace <any|ASN> cmd for route-maps 2022-04-25 14:05:22 +03:00
bgp_rpki.c bgpd: Show which RPKI server we are connected to 2022-05-03 22:09:04 +03:00
bgp_rpki.h bgpd: Convert RPKI states to an enum and use them 2021-03-26 08:23:33 -04:00
bgp_script.c bgpd: Make sure we pop the table from the stack when decoding struct attr 2022-03-29 17:47:28 +03:00
bgp_script.h bgpd: Update bgp_script encoders and decoders 2021-06-22 05:03:07 +08:00
bgp_snmp.c bgpd: Fix misleading comments for some parts 2021-08-05 16:29:52 +03:00
bgp_table.c *: use semicolon after printfrr_ext_autoreg_{p,d} 2022-01-14 13:33:57 +01:00
bgp_table.h bgpd: Make sure bgp_dest lock/unlock tracepoints works for LTTng as well 2021-09-23 20:00:54 +03:00
bgp_trace.c *: make sure config.h or zebra.h is first 2021-04-23 12:06:35 +02:00
bgp_trace.h bgpd: lttng tracepoint for local events received from zebra 2021-10-15 10:37:02 -07:00
bgp_updgrp_adv.c bgpd: Metric not set with default route. 2022-04-12 19:55:54 -07:00
bgp_updgrp_packet.c bgpd: Convert bpacket_attr_vec_type to enum 2022-04-12 22:13:55 +03:00
bgp_updgrp.c *: remove the checking returned value for hash_get() 2022-05-03 00:41:48 +08:00
bgp_updgrp.h bgpd: Apply frrbot styling 2022-04-12 22:15:17 +03:00
bgp_vnc_types.h bgpd: #if ENABLE_BGP_VNC -> #ifdef ENABLE_BGP_VNC 2020-04-01 15:05:26 -04:00
bgp_vpn.c bgpd: Convert vty_out to vty_json for JSON 2021-11-25 17:51:12 +02:00
bgp_vpn.h
bgp_vty.c bgpd: Send Hard Reset Notification for BGP_NOTIFY_CEASE_ADMIN_RESET 2022-05-10 09:04:25 +03:00
bgp_vty.h bgpd: Implement CEASE/Hard Reset notification 2022-05-02 09:43:40 +03:00
bgp_zebra.c bgpd: refactor type of srv6_locator_chunks list 2022-04-06 13:40:14 +09:00
bgp_zebra.h bgpd: Few code optimisations 2021-11-19 07:33:22 +05:30
bgpd.c bgpd: Prevent crash when issuing various forms of bgp no-rib 2022-05-12 10:20:28 -04:00
bgpd.conf.sample2
bgpd.h bgpd: Send Hard Reset Notification for BGP_NOTIFY_CEASE_ADMIN_RESET 2022-05-10 09:04:25 +03:00
IMPLEMENTATION.txt
Makefile
subdir.am Revert "bgpd: bgp northbound callbacks prototypes" 2021-08-03 23:36:31 +03:00