mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 16:20:08 +00:00
![]() The following causes a isisd crash.
> # cat config
> affinity-map green bit-position 0
> router isis 1
> flex-algo 129
> affinity exclude-any green
> # vtysh -f config
> #0 raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:50
> #1 0x00007f650cd32756 in core_handler (signo=6, siginfo=0x7ffc56f93070, context=0x7ffc56f92f40) at lib/sigevent.c:258
> #2 <signal handler called>
> #3 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
> #4 0x00007f650c91c537 in __GI_abort () at abort.c:79
> #5 0x00007f650cd007c9 in nb_running_get_entry_worker (dnode=0x0, xpath=0x0, abort_if_not_found=true, rec_search=true) at lib/northbound.c:2531
> #6 0x00007f650cd007f9 in nb_running_get_entry (dnode=0x55d9ad406e00, xpath=0x0, abort_if_not_found=true) at lib/northbound.c:2537
> #7 0x000055d9ab302248 in isis_instance_flex_algo_affinity_set (args=0x7ffc56f947a0, type=2) at isisd/isis_nb_config.c:2998
> #8 0x000055d9ab3027c0 in isis_instance_flex_algo_affinity_exclude_any_create (args=0x7ffc56f947a0) at isisd/isis_nb_config.c:3155
> #9 0x00007f650ccfe284 in nb_callback_create (context=0x7ffc56f94d20, nb_node=0x55d9ad28b540, event=NB_EV_VALIDATE, dnode=0x55d9ad406e00, resource=0x0, errmsg=0x7ffc56f94de0 "",
> errmsg_len=8192) at lib/northbound.c:1487
> #10 0x00007f650ccff067 in nb_callback_configuration (context=0x7ffc56f94d20, event=NB_EV_VALIDATE, change=0x55d9ad406d40, errmsg=0x7ffc56f94de0 "", errmsg_len=8192) at lib/northbound.c:1884
> #11 0x00007f650ccfda31 in nb_candidate_validate_code (context=0x7ffc56f94d20, candidate=0x55d9ad20d710, changes=0x7ffc56f94d38, errmsg=0x7ffc56f94de0 "", errmsg_len=8192)
> at lib/northbound.c:1246
> #12 0x00007f650ccfdc67 in nb_candidate_commit_prepare (context=..., candidate=0x55d9ad20d710, comment=0x0, transaction=0x7ffc56f94da0, skip_validate=false, ignore_zero_change=false,
> errmsg=0x7ffc56f94de0 "", errmsg_len=8192) at lib/northbound.c:1317
> #13 0x00007f650ccfdec4 in nb_candidate_commit (context=..., candidate=0x55d9ad20d710, save_transaction=true, comment=0x0, transaction_id=0x0, errmsg=0x7ffc56f94de0 "", errmsg_len=8192)
> at lib/northbound.c:1381
> #14 0x00007f650cd045ba in nb_cli_classic_commit (vty=0x55d9ad3f7490) at lib/northbound_cli.c:57
> #15 0x00007f650cd04749 in nb_cli_pending_commit_check (vty=0x55d9ad3f7490) at lib/northbound_cli.c:96
> #16 0x00007f650cc94340 in cmd_execute_command_real (vline=0x55d9ad3eea10, vty=0x55d9ad3f7490, cmd=0x0, up_level=0) at lib/command.c:1000
> #17 0x00007f650cc94599 in cmd_execute_command (vline=0x55d9ad3eea10, vty=0x55d9ad3f7490, cmd=0x0, vtysh=0) at lib/command.c:1080
> #18 0x00007f650cc94a0c in cmd_execute (vty=0x55d9ad3f7490, cmd=0x55d9ad401d30 "XFRR_end_configuration", matched=0x0, vtysh=0) at lib/command.c:1228
> #19 0x00007f650cd523a4 in vty_command (vty=0x55d9ad3f7490, buf=0x55d9ad401d30 "XFRR_end_configuration") at lib/vty.c:625
> #20 0x00007f650cd5413d in vty_execute (vty=0x55d9ad3f7490) at lib/vty.c:1388
> #21 0x00007f650cd56353 in vtysh_read (thread=0x7ffc56f99370) at lib/vty.c:2400
> #22 0x00007f650cd4b6fd in event_call (thread=0x7ffc56f99370) at lib/event.c:1996
> #23 0x00007f650ccd1365 in frr_run (master=0x55d9ad103cf0) at lib/libfrr.c:1231
> #24 0x000055d9ab29036e in main (argc=2, argv=0x7ffc56f99598, envp=0x7ffc56f995b0) at isisd/isis_main.c:354
Configuring the same in vtysh configure interactive mode works properly.
When using "vtysh -f", the northbound compatible configuration is
committed together whereas, in interactive mode, it committed line by
line. In the first situation, in validation state nb_running_get_entry()
fails because the area not yet in running.
Do not use nb_running_get_entry() northbound validation state.
Fixes:
|
||
---|---|---|
.. | ||
.gitignore | ||
AUTHORS | ||
fabricd.c | ||
fabricd.h | ||
isis_adjacency.c | ||
isis_adjacency.h | ||
isis_affinitymap.c | ||
isis_affinitymap.h | ||
isis_bfd.c | ||
isis_bfd.h | ||
isis_bpf.c | ||
isis_circuit.c | ||
isis_circuit.h | ||
isis_cli.c | ||
isis_common.h | ||
isis_constants.h | ||
isis_csm.c | ||
isis_csm.h | ||
isis_dlpi.c | ||
isis_dr.c | ||
isis_dr.h | ||
isis_dynhn.c | ||
isis_dynhn.h | ||
isis_errors.c | ||
isis_errors.h | ||
isis_events.c | ||
isis_events.h | ||
isis_flags.c | ||
isis_flags.h | ||
isis_flex_algo.c | ||
isis_flex_algo.h | ||
isis_ldp_sync.c | ||
isis_ldp_sync.h | ||
isis_lfa.c | ||
isis_lfa.h | ||
isis_lsp.c | ||
isis_lsp.h | ||
isis_main.c | ||
isis_misc.c | ||
isis_misc.h | ||
isis_mt.c | ||
isis_mt.h | ||
isis_nb_config.c | ||
isis_nb_notifications.c | ||
isis_nb_state.c | ||
isis_nb.c | ||
isis_nb.h | ||
isis_network.h | ||
isis_pdu_counter.c | ||
isis_pdu_counter.h | ||
isis_pdu.c | ||
isis_pdu.h | ||
isis_pfpacket.c | ||
isis_redist.c | ||
isis_redist.h | ||
isis_route.c | ||
isis_route.h | ||
isis_routemap.c | ||
isis_routemap.h | ||
isis_snmp.c | ||
isis_spf_private.h | ||
isis_spf.c | ||
isis_spf.h | ||
isis_sr.c | ||
isis_sr.h | ||
isis_srv6.c | ||
isis_srv6.h | ||
isis_te.c | ||
isis_te.h | ||
isis_tlvs.c | ||
isis_tlvs.h | ||
isis_tx_queue.c | ||
isis_tx_queue.h | ||
isis_vty_fabricd.c | ||
isis_zebra.c | ||
isis_zebra.h | ||
isisd.c | ||
isisd.h | ||
iso_checksum.c | ||
iso_checksum.h | ||
Makefile | ||
README | ||
subdir.am |
Constraints o Maximum number of interfaces 255