aboutsummaryrefslogtreecommitdiffstats
path: root/src/hnbgw_vty.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-08-18 02:15:56 +0200
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-08-18 03:21:22 +0200
commit926153b9af0659e8c214f40424e29cda0c821607 (patch)
tree39b9308232d96b3de9b32c8fb1f80914a4ed9d64 /src/hnbgw_vty.c
parent4d8eb4cbd7e7ecc1ad04e3b38ab5121dca2580b1 (diff)
hnbgw vty: add empty hnbgw and hnbgw/iuh vty nodes
Add include/osmocom/iuh/ named after this project (osmo-iuh), and add vty.h to define VTY node enum values. Also add (to) Makefile.am and configure.ac to include in the build. An upcoming commit will add the actual first config item to the hnbgw/iuh node. Change-Id: I71545823d3bd81cb888c85df8e298a56c98bf131
Diffstat (limited to 'src/hnbgw_vty.c')
-rw-r--r--src/hnbgw_vty.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/hnbgw_vty.c b/src/hnbgw_vty.c
index f29b849..0845ff7 100644
--- a/src/hnbgw_vty.c
+++ b/src/hnbgw_vty.c
@@ -20,12 +20,40 @@
#include <osmocom/vty/command.h>
+#include <osmocom/iuh/vty.h>
+
#include "hnbgw.h"
#include "context_map.h"
static void *tall_hnb_ctx = NULL;
static struct hnb_gw *g_hnb_gw = NULL;
+static struct cmd_node hnbgw_node = {
+ HNBGW_NODE,
+ "%s(config-hnbgw)# ",
+ 1,
+};
+
+DEFUN(cfg_hnbgw, cfg_hnbgw_cmd,
+ "hnbgw", "Configure HNBGW options")
+{
+ vty->node = HNBGW_NODE;
+ return CMD_SUCCESS;
+}
+
+static struct cmd_node iuh_node = {
+ IUH_NODE,
+ "%s(config-hnbgw-iuh)# ",
+ 1,
+};
+
+DEFUN(cfg_hnbgw_iuh, cfg_hnbgw_iuh_cmd,
+ "iuh", "Configure Iuh options")
+{
+ vty->node = IUH_NODE;
+ return CMD_SUCCESS;
+}
+
static void vty_dump_hnb_info(struct vty *vty, struct hnb_context *hnb)
{
struct hnbgw_context_map *map;
@@ -77,10 +105,31 @@ DEFUN(show_talloc, show_talloc_cmd, "show talloc", SHOW_STR "Display talloc info
return CMD_SUCCESS;
}
+static int config_write_hnbgw(struct vty *vty)
+{
+ vty_out(vty, "hnbgw%s", VTY_NEWLINE);
+ return CMD_SUCCESS;
+}
+
+static int config_write_hnbgw_iuh(struct vty *vty)
+{
+ vty_out(vty, " iuh%s", VTY_NEWLINE);
+ return CMD_SUCCESS;
+}
+
void hnbgw_vty_init(struct hnb_gw *gw, void *tall_ctx)
{
g_hnb_gw = gw;
tall_hnb_ctx = tall_ctx;
+
+ install_element(CONFIG_NODE, &cfg_hnbgw_cmd);
+ install_node(&hnbgw_node, config_write_hnbgw);
+ vty_install_default(HNBGW_NODE);
+
+ install_element(HNBGW_NODE, &cfg_hnbgw_iuh_cmd);
+ install_node(&iuh_node, config_write_hnbgw_iuh);
+ vty_install_default(IUH_NODE);
+
install_element_ve(&show_hnb_cmd);
install_element_ve(&show_ue_cmd);
install_element_ve(&show_talloc_cmd);