Bug #4178
closedlibgtp: Fix use os gtp_retranstimeout() APIs in osmo-ggsn and osmo-sgsn
100%
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
Updated by pespin over 4 years ago
- Related to Bug #4165: osmo-ggsn: implement echo request against osmo-sgsn added
Updated by pespin over 4 years 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
Updated by pespin over 4 years 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.
Updated by pespin over 4 years ago
- Status changed from Feedback to Resolved
- % Done changed from 90 to 100
COmmits were merged a while ago, closing the ticket.