[GPRS] LLC: Fix logic to detect unknown TLLI/SAPI

This commit is contained in:
Harald Welte 2010-05-18 12:45:08 +02:00
parent 6ffbaab90d
commit d764c064bb
1 changed files with 10 additions and 8 deletions

View File

@ -513,14 +513,16 @@ int gprs_llc_rcvmsg(struct msgb *msg, struct tlv_parsed *tv)
/* 7.2.1.1 LLC belonging to unassigned TLLI+SAPI shall be discarded, /* 7.2.1.1 LLC belonging to unassigned TLLI+SAPI shall be discarded,
* except UID and XID frames with SAPI=1 */ * except UID and XID frames with SAPI=1 */
if (!lle && llhp.sapi == GPRS_SAPI_GMM && if (!lle) {
(llhp.cmd == GPRS_LLC_XID || llhp.cmd == GPRS_LLC_UI)) { if (llhp.sapi == GPRS_SAPI_GMM &&
/* FIXME: don't use the TLLI but the 0xFFFF unassigned? */ (llhp.cmd == GPRS_LLC_XID || llhp.cmd == GPRS_LLC_UI)) {
lle = lle_alloc(msgb_tlli(msg), llhp.sapi); /* FIXME: don't use the TLLI but the 0xFFFF unassigned? */
} else { lle = lle_alloc(msgb_tlli(msg), llhp.sapi);
LOGP(DLLC, LOGL_NOTICE, } else {
"unknown TLLI/SAPI: Silently dropping\n"); LOGP(DLLC, LOGL_NOTICE,
return 0; "unknown TLLI/SAPI: Silently dropping\n");
return 0;
}
} }
/* Update LLE's (BVCI, NSEI) tuple */ /* Update LLE's (BVCI, NSEI) tuple */