mirror_frr/zebra
Chirag Shah 1106f4ef02 zebra: fix evpn mh bond member proto reinstall
In case of EVPN MH bond, a member port going in
protodown state due to external reason (one case being linkflap),
frr updates the state correctly but upon manually
clearing external reason trigger FRR to reinstate
protodown without any reason code.

Fix is to ensure if the protodown reason was external
and new state is to have protodown 'off' then do no reinstate
protodown.

Ticket: #3947432
Testing:
switch:#ip link show swp1
4: swp1: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 9216 qdisc
   pfifo_fast master bond1 state DOWN mode DEFAULT group default qlen
   1000
       link/ether 1c:34:da:2c:aa:68 brd ff:ff:ff:ff:ff:ff protodown on
       protodown_reason <linkflap>

switch:#ip link set swp1 protodown off protodown_reason linkflap off
switch:#ip link show swp1
 4: swp1: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 9216 qdisc
    pfifo_fast master bond1 state DOWN mode DEFAULT group default qlen
    1000
        link/ether 1c:34:da:2c:aa:68 brd ff:ff:ff:ff:ff:ff

Signed-off-by: Chirag Shah <chirag@nvidia.com>
(cherry picked from commit e4d843b438)
2024-06-21 06:48:07 +00:00
..
dpdk zebra: Drop new lines from zlog_debug for dpdk debug messages 2023-09-29 09:02:58 +03:00
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
connected.c Revert "zebra: Add connected with noprefixroute" 2024-01-21 23:14:02 +02: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: support route replace semantics in FPM 2023-09-04 15:38:03 -03:00
if_ioctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
if_netlink.c Revert "zebra: Add ability to note that a address is NOPREFIXROUTE" 2024-01-21 23:14:06 +02: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: fix evpn mh bond member proto reinstall 2024-06-21 06:48:07 +00: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: add RTM_xxxCHAIN message codes, ignore 2023-10-12 19:59:21 +00:00
kernel_netlink.h zebra: Remove unused functionality 2023-07-21 07:31:04 -04:00
kernel_socket.c zebra: Make main routing table (RT_TABLE_MAIN) configurable 2023-08-22 15:29:07 +02:00
kernel_socket.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
label_manager.c zebra: add label chunk range in log when label manager request fails 2023-10-13 15:50:36 +00:00
label_manager.h zebra: merge lm_get_chunk_response() function 2023-10-13 15:50:36 +00:00
main.c zebra: fix route deletion during zebra shutdown 2024-03-18 11:45:17 +00: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 static ARP entries on interface down events 2023-11-07 14:41:07 +00:00
redistribute.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rib.h zebra: The dplane_fpm_nl return path leaks memory 2023-12-12 06:45:31 +00:00
router-id.c Revert "lib: register bgp link-state afi/safi" 2023-10-11 05:02:54 +00:00
router-id.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rt_netlink.c zebra: The dplane_fpm_nl return path leaks memory 2023-12-12 06:45:31 +00:00
rt_netlink.h zebra: support route replace semantics in FPM 2023-09-04 15:38:03 -03: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 zebra: ignore iprule requests for unsupported actions 2023-09-08 10:23:20 -04: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 zebra: dump label table information 2023-09-29 08:24:18 +02: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 *: Do not cast to the same type as the destination is 2023-09-29 10:24:16 +03: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 Revert "lib: register bgp link-state afi/safi" 2023-10-11 05:02:54 +00:00
zapi_msg.h *: remove ZEBRA_INTERFACE_VRF_UPDATE 2023-10-07 10:06:39 +08: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 Revert "zebra: Add ability to note that a address is NOPREFIXROUTE" 2024-01-21 23:14:06 +02:00
zebra_dplane.h Revert "zebra: Add ability to note that a address is NOPREFIXROUTE" 2024-01-21 23:14:06 +02: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: Fix crashes in interface change 2023-08-17 09:43:06 -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: fix mpls command 2024-05-18 13:13:10 +00:00
zebra_mpls.c zebra: fix mpls command 2024-05-18 13:13:10 +00: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 zebra: add northbound api hooks for nexthop segments 2023-09-20 15:07:15 +02:00
zebra_nb.c zebra: add northbound api hooks for nexthop segments 2023-09-20 15:07:15 +02:00
zebra_nb.h zebra: add northbound api hooks for nexthop segments 2023-09-20 15:07:15 +02:00
zebra_neigh.c zebra: Remove static ARP entries on interface down events 2023-11-07 14:41:07 +00:00
zebra_neigh.h zebra: Remove static ARP entries on interface down events 2023-11-07 14:41:07 +00: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 lib, zebra: Check for not being a blackhole route 2024-04-23 12:10:36 +00: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 zebra: add zclient to iprules key 2023-10-06 12:26:38 -04: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 zebra: The dplane_fpm_nl return path leaks memory 2023-12-12 06:45:31 +00:00
zebra_rnh.c zebra: Refactor memory allocation in zebra_rnh.c 2023-11-15 12:28:51 +00: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: Deny the routes if ip protocol CLI refers to an undefined rmap 2024-05-21 14:54:29 +00: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 zebra: Fix longstanding snmp coverity issue 2023-09-21 08:45:27 -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 Merge pull request #14162 from opensourcerouting/feature/turn_on_nht_resolve_via_default_for_traditional_profile 2023-09-13 05:57:49 -04: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: Show NHT resolve via default status on/off 2023-08-17 21:45:55 +03: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: fix EVPN svd based remote nh neigh del 2024-05-08 19:38:17 +00: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