[GPRS] SNDCP: Check if SN-PDU is too large and reject it
... since we don't do fragmentation yet
This commit is contained in:
parent
1d9d944310
commit
db2c39f888
|
@ -172,6 +172,7 @@ int sndcp_sm_activate_ind(struct gprs_llc_lle *lle, uint8_t nsapi)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Request transmission of a SN-PDU over specified LLC Entity + SAPI */
|
||||||
int sndcp_unitdata_req(struct msgb *msg, struct gprs_llc_lle *lle, uint8_t nsapi,
|
int sndcp_unitdata_req(struct msgb *msg, struct gprs_llc_lle *lle, uint8_t nsapi,
|
||||||
void *mmcontext)
|
void *mmcontext)
|
||||||
{
|
{
|
||||||
|
@ -181,6 +182,13 @@ int sndcp_unitdata_req(struct msgb *msg, struct gprs_llc_lle *lle, uint8_t nsapi
|
||||||
|
|
||||||
/* Identifiers from UP: (TLLI, SAPI) + (BVCI, NSEI) */
|
/* Identifiers from UP: (TLLI, SAPI) + (BVCI, NSEI) */
|
||||||
|
|
||||||
|
if (msg->len > lle->params.n201_u - (sizeof(*sch) + sizeof(*suh))) {
|
||||||
|
LOGP(DSNDCP, LOGL_ERROR, "Message length %u > N201-U (%u): "
|
||||||
|
"SNDCP Fragmentation not yet implemented\n",
|
||||||
|
msg->len, lle->params.n201_u);
|
||||||
|
return -EIO;
|
||||||
|
}
|
||||||
|
|
||||||
sne = sndcp_entity_by_lle(lle, nsapi);
|
sne = sndcp_entity_by_lle(lle, nsapi);
|
||||||
if (!sne) {
|
if (!sne) {
|
||||||
LOGP(DSNDCP, LOGL_ERROR, "Cannot find SNDCP Entity\n");
|
LOGP(DSNDCP, LOGL_ERROR, "Cannot find SNDCP Entity\n");
|
||||||
|
|
Loading…
Reference in New Issue