aboutsummaryrefslogtreecommitdiffstats
path: root/src/gbproxy/gb_proxy_vty.c
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2020-12-28 18:07:27 +0100
committerDaniel Willmann <dwillmann@sysmocom.de>2020-12-28 19:27:08 +0100
commit182412d37146c6b0bf7f111d3b35397820996528 (patch)
treed4284aa4e4b7f1cb83913908c6e92edfe8722d7b /src/gbproxy/gb_proxy_vty.c
parentb0ff672359217f3658c8d1d68162aa2b88fd81c3 (diff)
gbproxy: Add SGSN name
This is useful for logging and configuration to identify an SGSN by name Change-Id: I2a3410dd9bebb242957e13a63ed70e447204203c Related: SYS#5115, OS#4472
Diffstat (limited to 'src/gbproxy/gb_proxy_vty.c')
-rw-r--r--src/gbproxy/gb_proxy_vty.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/gbproxy/gb_proxy_vty.c b/src/gbproxy/gb_proxy_vty.c
index dd0c1588c..adcdf7069 100644
--- a/src/gbproxy/gb_proxy_vty.c
+++ b/src/gbproxy/gb_proxy_vty.c
@@ -188,6 +188,7 @@ static void sgsn_write_nri(struct vty *vty, struct gbproxy_sgsn *sgsn, bool verb
static void write_sgsn(struct vty *vty, struct gbproxy_sgsn *sgsn)
{
vty_out(vty, "sgsn nsei %u%s", sgsn->nse->nsei, VTY_NEWLINE);
+ vty_out(vty, " name %s%s", sgsn->name, VTY_NEWLINE);
vty_out(vty, " %sallow-attach%s", sgsn->pool.allow_attach ? "" : "no ", VTY_NEWLINE);
sgsn_write_nri(vty, sgsn, false);
}
@@ -256,6 +257,28 @@ free_nothing:
return CMD_WARNING;
}
+DEFUN(cfg_sgsn_name,
+ cfg_sgsn_name_cmd,
+ "name NAME",
+ "Configure the SGSN\n"
+ "Name the SGSN\n"
+ "The name\n")
+{
+ struct gbproxy_sgsn *sgsn = vty->index;
+ const char *name = argv[0];
+
+ if (sgsn->name)
+ talloc_free((void *)sgsn->name);
+
+ sgsn->name = talloc_strdup(sgsn, name);
+ if (!sgsn->name) {
+ vty_out(vty, "%% Unable to set name for SGSN with nsei %05u%s", sgsn->nse->nsei, VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+
+ return CMD_SUCCESS;
+}
+
DEFUN_ATTR(cfg_sgsn_nri_add, cfg_sgsn_nri_add_cmd,
"nri add <0-32767> [<0-32767>]",
NRI_STR "Add NRI value or range to the NRI mapping for this MSC\n"
@@ -647,6 +670,7 @@ int gbproxy_vty_init(void)
install_element(CONFIG_NODE, &cfg_sgsn_nsei_cmd);
install_node(&sgsn_node, config_write_sgsn);
+ install_element(SGSN_NODE, &cfg_sgsn_name_cmd);
install_element(SGSN_NODE, &cfg_sgsn_allow_attach_cmd);
install_element(SGSN_NODE, &cfg_sgsn_no_allow_attach_cmd);
install_element(SGSN_NODE, &cfg_sgsn_nri_add_cmd);