diff options
author | Christian Hopps <chopps@labn.net> | 2023-06-04 21:43:22 +0200 |
---|---|---|
committer | Christian Hopps <chopps@labn.net> | 2023-06-04 22:41:24 +0200 |
commit | 7aecb8639cc2d5a0a9c11b211a4c637bf1335610 (patch) | |
tree | c635e3aa7ab4d648aaf505e8cc3c6067ec737bc4 /staticd | |
parent | Merge pull request #13659 from donaldsharp/increase_mgmt_time (diff) | |
download | frr-7aecb8639cc2d5a0a9c11b211a4c637bf1335610.tar.xz frr-7aecb8639cc2d5a0a9c11b211a4c637bf1335610.zip |
lib: mgmtd: remove abstraction layer and other cleanup
Code is no longer using a global FE "client context", and instead
creates client objects, rename the structure and it's uses to reflect this.
Remove an obfuscating abstraction layer whose existence was entirely
based on using a uintptr_t rather than a pointer to an declared-only struct.
Change multi-duty "params" structure into a single duty callbacks one.
Remove unsupported API code.
Signed-off-by: Christian Hopps <chopps@labn.net>
Diffstat (limited to 'staticd')
-rw-r--r-- | staticd/static_main.c | 56 |
1 files changed, 3 insertions, 53 deletions
diff --git a/staticd/static_main.c b/staticd/static_main.c index 464c42eca..f6b784760 100644 --- a/staticd/static_main.c +++ b/staticd/static_main.c @@ -53,7 +53,7 @@ struct option longopts[] = { { 0 } }; /* Master of threads. */ struct event_loop *master; -uintptr_t mgmt_lib_hndl; +struct mgmt_be_client *mgmt_be_client; static struct frr_daemon_info staticd_di; /* SIGHUP handler. */ @@ -71,7 +71,7 @@ static void sigint(void) /* Disable BFD events to avoid wasting processing. */ bfd_protocol_integration_set_shutdown(true); - mgmt_be_client_lib_destroy(); + mgmt_be_client_destroy(mgmt_be_client); static_vrf_terminate(); @@ -106,56 +106,6 @@ struct frr_signal_t static_signals[] = { }, }; -#if 0 -static void static_mgmt_be_client_connect(uintptr_t lib_hndl, - uintptr_t usr_data, bool connected) -{ - (void)usr_data; - - assert(lib_hndl == mgmt_lib_hndl); - - zlog_debug("Got %s %s MGMTD Backend Client Server", - connected ? "connected" : "disconnected", - connected ? "to" : "from"); - - /* unless we are subscribing to xpaths we don't need to do this */ - if (connected) - (void)mgmt_be_subscribe_yang_data(mgmt_lib_hndl, NULL, 0); -} - -static void -static_mgmt_txn_notify(uintptr_t lib_hndl, uintptr_t usr_data, - struct mgmt_be_client_txn_ctx *txn_ctx, - bool destroyed) -{ - zlog_debug("Got Txn %s Notify from MGMTD server", - destroyed ? "DESTROY" : "CREATE"); - - if (!destroyed) { - /* - * TODO: Allocate and install a private scratchpad for this - * transaction if required - */ - } else { - /* - * TODO: Uninstall and deallocate the private scratchpad for - * this transaction if installed earlier. - */ - } -} -#endif - -static struct mgmt_be_client_params mgmt_params = { - .name = "staticd", - .conn_retry_intvl_sec = 3, - /* - * instead of a connect routine maybe just put xpaths to subcribe to - * here - */ - .client_connect_notify = NULL, /* static_mgmt_be_client_connect, */ - .txn_notify = NULL, /* static_mgmt_txn_notify */ -}; - static const struct frr_yang_module_info *const staticd_yang_modules[] = { &frr_filter_info, &frr_interface_info, @@ -212,7 +162,7 @@ int main(int argc, char **argv, char **envp) static_vty_init(); /* Initialize MGMT backend functionalities */ - mgmt_lib_hndl = mgmt_be_client_lib_init(&mgmt_params, master); + mgmt_be_client = mgmt_be_client_create("staticd", NULL, 0, master); hook_register(routing_conf_event, routing_control_plane_protocols_name_validate); |