From a32e4c4fb8d971dfa19dc9ea1a2dbc287d430f2b Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Fri, 13 Jul 2018 19:05:00 +0200 Subject: gtp: Allow recv DEL CTX REQ in sgsn and DEL CTX RSP in ggsn According to 3GPP TS 29.060 section "7.3.5 Delete PDP Context Request", both directions are valid in both GSNs. This allows osmo-sgsn receive delete ctx indication (cb_delete_context) in order to implement GGSN initiated requests. Change-Id: I6927c07be4ddf74defe338d01d947056e15cd14d --- gtp/gtp.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/gtp/gtp.c b/gtp/gtp.c index ac3ec99..5b83d20 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -2830,8 +2830,7 @@ int gtp_decaps0(struct gsn_t *gsn) if ((gsn->mode == GTP_MODE_GGSN) && ((pheader->type == GTP_CREATE_PDP_RSP) || - (pheader->type == GTP_UPDATE_PDP_RSP) || - (pheader->type == GTP_DELETE_PDP_RSP))) { + (pheader->type == GTP_UPDATE_PDP_RSP))) { gsn->unexpect++; GTP_LOGPKG(LOGL_ERROR, &peer, buffer, status, @@ -2842,8 +2841,7 @@ int gtp_decaps0(struct gsn_t *gsn) if ((gsn->mode == GTP_MODE_SGSN) && ((pheader->type == GTP_CREATE_PDP_REQ) || - (pheader->type == GTP_UPDATE_PDP_REQ) || - (pheader->type == GTP_DELETE_PDP_REQ))) { + (pheader->type == GTP_UPDATE_PDP_REQ))) { gsn->unexpect++; GTP_LOGPKG(LOGL_ERROR, &peer, buffer, status, @@ -3009,8 +3007,7 @@ int gtp_decaps1c(struct gsn_t *gsn) if ((gsn->mode == GTP_MODE_GGSN) && ((pheader->type == GTP_CREATE_PDP_RSP) || - (pheader->type == GTP_UPDATE_PDP_RSP) || - (pheader->type == GTP_DELETE_PDP_RSP))) { + (pheader->type == GTP_UPDATE_PDP_RSP))) { gsn->unexpect++; GTP_LOGPKG(LOGL_ERROR, &peer, buffer, status, @@ -3021,8 +3018,7 @@ int gtp_decaps1c(struct gsn_t *gsn) if ((gsn->mode == GTP_MODE_SGSN) && ((pheader->type == GTP_CREATE_PDP_REQ) || - (pheader->type == GTP_UPDATE_PDP_REQ) || - (pheader->type == GTP_DELETE_PDP_REQ))) { + (pheader->type == GTP_UPDATE_PDP_REQ))) { gsn->unexpect++; GTP_LOGPKG(LOGL_ERROR, &peer, buffer, status, -- cgit v1.2.3