mirror_frr/zebra
Donatas Abraitis 62196fbd19 zebra: Enable nht resolve-via-default by default for traditional profile
Lots of questions raising regarding unresolved nht, I think it's time to
relax this and make it a default ON.

Here is an example list of issues when `nht resolvia-via-default` solved
the problem:

https://github.com/FRRouting/frr/issues/3241
https://github.com/FRRouting/frr/issues/7420
https://github.com/FRRouting/frr/issues/3474
https://github.com/FRRouting/frr/issues/5023
https://github.com/FRRouting/frr/issues/6504
https://github.com/FRRouting/frr/issues/6680
https://github.com/FRRouting/frr/issues/7049
https://github.com/FRRouting/frr/issues/7862
https://github.com/FRRouting/frr/issues/7999
https://github.com/FRRouting/frr/issues/13215
https://github.com/FRRouting/frr/issues/14098

TL;DR;

The BGP session does not come up if using multihop sessions and/or the peer(nexthop)
is not accessible from the RIB, but only via default route. This is even valid for
iBGP, and not only for eBGP peering. Adding a static /32, /128 route for the peer
would do the trick, but it's a workaround.

If the route has a nexthop marked as invalid, most likely this is due to it can't
be resolved from the current RIB, but only via default route.

For instance, Cisco allows this by default (can't find even a knob to turn it
off or I'm blind).

For eBGP sessions it might be also combined with `disable-ebgp-connected-route-check`.

Some people asked if this could be a default, also for instance MetalLB is adding
this by default for all the configs it generates.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-08-17 21:45:55 +03:00
..
dpdk isisd, zebra: Use array_size instead of ARRAY_SIZE 2023-03-31 13:58:47 -04:00
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
connected.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
connected.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
debug_nl.c *: manual SPDX License ID conversions 2023-02-09 14:09:07 +01:00
debug.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
debug.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
dplane_fpm_nl.c zebra: Fix crash when dplane_fpm_nl fails to process received routes 2023-07-07 10:59:28 +02:00
if_ioctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
if_netlink.c zebra: Use zebra dplane for RTM link and addr 2023-07-05 13:03:14 -04:00
if_netlink.h zebra: Move protodown_r_bit to a better spot 2023-07-05 11:49:36 -04:00
if_socket.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
if_sysctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
interface.c zebra: Delete the 'mbr_zifs' list in the if_zebra_delete_hook function 2023-08-12 11:30:33 +04:00
interface.h Merge pull request #13545 from idryzhov/remove-bond-slave 2023-06-23 11:01:19 +03:00
ioctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ioctl.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ipforward_proc.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ipforward_sysctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ipforward.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
irdp_interface.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
irdp_main.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
irdp_packet.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
irdp.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
kernel_netlink.c zebra: Remove unused functionality 2023-07-21 07:31:04 -04:00
kernel_netlink.h zebra: Remove unused functionality 2023-07-21 07:31:04 -04:00
kernel_socket.c zebra: Use zebra dplane for RTM link and addr 2023-07-05 13:03:14 -04:00
kernel_socket.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
label_manager.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
label_manager.h *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
main.c zebra: Allow zebra cli to accept v6 routes with v4 nexthops 2023-08-03 08:25:20 -04:00
Makefile build: convert zebra/ to non-recursive build 2017-07-31 23:03:30 +02:00
netconf_netlink.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
netconf_netlink.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
redistribute.c zebra: Remove tag from zebra_rmap_obj 2023-08-11 11:21:03 -04:00
redistribute.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rib.h zebra: use NHRP routes as valid in nexthop check 2023-07-10 16:43:53 -04:00
router-id.c zebra: Use zebra_vrf_lookup_by_id when we can 2023-03-28 15:49:50 -04:00
router-id.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rt_netlink.c zebra: Add code to get/set interface to pass up from dplane 2023-07-05 13:03:14 -04:00
rt_netlink.h zebra: Rename vrf_lookup_by_tableid to zebra_vrf_lookup.. 2023-07-05 11:49:36 -04:00
rt_socket.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rt.h zebra: Use zebra dplane for RTM link and addr 2023-07-05 13:03:14 -04:00
rtadv.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
rtadv.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
rtread_netlink.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
rtread_sysctl.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
rule_netlink.c pbrd: PBR_FILTER_DSFIELD -> {PBR_FILTER_DSCP,PBR_FILTER_ECN} 2023-08-08 10:18:22 -07:00
rule_netlink.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rule_socket.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
sample_plugin.c *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
subdir.am Merge pull request #12494 from louis-6wind/ext_admin_group 2023-02-15 09:42:03 +01:00
table_manager.c zebra: remove unnecessary check for default vrf 2023-07-12 17:00:27 +08:00
table_manager.h *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
tc_netlink.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
tc_netlink.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
tc_socket.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
testrib.conf
zapi_msg.c pbrd: use flags to indicate active fields 2023-08-09 12:11:35 -07:00
zapi_msg.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_affinitymap.c lib,zebra: add affinity-map configuration hooks 2023-02-10 13:52:01 +01:00
zebra_affinitymap.h lib,zebra: add affinity-map configuration hooks 2023-02-10 13:52:01 +01:00
zebra_dplane.c zebra: zebra_dplane.[ch]: use pbr common struct in ctx 2023-08-07 06:24:53 -07:00
zebra_dplane.h zebra: zebra_dplane.[ch]: use pbr common struct in ctx 2023-08-07 06:24:53 -07:00
zebra_errors.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_errors.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_evpn_mac.c zebra:fix evpn dup detected local mac del event 2023-04-20 15:45:39 -07:00
zebra_evpn_mac.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
zebra_evpn_mh.c zebra: use ifindex vs ifp to avoid use-after-free on shutdown 2023-05-30 04:09:29 -04:00
zebra_evpn_mh.h zebra: use ifindex vs ifp to avoid use-after-free on shutdown 2023-05-30 04:09:29 -04:00
zebra_evpn_neigh.c zebra:fix a zebra crash issue caused by mac change 2023-07-19 22:03:54 +08:00
zebra_evpn_neigh.h *: Convert THREAD_XXX macros to EVENT_XXX macros 2023-03-24 08:32:17 -04:00
zebra_evpn_vxlan.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_evpn.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_evpn.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_fpm_dt.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_fpm_netlink.c zebra: remove duplicated nexthops when sending fpm msg 2023-08-01 09:58:00 +08:00
zebra_fpm_private.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_fpm_protobuf.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_fpm.c zebra: On shutdown stop hook calls for fpm rmac updates 2023-05-19 10:02:19 -04:00
zebra_gr.c * : include event ptr in event_execute api 2023-07-25 10:17:48 -04:00
zebra_l2_bridge_if.c *: Add a hash_clean_and_free() function 2023-03-21 08:54:21 -04:00
zebra_l2_bridge_if.h zebra: multiple vlan aware bridge data structure and related changes 2023-02-13 18:12:04 -05:00
zebra_l2.c zebra: Use zebra dplane for RTM link and addr 2023-07-05 13:03:14 -04:00
zebra_l2.h zebra: Use zebra dplane for RTM link and addr 2023-07-05 13:03:14 -04:00
zebra_mlag_private.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
zebra_mlag_vty.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mlag_vty.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mlag.c zebra: Consolidate the stream_failure section with normal return 2023-06-01 08:58:16 -04:00
zebra_mlag.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mpls_netlink.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mpls_null.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mpls_openbsd.c zebra: Add code to get/set interface to pass up from dplane 2023-07-05 13:03:14 -04:00
zebra_mpls_vty.c zebra: remove unnecessary check for default vrf 2023-07-12 17:00:27 +08:00
zebra_mpls.c zebra: remove unnecessary check for default vrf 2023-07-12 17:00:27 +08:00
zebra_mpls.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_mroute.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mroute.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_nb_config.c zebra, yang: add an mpls leaf to interface 2023-08-10 18:13:21 +02:00
zebra_nb_rpcs.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_nb_state.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_nb.c zebra, yang: add an mpls leaf to interface 2023-08-10 18:13:21 +02:00
zebra_nb.h zebra, yang: add an mpls leaf to interface 2023-08-10 18:13:21 +02:00
zebra_neigh.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_neigh.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_netns_id.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_netns_id.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_netns_notify.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
zebra_netns_notify.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_nhg_private.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_nhg.c zebra: Remove tag from zebra_rmap_obj 2023-08-11 11:21:03 -04:00
zebra_nhg.h zebra: re-install nhg on interface up 2023-05-05 14:37:52 -07:00
zebra_ns.c zebra: Use zebra dplane for RTM link and addr 2023-07-05 13:03:14 -04:00
zebra_ns.h zebra: Use zebra dplane for RTM link and addr 2023-07-05 13:03:14 -04:00
zebra_opaque.c zebra: clean up coverity warning in opaque api 2023-06-26 13:19:23 -04:00
zebra_opaque.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_pbr.c pbrd: add packet mangling actions (src/dst ip-addr/port, dscp, ecn) 2023-08-09 12:11:43 -07:00
zebra_pbr.h pbrd: PBR_FILTER_DSFIELD -> {PBR_FILTER_DSCP,PBR_FILTER_ECN} 2023-08-08 10:18:22 -07:00
zebra_ptm_redistribute.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_ptm_redistribute.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_ptm.c zebra: Make memory description string smaller to fit in vty space 2023-05-19 21:31:35 -04:00
zebra_ptm.h ripd: support BFD integration 2023-04-19 09:15:01 -03:00
zebra_pw.c zebra: remove unnecessary check for default vrf 2023-07-12 17:00:27 +08:00
zebra_pw.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
zebra_rib.c lib, zebra: Fix EVPN nexthop config order 2023-07-27 15:07:42 +08:00
zebra_rnh.c zebra: keep seg6local information from 'show ipv6 route' consistent with iproute2 2023-04-14 18:04:01 +02:00
zebra_rnh.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_routemap_nb_config.c zebra: remove checks for src address existence when using "set src" 2021-08-02 18:35:30 +03:00
zebra_routemap_nb.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_routemap_nb.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_routemap.c zebra: Remove tag from zebra_rmap_obj 2023-08-11 11:21:03 -04:00
zebra_routemap.h zebra: Remove tag from zebra_rmap_obj 2023-08-11 11:21:03 -04:00
zebra_router.c zebra: Allow zebra cli to accept v6 routes with v4 nexthops 2023-08-03 08:25:20 -04:00
zebra_router.h zebra: Allow zebra cli to accept v6 routes with v4 nexthops 2023-08-03 08:25:20 -04:00
zebra_script.c zebra: Add code to get/set interface to pass up from dplane 2023-07-05 13:03:14 -04:00
zebra_script.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_snmp.c *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
zebra_srte.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srte.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srv6_vty.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srv6_vty.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srv6.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srv6.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_tc.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_tc.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_trace.c zebra: Add initial zebra tracepoint support 2022-04-20 09:39:47 -04:00
zebra_trace.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_vrf.c zebra: Enable nht resolve-via-default by default for traditional profile 2023-08-17 21:45:55 +03:00
zebra_vrf.h zebra: Enable nht resolve-via-default by default for traditional profile 2023-08-17 21:45:55 +03:00
zebra_vty.c zebra: Allow zebra cli to accept v6 routes with v4 nexthops 2023-08-03 08:25:20 -04:00
zebra_vxlan_if.c *: Add a hash_clean_and_free() function 2023-03-21 08:54:21 -04:00
zebra_vxlan_if.h zebra: Fix for mcast-group update and delete per vni for svd 2023-02-13 18:12:05 -05:00
zebra_vxlan_private.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_vxlan.c zebra: non pretty json output for evpn route 2023-07-21 10:15:25 -07:00
zebra_vxlan.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zserv.c Merge pull request #13333 from donaldsharp/vrf_bitmap_cleanup 2023-07-04 22:11:11 +03:00
zserv.h zebra: remove current_afi as that it is no longer used 2023-03-29 15:40:56 -04:00