diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2022-11-02 20:23:09 +0100 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2022-11-04 14:27:30 +0100 |
commit | 85011260313be22cafb69384f7e6e01586e5a223 (patch) | |
tree | 3bfcf64f28885cfc53fd4150994a1440f59cea5c /src | |
parent | b43496a60de9b708712503ec8770ebd3fdb8417d (diff) |
vty: Make new libgtp tdefs configurable through VTY
Related: OS#5485
Depends: osmo-ggsn.git Change-Id I10bc8e2e197c0e8753b23b684b5ae41025672bf7
Change-Id: I46e9cd158a9f2f721c69f807beb7bb67a459f4a4
Diffstat (limited to 'src')
-rw-r--r-- | src/sgsn/sgsn_vty.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index a394c419c..0929f1fa4 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -136,6 +136,26 @@ DEFUN(cfg_sgsn_timer, cfg_sgsn_timer_cmd, return osmo_tdef_vty_set_cmd(vty, g_cfg->T_defs, argv); } +DEFUN(show_timer_gtp, show_timer_gtp_cmd, + "show timer gtp " OSMO_TDEF_VTY_ARG_T_OPTIONAL, + SHOW_STR "Show timers\n" "GTP (libgtp) timers\n" + OSMO_TDEF_VTY_DOC_T) +{ + const char *T_arg = argc > 0 ? argv[0] : NULL; + return osmo_tdef_vty_show_cmd(vty, g_cfg->T_defs_gtp, T_arg, NULL); +} + +DEFUN(cfg_sgsn_timer_gtp, cfg_sgsn_timer_gtp_cmd, + "timer gtp " OSMO_TDEF_VTY_ARG_SET_OPTIONAL, + "Configure or show timers\n" "GTP (libgtp) timers\n" + OSMO_TDEF_VTY_DOC_SET) +{ + /* If any arguments are missing, redirect to 'show' */ + if (argc < 2) + return show_timer(self, vty, argc, argv); + return osmo_tdef_vty_set_cmd(vty, g_cfg->T_defs_gtp, argv); +} + char *gprs_pdpaddr2str(uint8_t *pdpa, uint8_t len, bool return_ipv6) { static char str[INET6_ADDRSTRLEN + 10]; @@ -312,6 +332,7 @@ static int config_write_sgsn(struct vty *vty) vty_out(vty, " cdr interval %d%s", g_cfg->cdr.interval, VTY_NEWLINE); osmo_tdef_vty_write(vty, g_cfg->T_defs, " timer "); + osmo_tdef_vty_write(vty, g_cfg->T_defs_gtp, " timer gtp "); if (g_cfg->pcomp_rfc1144.active) { vty_out(vty, " compression rfc1144 active slots %d%s", @@ -1719,6 +1740,9 @@ int sgsn_vty_init(struct sgsn_config *cfg) g_cfg->T_defs = sgsn_T_defs; osmo_tdefs_reset(g_cfg->T_defs); + g_cfg->T_defs_gtp = gtp_T_defs; + osmo_tdefs_reset(g_cfg->T_defs_gtp); + install_element_ve(&show_sgsn_cmd); //install_element_ve(&show_mmctx_tlli_cmd); install_element_ve(&show_mmctx_imsi_cmd); @@ -1726,6 +1750,7 @@ int sgsn_vty_init(struct sgsn_config *cfg) install_element_ve(&show_pdpctx_all_cmd); install_element_ve(&show_subscr_cache_cmd); install_element_ve(&show_timer_cmd); + install_element_ve(&show_timer_gtp_cmd); install_element(ENABLE_NODE, &update_subscr_insert_auth_triplet_cmd); install_element(ENABLE_NODE, &update_subscr_create_cmd); @@ -1773,6 +1798,7 @@ int sgsn_vty_init(struct sgsn_config *cfg) install_element(SGSN_NODE, &cfg_grx_ggsn_cmd); install_element(SGSN_NODE, &cfg_sgsn_timer_cmd); + install_element(SGSN_NODE, &cfg_sgsn_timer_gtp_cmd); install_element(SGSN_NODE, &cfg_no_comp_rfc1144_cmd); install_element(SGSN_NODE, &cfg_comp_rfc1144_cmd); |