aboutsummaryrefslogtreecommitdiffstats
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
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
-rw-r--r--configure.ac1
-rw-r--r--include/osmocom/Makefile.am2
-rw-r--r--include/osmocom/iuh/Makefile.am2
-rw-r--r--include/osmocom/iuh/vty.h9
-rw-r--r--src/hnbgw_vty.c49
5 files changed, 62 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index fc8c737..38e3b4c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,4 +41,5 @@ AC_OUTPUT(
include/osmocom/hnbap/Makefile
include/osmocom/ranap/Makefile
include/osmocom/rua/Makefile
+ include/osmocom/iuh/Makefile
)
diff --git a/include/osmocom/Makefile.am b/include/osmocom/Makefile.am
index f89b5dc..246cb34 100644
--- a/include/osmocom/Makefile.am
+++ b/include/osmocom/Makefile.am
@@ -1,2 +1,2 @@
-SUBDIRS = hnbap ranap rua
+SUBDIRS = hnbap ranap rua iuh
diff --git a/include/osmocom/iuh/Makefile.am b/include/osmocom/iuh/Makefile.am
new file mode 100644
index 0000000..e2f7126
--- /dev/null
+++ b/include/osmocom/iuh/Makefile.am
@@ -0,0 +1,2 @@
+noinst_HEADERS = \
+ vty.h
diff --git a/include/osmocom/iuh/vty.h b/include/osmocom/iuh/vty.h
new file mode 100644
index 0000000..905a949
--- /dev/null
+++ b/include/osmocom/iuh/vty.h
@@ -0,0 +1,9 @@
+#pragma once
+
+#include <osmocom/vty/vty.h>
+
+enum osmo_iuh_vty_node {
+ HNBGW_NODE = _LAST_OSMOVTY_NODE + 1,
+ IUH_NODE,
+};
+
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);