Bug #4161
openImplement pdp idle timer
0%
Description
We should provide a timer to free pdp context which didn't receive any user data over a configurable amount of time, to prevent them from occupying system resources (specially if pdp ctx are kept alive forever due to some bug).
It should be configurable at the APN level. Default value should be quite high, like 72 hours, or even disabled (zero).
Regarding timers to drop inactive pdp contexts, there seems to be implementations supporting that (cisco, juniper) but I cannot find any information in specs:
https://www.cisco.com/c/en/us/td/docs/ios/12_2/12_2y/12_2yy/ggsn31/31cfg/ggsn31_c/ggsncfg.html
https://www.juniper.net/documentation/en_US/junos-mobility11.2/topics/reference/configuration-statement/idle-timeout-edit-unified-edge-gateways-ggsn-pgw-apn-services-apn.html
Not sure if/how we can check the user plane data when the gtp kernel module is being used.
I have a patch for the related parts to have the timer configuration in osmo-ggsn's, see attachment diff.
AFAICT the per-pdp ctx timer should be implemented in libgtp. Perhaps timer configuration should be moved there too. But it seems before we implement that it may be worth moving current libgtp retrans and duplicate (queue_req and queue_resp) timers/timeout into osmocom timers.
Files
Related issues