VTY: improve VTY prompt and make sure exit/end works everywhere
Some nodes below 'config' didn't have ournode_exit / ournode_end,
and thus were not able to properly perform this function. exit should
always only go back one level, while end drops us back to ENABLE_NODE.
The prompt now represents the nesting level, and there's one consistent
space after the final prompt character (typically #).
diff --git a/openbsc/src/gprs/gb_proxy_vty.c b/openbsc/src/gprs/gb_proxy_vty.c
index 574f45f..bfa1f3b 100644
--- a/openbsc/src/gprs/gb_proxy_vty.c
+++ b/openbsc/src/gprs/gb_proxy_vty.c
@@ -40,7 +40,7 @@
*/
static struct cmd_node gbproxy_node = {
GBPROXY_NODE,
- "%s(gbproxy)#",
+ "%s(config-gbproxy)# ",
1,
};
diff --git a/openbsc/src/gprs/sgsn_vty.c b/openbsc/src/gprs/sgsn_vty.c
index f4a8083..1fc0b41 100644
--- a/openbsc/src/gprs/sgsn_vty.c
+++ b/openbsc/src/gprs/sgsn_vty.c
@@ -106,7 +106,7 @@
static struct cmd_node sgsn_node = {
SGSN_NODE,
- "%s(sgsn)#",
+ "%s(config-sgsn)# ",
1,
};
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index d7cdee6..b91304d 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -97,25 +97,25 @@
struct cmd_node net_node = {
GSMNET_NODE,
- "%s(network)#",
+ "%s(config-net)# ",
1,
};
struct cmd_node bts_node = {
BTS_NODE,
- "%s(bts)#",
+ "%s(config-net-bts)# ",
1,
};
struct cmd_node trx_node = {
TRX_NODE,
- "%s(trx)#",
+ "%s(config-net-bts-trx)# ",
1,
};
struct cmd_node ts_node = {
TS_NODE,
- "%s(ts)#",
+ "%s(config-net-bts-trx-ts)# ",
1,
};
diff --git a/openbsc/src/libmgcp/mgcp_vty.c b/openbsc/src/libmgcp/mgcp_vty.c
index 016ad14..314faa8 100644
--- a/openbsc/src/libmgcp/mgcp_vty.c
+++ b/openbsc/src/libmgcp/mgcp_vty.c
@@ -51,13 +51,13 @@
*/
struct cmd_node mgcp_node = {
MGCP_NODE,
- "%s(mgcp)#",
+ "%s(config-mgcp)# ",
1,
};
struct cmd_node trunk_node = {
TRUNK_NODE,
- "%s(trunk)#",
+ "%s(config-mgcp-trunk)# ",
1,
};
diff --git a/openbsc/src/libmsc/vty_interface_layer3.c b/openbsc/src/libmsc/vty_interface_layer3.c
index 47a141d..7202756 100644
--- a/openbsc/src/libmsc/vty_interface_layer3.c
+++ b/openbsc/src/libmsc/vty_interface_layer3.c
@@ -777,7 +777,7 @@
static struct cmd_node mncc_int_node = {
MNCC_INT_NODE,
- "%s(mncc-int)#",
+ "%s(config-mncc-int)# ",
1,
};
@@ -864,6 +864,8 @@
install_element(CONFIG_NODE, &cfg_mncc_int_cmd);
install_node(&mncc_int_node, config_write_mncc_int);
install_default(MNCC_INT_NODE);
+ install_element(MNCC_INT_NODE, &ournode_exit_cmd);
+ install_element(MNCC_INT_NODE, &ournode_end_cmd);
install_element(MNCC_INT_NODE, &mnccint_def_codec_f_cmd);
install_element(MNCC_INT_NODE, &mnccint_def_codec_h_cmd);
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_vty.c b/openbsc/src/osmo-bsc/osmo_bsc_vty.c
index 276a490..26f9229 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_vty.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_vty.c
@@ -41,7 +41,7 @@
static struct cmd_node msc_node = {
MSC_NODE,
- "%s(msc)#",
+ "%s(config-msc)# ",
1,
};
diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c b/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
index 1646b59..220e960 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
@@ -47,19 +47,19 @@
static struct cmd_node nat_node = {
NAT_NODE,
- "%s(nat)#",
+ "%s(config-nat)# ",
1,
};
static struct cmd_node bsc_node = {
NAT_BSC_NODE,
- "%s(bsc)#",
+ "%s(config-nat-bsc)# ",
1,
};
static struct cmd_node pgroup_node = {
PGROUP_NODE,
- "%s(paging-group)#",
+ "%s(config-nat-paging-group)# ",
1,
};
@@ -1042,6 +1042,8 @@
install_element(NAT_NODE, &cfg_nat_no_pgroup_cmd);
install_node(&pgroup_node, config_write_pgroup);
install_default(PGROUP_NODE);
+ install_element(PGROUP_NODE, &ournode_exit_cmd);
+ install_element(PGROUP_NODE, &ournode_end_cmd);
install_element(PGROUP_NODE, &cfg_pgroup_lac_cmd);
install_element(PGROUP_NODE, &cfg_pgroup_no_lac_cmd);