sgsn_libgtp.c: Drop use of deprecated libgtp APIs gtp_retrans*()
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
This commit is contained in:
parent
4d1d2e78b1
commit
284314ab0a
|
@ -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.
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue