mirror_frr/isisd
Louis Scalbert cd81d28ae2 isisd: fix crash at flex-algo without mpls-te
Fix crash when flex-algo is configured and mpls-te is disabled.

> interface eth0
>  ip router isis 1
> !
> router isis 1
>  flex-algo 129
>   dataplane sr-mpls
>   advertise-definition

> #0  __pthread_kill_implementation (no_tid=0, signo=11, threadid=140486233631168) at ./nptl/pthread_kill.c:44
> #1  __pthread_kill_internal (signo=11, threadid=140486233631168) at ./nptl/pthread_kill.c:78
> #2  __GI___pthread_kill (threadid=140486233631168, signo=signo@entry=11) at ./nptl/pthread_kill.c:89
> #3  0x00007fc5802e9476 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
> #4  0x00007fc58076021f in core_handler (signo=11, siginfo=0x7ffd38d42470, context=0x7ffd38d42340) at lib/sigevent.c:248
> #5  <signal handler called>
> #6  0x000055c527f798c9 in isis_link_params_update_asla (circuit=0x55c52aaed3c0, ifp=0x55c52a1044e0) at isisd/isis_te.c:176
> #7  0x000055c527fb29da in isis_instance_flex_algo_create (args=0x7ffd38d43120) at isisd/isis_nb_config.c:2875
> #8  0x00007fc58072655b in nb_callback_create (context=0x55c52ab1d2f0, nb_node=0x55c529f72950, event=NB_EV_APPLY, dnode=0x55c52ab06230, resource=0x55c52ab189f8, errmsg=0x7ffd38d43750 "",
>     errmsg_len=8192) at lib/northbound.c:1262
> #9  0x00007fc580727625 in nb_callback_configuration (context=0x55c52ab1d2f0, event=NB_EV_APPLY, change=0x55c52ab189c0, errmsg=0x7ffd38d43750 "", errmsg_len=8192) at lib/northbound.c:1662
> #10 0x00007fc580727c39 in nb_transaction_process (event=NB_EV_APPLY, transaction=0x55c52ab1d2f0, errmsg=0x7ffd38d43750 "", errmsg_len=8192) at lib/northbound.c:1794
> #11 0x00007fc580725f77 in nb_candidate_commit_apply (transaction=0x55c52ab1d2f0, save_transaction=true, transaction_id=0x0, errmsg=0x7ffd38d43750 "", errmsg_len=8192)
>     at lib/northbound.c:1131
> #12 0x00007fc5807260d1 in nb_candidate_commit (context=..., candidate=0x55c529f0a730, save_transaction=true, comment=0x0, transaction_id=0x0, errmsg=0x7ffd38d43750 "", errmsg_len=8192)
>     at lib/northbound.c:1164
> #13 0x00007fc58072d220 in nb_cli_classic_commit (vty=0x55c52a0fc6b0) at lib/northbound_cli.c:51
> #14 0x00007fc58072d839 in nb_cli_apply_changes_internal (vty=0x55c52a0fc6b0,
>     xpath_base=0x7ffd38d477f0 "/frr-isisd:isis/instance[area-tag='1'][vrf='default']/flex-algos/flex-algo[flex-algo='129']", clear_pending=false) at lib/northbound_cli.c:178
> #15 0x00007fc58072dbcf in nb_cli_apply_changes (vty=0x55c52a0fc6b0, xpath_base_fmt=0x55c528014de0 "./flex-algos/flex-algo[flex-algo='%ld']") at lib/northbound_cli.c:234
> #16 0x000055c527fd3403 in flex_algo_magic (self=0x55c52804f1a0 <flex_algo_cmd>, vty=0x55c52a0fc6b0, argc=2, argv=0x55c52ab00ec0, algorithm=129, algorithm_str=0x55c52ab120d0 "129")
>     at isisd/isis_cli.c:3752
> #17 0x000055c527fc97cb in flex_algo (self=0x55c52804f1a0 <flex_algo_cmd>, vty=0x55c52a0fc6b0, argc=2, argv=0x55c52ab00ec0) at ./isisd/isis_cli_clippy.c:6445
> #18 0x00007fc5806b9abc in cmd_execute_command_real (vline=0x55c52aaf78f0, vty=0x55c52a0fc6b0, cmd=0x0, up_level=0) at lib/command.c:984
> #19 0x00007fc5806b9c35 in cmd_execute_command (vline=0x55c52aaf78f0, vty=0x55c52a0fc6b0, cmd=0x0, vtysh=0) at lib/command.c:1043
> #20 0x00007fc5806ba1e5 in cmd_execute (vty=0x55c52a0fc6b0, cmd=0x55c52aae6bd0 "flex-algo 129\n", matched=0x0, vtysh=0) at lib/command.c:1209
> #21 0x00007fc580782ae1 in vty_command (vty=0x55c52a0fc6b0, buf=0x55c52aae6bd0 "flex-algo 129\n") at lib/vty.c:615
> #22 0x00007fc580784a05 in vty_execute (vty=0x55c52a0fc6b0) at lib/vty.c:1378
> #23 0x00007fc580787131 in vtysh_read (thread=0x7ffd38d4ab10) at lib/vty.c:2373
> #24 0x00007fc58077b605 in event_call (thread=0x7ffd38d4ab10) at lib/event.c:2011
> #25 0x00007fc5806f8976 in frr_run (master=0x55c529df9b30) at lib/libfrr.c:1212
> #26 0x000055c527f301bc in main (argc=5, argv=0x7ffd38d4ad58, envp=0x7ffd38d4ad88) at isisd/isis_main.c:350
> (gdb) f 6
> #6  0x000055c527f798c9 in isis_link_params_update_asla (circuit=0x55c52aaed3c0, ifp=0x55c52a1044e0) at isisd/isis_te.c:176
> 176                     list_delete_all_node(ext->aslas);
> (gdb) p ext
> $1 = (struct isis_ext_subtlvs *) 0x0

Fixes: ae27101e6f ("isisd: fix building asla at first flex-algo config")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-08-27 16:06:08 +02:00
..
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
AUTHORS Add support of Traffic Engineering to IS-IS 2016-09-03 11:05:50 -04:00
fabricd.c isisd: update struct isis_spftree with algorithm id 2023-04-17 11:06:08 +02:00
fabricd.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_adjacency.c isisd: fix memory handling in isis_adj_process_threeway() 2024-08-09 10:08:21 -04:00
isis_adjacency.h isisd: fix memory handling in isis_adj_process_threeway() 2024-08-09 10:08:21 -04:00
isis_affinitymap.c lib: validate affinity-map reference using yang model 2024-01-19 03:46:56 +02:00
isis_affinitymap.h isisd: add affinity-map configuration hooks 2023-04-18 11:33:15 +02:00
isis_bfd.c *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
isis_bfd.h *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
isis_bpf.c *: zebra.h should not have fcntl.h 2024-01-09 12:50:40 -05:00
isis_circuit.c isisd: Cleanup leaked hash on shut in circuit 2024-08-08 14:24:59 -04:00
isis_circuit.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
isis_cli.c lib: remove leaf-list xpath hack from northbound 2024-01-23 12:33:39 +02:00
isis_common.h isisd: Update to the new printfrr ISO format 2023-03-21 15:21:47 +01:00
isis_constants.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_csm.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
isis_csm.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_dlpi.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_dr.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
isis_dr.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
isis_dynhn.c Merge pull request #12698 from Orange-OpenSource/isisd 2023-04-11 09:49:01 -04:00
isis_dynhn.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_errors.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_errors.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_events.c isisd: After the router switches IS-IS type several times, the neighbor adjacency cannot be established. 2024-06-17 16:45:09 +08:00
isis_events.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
isis_flags.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_flags.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_flex_algo.c Revert "lib: add a frr_each_const macro" 2023-09-07 12:08:50 +02:00
isis_flex_algo.h isisd: calculate flex-algo constraint spf 2023-04-18 11:33:15 +02:00
isis_ldp_sync.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
isis_ldp_sync.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_lfa.c isisd: Cleanup leaked hash on shut in circuit 2024-08-08 14:24:59 -04:00
isis_lfa.h isisd: Cleanup leaked hash on shut in circuit 2024-08-08 14:24:59 -04:00
isis_lsp.c isis, lib: add isis srv6 end sid to ls_prefix 2024-07-11 09:14:34 +02:00
isis_lsp.h isis, lib: add isis srv6 end sid to ls_prefix 2024-07-11 09:14:34 +02:00
isis_main.c isisd: Free up isis master list of instances 2024-08-08 14:24:59 -04:00
isis_misc.c isisd: Even after configuring "no hostname dynamic", the topology still displays the hostname. 2024-06-19 15:44:51 +08:00
isis_misc.h isisd: Update to the new printfrr ISO format 2023-03-21 15:21:47 +01:00
isis_mt.c isisd: Update to the new printfrr ISO format 2023-03-21 15:21:47 +01:00
isis_mt.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_nb_config.c isisd: free asla at last flex-algo unconfiguration 2024-07-26 11:31:51 +02:00
isis_nb_notifications.c isisd: Update to the new printfrr ISO format 2023-03-21 15:21:47 +01:00
isis_nb_state.c isisd: Update to the new printfrr ISO format 2023-03-21 15:21:47 +01:00
isis_nb.c isisd: remove redundant northbound destroy callbacks 2023-10-06 17:37:41 +03:00
isis_nb.h isisd: remove redundant northbound destroy callbacks 2023-10-06 17:37:41 +03:00
isis_network.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_pdu_counter.c isisd: Add log-pdu-drops log functionality 2023-04-04 09:23:21 -07:00
isis_pdu_counter.h isisd: Add log-pdu-drops log functionality 2023-04-04 09:23:21 -07:00
isis_pdu.c isisd: fix memory handling in isis_adj_process_threeway() 2024-08-09 10:08:21 -04:00
isis_pdu.h isisd: Add log-pdu-drops log functionality 2023-04-04 09:23:21 -07:00
isis_pfpacket.c isisd: pfpacket BPF filter with IS-IS over tunnel support 2023-03-12 16:15:27 +01:00
isis_redist.c isisd: add the 'redistribute table' internal support 2023-07-12 14:06:00 +02:00
isis_redist.h isisd: add the 'redistribute table' internal support 2023-07-12 14:06:00 +02:00
isis_route.c isisd: remove unused router_address fields 2023-11-16 17:09:38 +01:00
isis_route.h isisd: merge algorithm tables 2023-04-18 11:33:15 +02:00
isis_routemap.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
isis_routemap.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_snmp.c isisd, lib: Cleanup linked list associated with snmp 2024-08-08 14:24:59 -04:00
isis_spf_private.h isisd: calculate flex-algo constraint spf 2023-04-18 11:33:15 +02:00
isis_spf.c isisd: fix crash when calculating the neighbor spanning tree based on the fragmented LSP 2024-07-11 11:35:34 +08:00
isis_spf.h isisd: add json support to display spf paths in 'show isis route' 2024-06-21 15:40:23 +02:00
isis_sr.c isisd: fix show isis segment-routing node algorithm 2024-05-22 13:42:19 +02:00
isis_sr.h isisd: fix mispelling with ISIS_SR_LAN_BACKUP 2024-04-04 15:10:47 +02:00
isis_srv6.c isisd: Cleanup related to SRv6 2024-06-18 18:33:29 +02:00
isis_srv6.h isisd: Request SRv6 SIDs to SID Manager 2024-06-18 18:33:29 +02:00
isis_te.c isisd: fix crash at flex-algo without mpls-te 2024-08-27 16:06:08 +02:00
isis_te.h Merge pull request #15797 from pguibert6WIND/isis_srv6_ls_subnet 2024-07-26 14:45:01 -04:00
isis_tlvs.c isisd: fix srv6 endx sid key name 2024-06-24 13:48:11 +02:00
isis_tlvs.h isisd: Add support for SRv6 Adjacency SIDs 2023-09-11 22:11:47 +02:00
isis_tx_queue.c Merge pull request #12698 from Orange-OpenSource/isisd 2023-04-11 09:49:01 -04:00
isis_tx_queue.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_vty_fabricd.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
isis_zebra.c isisd: Free up memory associated with rm/vrf's 2024-08-08 14:24:59 -04:00
isis_zebra.h isisd: Add API to get/release SRv6 SIDs 2024-06-18 18:33:29 +02:00
isisd.c isisd: Free up isis master list of instances 2024-08-08 14:24:59 -04:00
isisd.h isisd: Free up isis master list of instances 2024-08-08 14:24:59 -04:00
iso_checksum.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
iso_checksum.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
Makefile build: non-recursive isisd 2017-08-04 11:09:50 +02:00
README More cleanup in isisd. 2005-01-01 21:12:56 +00:00
subdir.am isisd: staticd: need to link directly against libyang 2023-10-26 22:53:44 -04:00

Constraints

  o Maximum number of interfaces 255