aboutsummaryrefslogtreecommitdiffstats
path: root/gtp
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2019-05-13 11:35:03 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2019-05-31 16:44:01 +0200
commit1cde2c169162de3773ccc49b0408a330d61be3d7 (patch)
tree5e063a1c9e4648d1b0d44ec53ea1569eb5314c6e /gtp
parent93dd798a998824b50b5d65b822ac3db9ad7eafc2 (diff)
ggsn: Use gtp_delete_context_req2() everywhere
Replace calls to gtp_delete_context_req() with gtp_delete_context_req2(). Related: OS#2741 Change-Id: Iecc8c5ac45207e7e20129559c4ac7f3c67dfb36a
Diffstat (limited to 'gtp')
-rw-r--r--gtp/gtp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gtp/gtp.c b/gtp/gtp.c
index 9ae208a..2b14026 100644
--- a/gtp/gtp.c
+++ b/gtp/gtp.c
@@ -2434,7 +2434,9 @@ int gtp_delete_context_req(struct gsn_t *gsn, struct pdp_t *pdp, void *cbp,
return 0;
}
-/* API: Send Delete PDP Context Request. PDP CTX shall be free'd by user at cb_conf(GTP_DELETE_PDP_RSP) */
+/* API: Send Delete PDP Context Request. PDP CTX shall be free'd by user at any
+ point in time later than this function through a call to pdp_freepdp(pdp), but
+ it must be freed no later than during cb_conf(GTP_DELETE_PDP_REQ, pdp) */
int gtp_delete_context_req2(struct gsn_t *gsn, struct pdp_t *pdp, void *cbp,
int teardown)
{
@@ -2643,7 +2645,7 @@ int gtp_delete_pdp_conf(struct gsn_t *gsn, int version,
if (pdp_getgtp1(&pdp, get_tei(pack))) {
gsn->err_unknownpdp++;
GTP_LOGPKG(LOGL_NOTICE, peer, pack, len,
- "Unknown PDP context: %u (expected if gtp_delete_context_req is used)\n",
+ "Unknown PDP context: %u (expected if gtp_delete_context_req is used or pdp ctx was freed manually before response)\n",
get_tei(pack));
if (gsn->cb_conf)
gsn->cb_conf(type, EOF, NULL, cbp);