Project

General

Profile

Bug #4178

libgtp: Fix use os gtp_retranstimeout() APIs in osmo-ggsn and osmo-sgsn

Added by pespin over 1 year ago. Updated over 1 year ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
libgtp
Target version:
-
Start date:
08/28/2019
Due date:
% Done:

100%

Spec Reference:

Description

Currently libgtp provides gtp_retranstimeout() and gtp_retrans() APIs to handle retransmission of tx packets and dropping of enqueued duplicate checks.

The idea is that gtp_retranstimeout() provides through an out param the first time when gtp_retrans() needs to be called to handle all events.
However, that means whenever a new packet is transmitted/enqueued using libgtp API, gtp_retranstimeout() must be called by the application to schedule the timer again, because retransmission from that new packet may come before other already-scheduled events.
We are currently not doing that.

I am actually preparing a patch to drop those APIs completely (leave them as no-ops actually) and handle everything correctly internally through osmocom timers. That part is mostly done, but I need to remember to update the internal timers every time gtp_req() is called.


Related issues

Related to OsmoGGSN (former OpenGGSN) - Bug #4165: osmo-ggsn: implement echo request against osmo-sgsnResolved08/21/2019

Associated revisions

Revision c1a64fa5 (diff)
Added by pespin over 1 year ago

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

History

#1 Updated by pespin over 1 year ago

  • Related to Bug #4165: osmo-ggsn: implement echo request against osmo-sgsn added

#2 Updated by pespin over 1 year ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 50

libgtp + osmo-ggsn + sgsnemu patches:
remote: https://gerrit.osmocom.org/c/osmo-ggsn/+/15309 gtp: Manage queue timers internally
remote: https://gerrit.osmocom.org/c/osmo-ggsn/+/15310 ggsn, sgsnemu: Drop use of no-op deprecated gtp_retrans* APIs

osmo-sgsn patches (dropping use of gtp_retrans*()): TODO

#3 Updated by pespin over 1 year ago

  • Status changed from In Progress to Feedback
  • % Done changed from 50 to 90

sgsn patches:

remote: https://gerrit.osmocom.org/c/osmo-sgsn/+/15578 Introduce TODO-RELEASE file
remote: https://gerrit.osmocom.org/c/osmo-sgsn/+/15579 sgsn_libgtp.c: Drop use of deprecated libgtp APIs gtp_retrans*()

Once merged, ticket can be closed.

#4 Updated by pespin over 1 year ago

  • Status changed from Feedback to Resolved
  • % Done changed from 90 to 100

COmmits were merged a while ago, closing the ticket.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)