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
315c48e7
Commit
315c48e7
authored
May 15, 2018
by
Tien-Thinh Nguyen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avoid potential issues when repeating establish/release procedure for 1-1
parent
0bae28af
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
5 deletions
+21
-5
openair2/LAYER2/MAC/config.c
openair2/LAYER2/MAC/config.c
+19
-3
openair2/LAYER2/MAC/ue_procedures.c
openair2/LAYER2/MAC/ue_procedures.c
+2
-2
No files found.
openair2/LAYER2/MAC/config.c
View file @
315c48e7
...
...
@@ -1392,7 +1392,13 @@ rrc_mac_config_req_ue(
j
=
0
;
k
=
0
;
for
(
k
=
0
;
k
<
MAX_NUM_LCID_DATA
;
k
++
)
{
if
((
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
==
0
)
&&
(
j
==
0
))
j
=
k
+
1
;
if
((
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
==
0
)
&&
(
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
destinationL2Id
==
0
)
&&
(
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
groupL2Id
==
0
)
&&
(
j
==
0
))
j
=
k
+
1
;
if
((
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
groupL2Id
==
*
groupL2Id
)
&&
(
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
==
0
))
{
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
=
logicalChannelIdentity
;
break
;
//(LCID, G) already exists!
}
if
((
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
==
logicalChannelIdentity
)
&&
(
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
groupL2Id
==
*
groupL2Id
))
break
;
//(LCID, G) already exists!
}
if
((
k
==
MAX_NUM_LCID_DATA
)
&&
(
j
>
0
))
{
...
...
@@ -1411,7 +1417,11 @@ rrc_mac_config_req_ue(
j
=
0
;
k
=
0
;
for
(
k
=
0
;
k
<
MAX_NUM_LCID_DATA
;
k
++
)
{
if
((
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
==
0
)
&&
(
j
==
0
))
j
=
k
+
1
;
if
((
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
==
0
)
&&
(
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
destinationL2Id
==
0
)
&&
(
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
groupL2Id
==
0
)
&&
(
j
==
0
))
j
=
k
+
1
;
if
((
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
destinationL2Id
==
*
destinationL2Id
)
&&
(
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
==
0
))
{
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
=
logicalChannelIdentity
;
break
;
//(LCID, D) already exists!
}
if
((
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
==
logicalChannelIdentity
)
&&
(
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
destinationL2Id
==
*
destinationL2Id
))
break
;
//(LCID, D) already exists!
}
if
((
k
==
MAX_NUM_LCID_DATA
)
&&
(
j
>
0
))
{
...
...
@@ -1430,7 +1440,13 @@ rrc_mac_config_req_ue(
j
=
0
;
k
=
0
;
for
(
k
=
MAX_NUM_LCID_DATA
;
k
<
MAX_NUM_LCID
;
k
++
)
{
if
((
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
==
0
)
&&
(
j
==
0
))
j
=
k
+
1
;
if
((
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
==
0
)
&&
(
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
destinationL2Id
==
0
)
&&
(
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
groupL2Id
==
0
)
&&
(
j
==
0
))
j
=
k
+
1
;
if
(
destinationL2Id
){
if
((
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
==
0
)
&&
(
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
destinationL2Id
==
*
destinationL2Id
))
{
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
=
logicalChannelIdentity
;
break
;
}
}
if
((
UE_mac_inst
[
Mod_idP
].
sl_info
[
k
].
LCID
==
logicalChannelIdentity
))
break
;
//&& (UE_mac_inst[Mod_idP].sl_info[k].destinationL2Id == *destinationL2Id)) break; //(LCID, D) already exists!
}
...
...
openair2/LAYER2/MAC/ue_procedures.c
View file @
315c48e7
...
...
@@ -825,11 +825,11 @@ void ue_send_sl_sdu(module_id_t module_idP,
//match the destinationL2Id with UE L2Id or groupL2ID
if
(
!
(((
destinationL2Id
==
UE_mac_inst
[
module_idP
].
sourceL2Id
)
&&
(
j
<
MAX_NUM_LCID
))
|
((
destinationL2Id
==
UE_mac_inst
[
module_idP
].
sourceL2Id
)
&&
(
longh
->
LCID
>=
MAX_NUM_LCID_DATA
))
|
(
i
<
MAX_NUM_LCID
))){
LOG_
D
(
MAC
,
"[Destination Id is neither matched with Source Id nor with Group Id, drop the packet!!!
\n
"
);
LOG_
I
(
MAC
,
"[Destination Id is neither matched with Source Id nor with Group Id, drop the packet!!!
\n
"
);
return
;
}
if
(
lcid
==
0
)
{
LOG_
D
(
MAC
,
"[Destination Id is neither matched with Source Id nor with Group Id, drop the packet!!!
\n
"
);
LOG_
I
(
MAC
,
"[Destination Id is neither matched with Source Id nor with Group Id, drop the packet!!!
\n
"
);
return
;
}
...
...
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