diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2015-12-06 19:03:35 +0100 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2015-12-07 13:37:10 +0100 |
commit | f6e4d082194e41c8a5b51a46c578921006496309 (patch) | |
tree | 95de5ae64b1d28f3a7002a9d190fc7d816fa8876 | |
parent | 328d2f78c1b934522811dea3f1d707fe39c039e3 (diff) |
gtphub: fix: when checking TEIs, skip 0.
Sponsored-by: On-Waves ehi
-rw-r--r-- | openbsc/src/gprs/gtphub.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/openbsc/src/gprs/gtphub.c b/openbsc/src/gprs/gtphub.c index 923c55373..24d0c5829 100644 --- a/openbsc/src/gprs/gtphub.c +++ b/openbsc/src/gprs/gtphub.c @@ -1217,6 +1217,8 @@ static int gtphub_check_mapped_tei(struct gtphub_tunnel_endpoint *new_te, uint32_t *tei_min, uint32_t *tei_max) { + if (!new_te->tei_repl) + return 1; if (new_te->tei_repl != iterated_te->tei_repl) return 1; @@ -1265,7 +1267,8 @@ static int gtphub_check_reused_teis(struct gtphub *hub, for_each_plane(plane_idx) { te = &tun->endpoint[side_idx][plane_idx]; te2 = &new_tun->endpoint[side_idx][plane_idx]; - if ((te->tei_orig != te2->tei_orig) + if ((te->tei_orig == 0) + || (te->tei_orig != te2->tei_orig) || (!te->peer) || (!te2->peer) || !gsn_addr_same(&te->peer->peer_addr->addr, |