From aa89f5dffced73ee9e7267739193771e6d143b89 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Wed, 28 Aug 2019 16:08:45 +0200 Subject: gtp: make echo_interval unsigned There's no real need to use -1 to indicate echo timer as disabled, since 0 can also be used (it doesn't make sense to have a timer timeout of 0). This way code is simplified. Change-Id: I689034887188a53590eddeffda781629694eb5ed --- include/osmocom/sgsn/gprs_sgsn.h | 2 +- src/gprs/gprs_sgsn.c | 3 +-- src/gprs/sgsn_vty.c | 6 +++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/include/osmocom/sgsn/gprs_sgsn.h b/include/osmocom/sgsn/gprs_sgsn.h index 336155c9b..48c063d07 100644 --- a/include/osmocom/sgsn/gprs_sgsn.h +++ b/include/osmocom/sgsn/gprs_sgsn.h @@ -392,7 +392,7 @@ struct sgsn_ggsn_ctx { struct gsn_t *gsn; struct llist_head pdp_list; /* list of associated pdp ctx (struct sgsn_pdp_ctx*) */ struct osmo_timer_list echo_timer; - int echo_interval; + unsigned int echo_interval; }; struct sgsn_ggsn_ctx *sgsn_ggsn_ctx_alloc(uint32_t id); void sgsn_ggsn_ctx_free(struct sgsn_ggsn_ctx *ggc); diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c index 9f02d5420..7174bd5e2 100644 --- a/src/gprs/gprs_sgsn.c +++ b/src/gprs/gprs_sgsn.c @@ -500,7 +500,7 @@ void sgsn_ggsn_ctx_check_echo_timer(struct sgsn_ggsn_ctx *ggc) bool pending = osmo_timer_pending(&ggc->echo_timer); /* Only enable if allowed by policy and at least 1 pdp ctx exists against ggsn */ - if (!llist_empty(&ggc->pdp_list) && ggc->echo_interval > 0) { + if (!llist_empty(&ggc->pdp_list) && ggc->echo_interval) { if (!pending) osmo_timer_schedule(&ggc->echo_timer, ggc->echo_interval, 0); } else { @@ -528,7 +528,6 @@ struct sgsn_ggsn_ctx *sgsn_ggsn_ctx_alloc(uint32_t id) ggc->id = id; ggc->gtp_version = 1; ggc->remote_restart_ctr = -1; - ggc->echo_interval = -1; /* if we are called from config file parse, this gsn doesn't exist yet */ ggc->gsn = sgsn->gsn; INIT_LLIST_HEAD(&ggc->pdp_list); diff --git a/src/gprs/sgsn_vty.c b/src/gprs/sgsn_vty.c index 68d3a77f7..42b5121ca 100644 --- a/src/gprs/sgsn_vty.c +++ b/src/gprs/sgsn_vty.c @@ -190,8 +190,8 @@ static int config_write_sgsn(struct vty *vty) inet_ntoa(gctx->remote_addr), VTY_NEWLINE); vty_out(vty, " ggsn %u gtp-version %u%s", gctx->id, gctx->gtp_version, VTY_NEWLINE); - if (gctx->echo_interval != -1) - vty_out(vty, " ggsn %u echo-interval %"PRId32"%s", + if (gctx->echo_interval) + vty_out(vty, " ggsn %u echo-interval %u%s", gctx->id, gctx->echo_interval, VTY_NEWLINE); else vty_out(vty, " ggsn %u no echo-interval%s", @@ -395,7 +395,7 @@ DEFUN(cfg_ggsn_no_echo_interval, cfg_ggsn_no_echo_interval_cmd, uint32_t id = atoi(argv[0]); struct sgsn_ggsn_ctx *ggc = sgsn_ggsn_ctx_find_alloc(id); - ggc->echo_interval = -1; + ggc->echo_interval = 0; sgsn_ggsn_ctx_check_echo_timer(ggc); return CMD_SUCCESS; -- cgit v1.2.3