From 0a94e57b72e5d1445b8a92538c8091b474fef445 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 8 Nov 2016 23:50:10 +0100 Subject: client: Allow to stop and remove a connection Change-Id: I2118723345caf6a68f03de74a4182506e7bf105c --- src/osmo_client_vty.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/osmo_client_vty.c') diff --git a/src/osmo_client_vty.c b/src/osmo_client_vty.c index 88b7140..5cf3aa1 100644 --- a/src/osmo_client_vty.c +++ b/src/osmo_client_vty.c @@ -411,6 +411,23 @@ DEFUN(cfg_pcap_store, return CMD_SUCCESS; } +DEFUN(cfg_no_pcap_store, + cfg_no_pcap_store_cmd, + "no pcap-store-connection .NAME", + NO_STR "Configure additional PCAP store server\n" "Name of server\n") +{ + struct osmo_pcap_client_conn *conn; + conn = osmo_client_find_conn(pcap_client, argv[0]); + if (!conn) { + vty_out(vty, "%%Failed to find connection %s%ss", + argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + osmo_client_free(conn); + return CMD_SUCCESS; +} + DEFUN(cfg_client_connect, cfg_client_connect_cmd, "connect", @@ -422,6 +439,17 @@ DEFUN(cfg_client_connect, return CMD_SUCCESS; } +DEFUN(cfg_client_disconnect, + cfg_client_disconnect_cmd, + "disconnect", + "Disconnect to the storage\n") +{ + struct osmo_pcap_client_conn *conn = get_conn(vty); + + osmo_client_disconnect(conn); + return CMD_SUCCESS; +} + int vty_client_init(struct osmo_pcap_client *pcap) { install_element(CONFIG_NODE, &cfg_client_cmd); @@ -460,6 +488,7 @@ int vty_client_init(struct osmo_pcap_client *pcap) /* per server confiug*/ install_element(CLIENT_NODE, &cfg_pcap_store_cmd); + install_element(CLIENT_NODE, &cfg_no_pcap_store_cmd); install_element(CLIENT_SERVER_NODE, &cfg_server_ip_cmd); install_element(CLIENT_SERVER_NODE, &cfg_server_port_cmd); install_element(CLIENT_SERVER_NODE, &cfg_enable_tls_cmd); @@ -478,6 +507,7 @@ int vty_client_init(struct osmo_pcap_client *pcap) install_element(CLIENT_SERVER_NODE, &cfg_no_tls_priority_cmd); install_element(CLIENT_SERVER_NODE, &cfg_tls_log_level_cmd); install_element(CLIENT_SERVER_NODE, &cfg_client_connect_cmd); + install_element(CLIENT_SERVER_NODE, &cfg_client_disconnect_cmd); return 0; } -- cgit v1.2.3