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
lizhongxiao
OpenXG-RAN
Commits
bf71c6f0
Commit
bf71c6f0
authored
Mar 15, 2017
by
fnabet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
RLC AM Tx Segment: fix
parent
c1da605f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
10 deletions
+11
-10
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
+11
-10
No files found.
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
View file @
bf71c6f0
...
@@ -430,7 +430,7 @@ mem_block_t* rlc_am_retransmit_get_am_segment(
...
@@ -430,7 +430,7 @@ mem_block_t* rlc_am_retransmit_get_am_segment(
sdus_segment_size
[
0
]
=
data_size
-
retx_so_start
;
sdus_segment_size
[
0
]
=
data_size
-
retx_so_start
;
/* Check if so end is in the first SDU portion */
/* Check if so end is in the first SDU portion */
if
(
sdus_segment_size
[
0
]
>
retx_so_stop
-
retx_so_start
+
1
)
if
(
sdus_segment_size
[
0
]
>
=
retx_so_stop
-
retx_so_start
+
1
)
{
{
sdus_segment_size
[
0
]
=
retx_so_stop
-
retx_so_start
+
1
;
sdus_segment_size
[
0
]
=
retx_so_stop
-
retx_so_start
+
1
;
*
payload_sizeP
=
sdus_segment_size
[
0
];
*
payload_sizeP
=
sdus_segment_size
[
0
];
...
@@ -451,7 +451,7 @@ mem_block_t* rlc_am_retransmit_get_am_segment(
...
@@ -451,7 +451,7 @@ mem_block_t* rlc_am_retransmit_get_am_segment(
{
{
sdu_index
++
;
sdu_index
++
;
sdu_segment_index
++
;
sdu_segment_index
++
;
while
(
sdu_index
<
pdu_mngt
->
nb_sdus
)
while
(
(
sdu_index
<
pdu_mngt
->
nb_sdus
)
&&
(
data_size
<
retx_so_stop
+
1
)
)
{
{
if
(
sdu_index
<
pdu_mngt
->
nb_sdus
-
1
)
if
(
sdu_index
<
pdu_mngt
->
nb_sdus
-
1
)
{
{
...
@@ -468,20 +468,19 @@ mem_block_t* rlc_am_retransmit_get_am_segment(
...
@@ -468,20 +468,19 @@ mem_block_t* rlc_am_retransmit_get_am_segment(
data_size
=
pdu_mngt
->
payload_size
;
data_size
=
pdu_mngt
->
payload_size
;
}
}
if
(
data_size
>=
retx_so_stop
+
1
)
{
sdus_segment_size
[
sdu_segment_index
]
=
retx_so_stop
-
(
data_size
-
sdu_size
)
+
1
;
break
;
}
sdus_segment_size
[
sdu_segment_index
]
=
sdu_size
;
sdus_segment_size
[
sdu_segment_index
]
=
sdu_size
;
sdu_index
++
;
sdu_index
++
;
sdu_segment_index
++
;
sdu_segment_index
++
;
}
}
if
(
data_size
>
retx_so_stop
+
1
)
{
sdus_segment_size
[
sdu_segment_index
-
1
]
=
retx_so_stop
-
(
data_size
-
sdu_size
)
+
1
;
}
/* Set number of LIs in the segment */
/* Set number of LIs in the segment */
num_LIs_pdu_segment
=
sdu_segment_index
;
num_LIs_pdu_segment
=
sdu_segment_index
-
1
;
AssertFatal
(
num_LIs_pdu_segment
<=
pdu_mngt
->
nb_sdus
-
1
,
"RLC AM Tx PDU Segment Data Error: nbLISegment=%d nbLIPDU=%d sn=%d LcId=%d !
\n
"
,
AssertFatal
(
num_LIs_pdu_segment
<=
pdu_mngt
->
nb_sdus
-
1
,
"RLC AM Tx PDU Segment Data Error: nbLISegment=%d nbLIPDU=%d sn=%d LcId=%d !
\n
"
,
num_LIs_pdu_segment
,
pdu_mngt
->
nb_sdus
-
1
,
sn
,
rlc_pP
->
channel_id
);
num_LIs_pdu_segment
,
pdu_mngt
->
nb_sdus
-
1
,
sn
,
rlc_pP
->
channel_id
);
...
@@ -527,6 +526,8 @@ mem_block_t* rlc_am_retransmit_get_am_segment(
...
@@ -527,6 +526,8 @@ mem_block_t* rlc_am_retransmit_get_am_segment(
data_size
=
0
;
data_size
=
0
;
for
(
int
i
=
0
;
i
<
num_LIs_pdu_segment
+
1
;
i
++
)
for
(
int
i
=
0
;
i
<
num_LIs_pdu_segment
+
1
;
i
++
)
{
{
AssertFatal
(
sdus_segment_size
[
i
]
>
0
,
"RLC AM Tx PDU Segment Data Error: EMpty LI index=%d numLISegment=%d numLIPDU=%d PDULength=%d SOStart=%d SOStop=%d sn=%d LcId=%d !
\n
"
,
i
,
num_LIs_pdu_segment
,
pdu_mngt
->
nb_sdus
-
1
,
pdu_mngt
->
payload_size
,
retx_so_start
,
retx_so_stop
,
sn
,
rlc_pP
->
channel_id
);
data_size
+=
sdus_segment_size
[
i
];
data_size
+=
sdus_segment_size
[
i
];
if
((
retx_so_stop
==
data_size
-
1
)
&&
(
i
<
num_LIs_pdu_segment
))
if
((
retx_so_stop
==
data_size
-
1
)
&&
(
i
<
num_LIs_pdu_segment
))
{
{
...
@@ -534,7 +535,7 @@ mem_block_t* rlc_am_retransmit_get_am_segment(
...
@@ -534,7 +535,7 @@ mem_block_t* rlc_am_retransmit_get_am_segment(
}
}
}
}
AssertFatal
(
data_size
==
*
payload_sizeP
,
"RLC AM PDU Segment Data Error: SduSum=%d Data=%d sn=%d LcId=%d !
\n
"
,
AssertFatal
(
data_size
==
*
payload_sizeP
,
"RLC AM
Tx
PDU Segment Data Error: SduSum=%d Data=%d sn=%d LcId=%d !
\n
"
,
data_size
,
*
payload_sizeP
,
sn
,
rlc_pP
->
channel_id
);
data_size
,
*
payload_sizeP
,
sn
,
rlc_pP
->
channel_id
);
...
...
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