gbproxy: Send BVC-STATUS if BSS sends us BVC-RESET without mandatory IEs
Change-Id: I198ca70f5e0947735f76d32cd9d3eed159349a94
diff --git a/src/gbproxy/gb_proxy.c b/src/gbproxy/gb_proxy.c
index a4ad7af..8b103c8 100644
--- a/src/gbproxy/gb_proxy.c
+++ b/src/gbproxy/gb_proxy.c
@@ -1017,8 +1017,10 @@
struct gbproxy_peer *from_peer = NULL;
uint16_t bvci;
- if (!TLVP_PRESENT(tp, BSSGP_IE_BVCI))
- return 0;
+ if (!TLVP_PRESENT(tp, BSSGP_IE_BVCI) || !TLVP_PRESENT(tp, BSSGP_IE_CAUSE)) {
+ rate_ctr_inc(&cfg->ctrg->ctr[GBPROX_GLOB_CTR_PROTO_ERR_BSS]);
+ return bssgp_tx_status(BSSGP_CAUSE_MISSING_MAND_IE, NULL, msg);
+ }
bvci = ntohs(tlvp_val16_unal(tp, BSSGP_IE_BVCI));
LOGP(DGPRS, LOGL_INFO, "NSE(%05u) Rx BVC RESET (BVCI=%05u)\n", nsei, bvci);