aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/gb_proxy.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/gprs/gb_proxy.c')
-rw-r--r--openbsc/src/gprs/gb_proxy.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/openbsc/src/gprs/gb_proxy.c b/openbsc/src/gprs/gb_proxy.c
index c23e718c6..1437646fa 100644
--- a/openbsc/src/gprs/gb_proxy.c
+++ b/openbsc/src/gprs/gb_proxy.c
@@ -791,12 +791,19 @@ static int gbprox_rx_ptp_from_bss(struct gbproxy_config *cfg,
peer = gbproxy_peer_by_bvci(cfg, ns_bvci);
- if (peer)
- check_peer_nsei(peer, nsei);
-
+ check_peer_nsei(peer, nsei);
rc = gbprox_process_bssgp_ul(cfg, msg, peer);
- if (!rc)
+ if (!rc) {
+ if (!peer) {
+ LOGP(DGPRS, LOGL_NOTICE, "Didn't find peer for "
+ "BVCI=%u for PTP message from NSVC=%u/NSEI=%u (BSS)\n",
+ ns_bvci, nsvci, nsei);
+ return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI,
+ &ns_bvci, msg);
+ }
+
return 0;
+ }
switch (pdu_type) {
case BSSGP_PDUT_FLOW_CONTROL_BVC: