Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zzha zzha
OpenXG-RAN
Commits
8d787768
Commit
8d787768
authored
May 03, 2017
by
fnabet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Issue 238 fix: RLC AM
parent
c124e32a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
11 deletions
+19
-11
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
+19
-11
No files found.
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
View file @
8d787768
...
@@ -408,19 +408,27 @@ rlc_am_receive_process_control_pdu(
...
@@ -408,19 +408,27 @@ rlc_am_receive_process_control_pdu(
//TODO : this part does not cover all cases of Data Cnf and move it at the end of Status PDU processing
//TODO : this part does not cover all cases of Data Cnf and move it at the end of Status PDU processing
sn_cursor
=
rlc_pP
->
vt_a
;
sn_cursor
=
rlc_pP
->
vt_a
;
/* Handle all acked PDU up to and excluding sn_data_cnf */
// Fix Issue 238 : check sn_data_cnf has been transmitted
while
(
sn_cursor
!=
sn_data_cnf
)
{
if
((
rlc_pP
->
tx_data_pdu_buffer
[
sn_data_cnf
%
RLC_AM_WINDOW_SIZE
].
flags
.
transmitted
)
&&
rlc_am_pdu_sdu_data_cnf
(
ctxt_pP
,
rlc_pP
,
sn_cursor
);
(
rlc_pP
->
tx_data_pdu_buffer
[
sn_data_cnf
%
RLC_AM_WINDOW_SIZE
].
sn
==
sn_data_cnf
))
{
sn_cursor
=
RLC_AM_NEXT_SN
(
sn_cursor
);
/* Handle all acked PDU up to and excluding sn_data_cnf */
}
while
(
sn_cursor
!=
sn_data_cnf
)
{
rlc_am_pdu_sdu_data_cnf
(
ctxt_pP
,
rlc_pP
,
sn_cursor
);
sn_cursor
=
RLC_AM_NEXT_SN
(
sn_cursor
);
}
// Handle last SN. TO DO : case of PDU partially ACKED with SDU to be data conf
// Handle last SN. TO DO : case of PDU partially ACKED with SDU to be data conf
if
(
data_cnf_so_stop
==
0x7FFF
)
{
if
(
data_cnf_so_stop
==
0x7FFF
)
{
rlc_am_pdu_sdu_data_cnf
(
ctxt_pP
,
rlc_pP
,
sn_data_cnf
);
rlc_am_pdu_sdu_data_cnf
(
ctxt_pP
,
rlc_pP
,
sn_data_cnf
);
}
}
LOG_D
(
RLC
,
PROTOCOL_RLC_AM_CTXT_FMT
" RECEIVE STATUS PDU ACK_SN=%d NewvtA=%d OldvtA=%d SnDataCnf=%d DataCnfSOStop=%d vtS=%d
\n
"
,
LOG_D
(
RLC
,
PROTOCOL_RLC_AM_CTXT_FMT
" RECEIVE STATUS PDU ACK_SN=%d NewvtA=%d OldvtA=%d SnDataCnf=%d DataCnfSOStop=%d vtS=%d
\n
"
,
PROTOCOL_RLC_AM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
),
ack_sn
,
vt_a_new
,
rlc_pP
->
vt_a
,
sn_data_cnf
,
data_cnf_so_stop
,
rlc_pP
->
vt_s
);
PROTOCOL_RLC_AM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
),
ack_sn
,
vt_a_new
,
rlc_pP
->
vt_a
,
sn_data_cnf
,
data_cnf_so_stop
,
rlc_pP
->
vt_s
);
}
else
{
LOG_D
(
RLC
,
PROTOCOL_RLC_AM_CTXT_FMT
" RECEIVE STATUS PDU WITH NO SDU CNF ACK_SN=%d NewvtA=%d OldvtA=%d vtS=%d
\n
"
,
PROTOCOL_RLC_AM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
),
ack_sn
,
vt_a_new
,
rlc_pP
->
vt_a
,
rlc_pP
->
vt_s
);
}
/* Update vtA and vtMS */
/* Update vtA and vtMS */
rlc_pP
->
vt_a
=
vt_a_new
;
rlc_pP
->
vt_a
=
vt_a_new
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment