aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2019-09-19 16:17:12 +0200
committerpespin <pespin@sysmocom.de>2019-10-21 08:31:31 +0000
commit284314ab0a3ff64db0ebd42f9f05ae60c60bf6c0 (patch)
tree0523f829704d79f6aa025adb791da5e95d0e9693
parent4d1d2e78b1f598101dadc8a6212b2c2e43044f5c (diff)
sgsn_libgtp.c: Drop use of deprecated libgtp APIs gtp_retrans*()HEADmaster
Since osmo-ggsn.git c94837c6a401bf0f80791b619a9b4cfbe9160afd, those APIs are a no-op since timers are tracked internally through osmocom APIs (and at the same time, new implementation fixes some timing related bugs). As a result, osmo-sgsn depends now on at least that libgtp commit. Since it's not yet avaiable on latest libgtp release, let's track it down in TODO-RELESE to not forget to update libgtp requirements during osmo-sgsn release. Related: OS#4178 Change-Id: Ia9a93d4a6ed63cd0c736f9a99d81d730b958d82e
-rw-r--r--TODO-RELEASE3
-rw-r--r--include/osmocom/sgsn/sgsn.h2
-rw-r--r--src/sgsn/sgsn_libgtp.c26
3 files changed, 3 insertions, 28 deletions
diff --git a/TODO-RELEASE b/TODO-RELEASE
index 1c5d61f5..ac6dcb21 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -1 +1,4 @@
#component what description / commit summary line
+osmo-sgsn libgtp We dropped libgtp gtp_retranstimeout timer code which became a
+ no-op in osmo-ggsn.git c94837c6a401bf0f80791b619a9b4cfbe9160afd,
+ which means next osmo-sgsn release will require libgtp > 1.4.0.
diff --git a/include/osmocom/sgsn/sgsn.h b/include/osmocom/sgsn/sgsn.h
index e1c5c4af..f5ff524d 100644
--- a/include/osmocom/sgsn/sgsn.h
+++ b/include/osmocom/sgsn/sgsn.h
@@ -130,8 +130,6 @@ struct sgsn_instance {
struct osmo_fd gtp_fd0;
struct osmo_fd gtp_fd1c;
struct osmo_fd gtp_fd1u;
- /* Timer for libGTP */
- struct osmo_timer_list gtp_timer;
/* GSN instance for libgtp */
struct gsn_t *gsn;
/* Subscriber */
diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c
index c45431ae..c20c8dcf 100644
--- a/src/sgsn/sgsn_libgtp.c
+++ b/src/sgsn/sgsn_libgtp.c
@@ -753,28 +753,6 @@ static int sgsn_gtp_fd_cb(struct osmo_fd *fd, unsigned int what)
return rc;
}
-static void sgsn_gtp_tmr_start(struct sgsn_instance *sgi)
-{
- struct timeval next;
-
- /* Retrieve next retransmission as struct timeval */
- gtp_retranstimeout(sgi->gsn, &next);
-
- /* re-schedule the timer */
- osmo_timer_schedule(&sgi->gtp_timer, next.tv_sec, next.tv_usec/1000);
-}
-
-/* timer callback for libgtp retransmissions and ping */
-static void sgsn_gtp_tmr_cb(void *data)
-{
- struct sgsn_instance *sgi = data;
-
- /* Do all the retransmissions as needed */
- gtp_retrans(sgi->gsn);
-
- sgsn_gtp_tmr_start(sgi);
-}
-
int sgsn_gtp_init(struct sgsn_instance *sgi)
{
int rc;
@@ -825,10 +803,6 @@ int sgsn_gtp_init(struct sgsn_instance *sgi)
return rc;
}
- /* Start GTP re-transmission timer */
- osmo_timer_setup(&sgi->gtp_timer, sgsn_gtp_tmr_cb, sgi);
- sgsn_gtp_tmr_start(sgi);
-
/* Register callbackcs with libgtp */
gtp_set_cb_delete_context(gsn, cb_delete_context);
gtp_set_cb_conf(gsn, cb_conf);