From 0b1d9dbc407476fb9ede781819f5a2095282b68c Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Wed, 21 Apr 2021 19:45:23 +0200 Subject: [PATCH] gtp: Update teic_confirmed only on resp success Change-Id: I54c54cbb51bfa5d1520855f448fa27511037b396 --- gtp/gtp.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gtp/gtp.c b/gtp/gtp.c index 25eafdf..701aa36 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -1792,9 +1792,6 @@ int gtp_create_pdp_conf(struct gsn_t *gsn, int version, return EOF; } - /* Register that we have received a valid teic from GGSN */ - pdp->teic_confirmed = 1; - /* Decode information elements */ if (gtpie_decaps(ie, version, pack + hlen, len - hlen)) { gsn->invalid++; @@ -1894,6 +1891,8 @@ int gtp_create_pdp_conf(struct gsn_t *gsn, int version, gsn->cb_conf(type, EOF, pdp, cbp); return EOF; } + /* Register that we have received a valid teic from GGSN */ + pdp->teic_confirmed = 1; } if (gtpie_gettv4(ie, GTPIE_CHARGING_ID, 0, &pdp->cid)) { @@ -2345,9 +2344,6 @@ static int gtp_update_pdp_conf(struct gsn_t *gsn, uint8_t version, goto err_out; } - /* Register that we have received a valid teic from GGSN */ - pdp->teic_confirmed = 1; - /* Decode information elements */ if (gtpie_decaps(ie, version, pack + hlen, len - hlen)) { gsn->invalid++; @@ -2393,6 +2389,8 @@ static int gtp_update_pdp_conf(struct gsn_t *gsn, uint8_t version, if (gtpie_gettv4(ie, GTPIE_TEI_C, 0, &pdp->teic_gn)) { goto err_missing; } + /* Register that we have received a valid teic from GGSN */ + pdp->teic_confirmed = 1; } if (gtpie_gettv4(ie, GTPIE_CHARGING_ID, 0, &pdp->cid)) {