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