[SGSN] SNDCP: re-set total number of fragment length
This commit is contained in:
parent
18d1452a92
commit
8b705f2533
|
@ -138,6 +138,7 @@ static struct defrag_queue_entry *defrag_get_seg(struct gprs_sndcp_entity *sne,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Perform actual defragmentation and create an output packet */
|
||||||
static int defrag_segments(struct gprs_sndcp_entity *sne)
|
static int defrag_segments(struct gprs_sndcp_entity *sne)
|
||||||
{
|
{
|
||||||
struct msgb *msg;
|
struct msgb *msg;
|
||||||
|
@ -173,6 +174,8 @@ static int defrag_segments(struct gprs_sndcp_entity *sne)
|
||||||
talloc_free(dqe);
|
talloc_free(dqe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FIXME: cancel timer */
|
||||||
|
|
||||||
/* actually send the N-PDU to the SGSN core code, which then
|
/* actually send the N-PDU to the SGSN core code, which then
|
||||||
* hands it off to the correct GTP tunnel + GGSN via gtp_data_req() */
|
* hands it off to the correct GTP tunnel + GGSN via gtp_data_req() */
|
||||||
return sgsn_rx_sndcp_ud_ind(&sne->ra_id, sne->lle->llme->tlli,
|
return sgsn_rx_sndcp_ud_ind(&sne->ra_id, sne->lle->llme->tlli,
|
||||||
|
@ -220,8 +223,11 @@ static int defrag_input(struct gprs_sndcp_entity *sne, struct msgb *msg, uint8_t
|
||||||
}
|
}
|
||||||
/* store the currently de-fragmented PDU number */
|
/* store the currently de-fragmented PDU number */
|
||||||
sne->defrag.npdu = npdu_num;
|
sne->defrag.npdu = npdu_num;
|
||||||
|
|
||||||
|
/* Re-set fragmentation state */
|
||||||
sne->defrag.no_more = sne->defrag.highest_seg = sne->defrag.seg_have = 0;
|
sne->defrag.no_more = sne->defrag.highest_seg = sne->defrag.seg_have = 0;
|
||||||
/* FIXME: Start timer */
|
sne->defrag.tot_len = 0;
|
||||||
|
/* FIXME: (re)start timer */
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sne->defrag.npdu != npdu_num) {
|
if (sne->defrag.npdu != npdu_num) {
|
||||||
|
|
Loading…
Reference in New Issue