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
This commit is contained in:
Neels Hofmeyr 2016-08-18 02:15:56 +02:00
parent 4d8eb4cbd7
commit 926153b9af
5 changed files with 62 additions and 1 deletions

View File

@ -41,4 +41,5 @@ AC_OUTPUT(
include/osmocom/hnbap/Makefile
include/osmocom/ranap/Makefile
include/osmocom/rua/Makefile
include/osmocom/iuh/Makefile
)

View File

@ -1,2 +1,2 @@
SUBDIRS = hnbap ranap rua
SUBDIRS = hnbap ranap rua iuh

View File

@ -0,0 +1,2 @@
noinst_HEADERS = \
vty.h

View File

@ -0,0 +1,9 @@
#pragma once
#include <osmocom/vty/vty.h>
enum osmo_iuh_vty_node {
HNBGW_NODE = _LAST_OSMOVTY_NODE + 1,
IUH_NODE,
};

View File

@ -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);