Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ripd to mgmtd #15220

Merged
merged 11 commits into from
Jan 26, 2024
Merged

ripd to mgmtd #15220

merged 11 commits into from
Jan 26, 2024

Conversation

choppsv1
Copy link
Contributor

  • also convert lib/filter and lib/routemap to mgmtd

@ton31337 ton31337 added this to the 10.0 milestone Jan 25, 2024
@donaldsharp
Copy link
Member

44	./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=134537108238272) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=134537108238272) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=134537108238272, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007a5c5c242476 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26
#4  0x00007a5c5c73c35b in core_handler (signo=6, siginfo=0x7ffe2c7d7e30, context=0x7ffe2c7d7d00) at lib/sigevent.c:248
#5  <signal handler called>
#6  __pthread_kill_implementation (no_tid=0, signo=6, threadid=134537108238272) at ./nptl/pthread_kill.c:44
#7  __pthread_kill_internal (signo=6, threadid=134537108238272) at ./nptl/pthread_kill.c:78
#8  __GI___pthread_kill (threadid=134537108238272, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#9  0x00007a5c5c242476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#10 0x00007a5c5c2287f3 in __GI_abort () at ./stdlib/abort.c:79
#11 0x00007a5c5c7823cb in _zlog_assert_failed (xref=0x7a5c5c84a820 <_xref.222>, extra=0x0) at lib/zlog.c:692
#12 0x00007a5c5c75d518 in vty_mgmt_lock_candidate_inline (vty=0x575f4727b2c0) at lib/vty.c:139
#13 0x00007a5c5c767005 in vty_mgmt_send_config_data (vty=0x575f4727b2c0, xpath_base=0x7ffe2c7dd480 ".", implicit_commit=true)
    at lib/vty.c:3960
#14 0x00007a5c5c70ac21 in nb_cli_apply_changes (vty=0x575f4727b2c0, xpath_base_fmt=0x0) at lib/northbound_cli.c:226
#15 0x00007a5c5c6b85ff in plist_remove_if_empty (vty=0x575f4727b2c0, iptype=0x7a5c5c7a0158 "ipv4", name=0x575f47084440 "r1")
    at lib/filter_cli.c:1181
#16 0x00007a5c5c6b8728 in plist_remove (vty=0x575f4727b2c0, iptype=0x7a5c5c7a0158 "ipv4", name=0x575f47084440 "r1", seq=0x575f47264780 "10", 
    action=0x575f47283550 "permit", prefix=..., ge=0, le=0) at lib/filter_cli.c:1204
#17 0x00007a5c5c6b8cc8 in no_ip_prefix_list_magic (self=0x7a5c5c82e2e0 <no_ip_prefix_list_cmd>, vty=0x575f4727b2c0, argc=8, 
    argv=0x575f470a3af0, name=0x575f47084440 "r1", seq=10, seq_str=0x575f47264780 "10", action=0x575f47283550 "permit", 
    prefix=0x7ffe2c7de7a0, prefix_str=0x575f47283be0 "10.10.10.2/32", ge=0, ge_str=0x0, le=0, le_str=0x0) at lib/filter_cli.c:1350
#18 0x00007a5c5c6b3691 in no_ip_prefix_list (self=0x7a5c5c82e2e0 <no_ip_prefix_list_cmd>, vty=0x575f4727b2c0, argc=8, argv=0x575f470a3af0)
    at ./lib/filter_cli_clippy.c:1489
#19 0x00007a5c5c697a6d in cmd_execute_command_real (vline=0x575f47283ec0, vty=0x575f4727b2c0, cmd=0x0, up_level=0) at lib/command.c:982
#20 0x00007a5c5c697be6 in cmd_execute_command (vline=0x575f47283ec0, vty=0x575f4727b2c0, cmd=0x0, vtysh=0) at lib/command.c:1041
#21 0x00007a5c5c698196 in cmd_execute (vty=0x575f4727b2c0, 
    cmd=0x575f47281a50 ' ' <repeats 12 times>, "no ip prefix-list r1 seq 10 permit 10.10.10.2/32", matched=0x0, vtysh=0) at lib/command.c:1207
#22 0x00007a5c5c75e972 in vty_command (vty=0x575f4727b2c0, 
    buf=0x575f47281a50 ' ' <repeats 12 times>, "no ip prefix-list r1 seq 10 permit 10.10.10.2/32") at lib/vty.c:594
#23 0x00007a5c5c760892 in vty_execute (vty=0x575f4727b2c0) at lib/vty.c:1357
#24 0x00007a5c5c76306e in vtysh_read (thread=0x7ffe2c7e0d40) at lib/vty.c:2365
#25 0x00007a5c5c75762e in event_call (thread=0x7ffe2c7e0d40) at lib/event.c:2003
#26 0x00007a5c5c6d8b7e in frr_run (master=0x575f46ed5e50) at lib/libfrr.c:1218
#27 0x0000575f46c4e789 in main (argc=7, argv=0x7ffe2c7e0f78) at mgmtd/mgmt_main.c:273

@choppsv1 choppsv1 force-pushed the chopps/ripd-convert branch from 36b1f50 to 5945977 Compare January 25, 2024 16:30
@frrbot frrbot bot added bugfix mgmt FRR Management Infra labels Jan 25, 2024
@choppsv1 choppsv1 force-pushed the chopps/ripd-convert branch 2 times, most recently from 719dffd to fd7a0a7 Compare January 26, 2024 16:42
@github-actions github-actions bot added size/XXL and removed size/XL labels Jan 26, 2024
choppsv1 and others added 11 commits January 26, 2024 12:34
Signed-off-by: Christian Hopps <[email protected]>
Signed-off-by: Christian Hopps <[email protected]>
CLI for access/prefix list removal was using `nb_cli_apply_changes`
multiple times in the same command. It's fine for regular daemons but
not for mgmtd. Refactor the code to apply changes only once.

Signed-off-by: Igor Ryzhov <[email protected]>
The value should not be cleared after sending it to the first client,
otherwise other clients receive an empty string.

Signed-off-by: Igor Ryzhov <[email protected]>
Signed-off-by: Igor Ryzhov <[email protected]>
If the transaction is not cleaned up immediately, it can be still
referenced by some threds. If it's a commit thread and it's executed
before the actual cleanup, mgmtd crashes because of the missing
commit_cfg_req.

Signed-off-by: Igor Ryzhov <[email protected]>
Signed-off-by: Igor Ryzhov <[email protected]>
There are places, where we can receive an existing commit transaction.
If we don't check that the request already exists, it gets overwritten
and we start having problems with transaction refcounters. Forbid having
multiple configuration sessions simultaneously.

Signed-off-by: Igor Ryzhov <[email protected]>
Signed-off-by: Christian Hopps <[email protected]>
@choppsv1 choppsv1 force-pushed the chopps/ripd-convert branch from fd7a0a7 to 83abe9c Compare January 26, 2024 17:34
@idryzhov idryzhov merged commit 1254d5f into FRRouting:master Jan 26, 2024
9 checks passed
@choppsv1 choppsv1 deleted the chopps/ripd-convert branch January 26, 2024 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants