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
ZhouShuya
OpenXG-RAN
Commits
314bf57f
Commit
314bf57f
authored
Feb 14, 2018
by
Tien-Thinh Nguyen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
minor update
parent
84177053
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
32 additions
and
22 deletions
+32
-22
d2d_emulator_setup.txt
d2d_emulator_setup.txt
+6
-6
openair2/LAYER2/MAC/config.c
openair2/LAYER2/MAC/config.c
+23
-13
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
+1
-1
openair2/LAYER2/RLC/rlc_mac.c
openair2/LAYER2/RLC/rlc_mac.c
+1
-1
openair2/RRC/LITE/rrc_UE.c
openair2/RRC/LITE/rrc_UE.c
+1
-1
No files found.
d2d_emulator_setup.txt
View file @
314bf57f
...
...
@@ -36,11 +36,11 @@ OAI build/execute
UE1:
- sudo ifconfig oip0 10.0.0.1
- sudo iptables -A POSTROUTING -t mangle -o oip0 -d 224.0.0.
1
-j MARK --set-mark 3
- sudo iptables -A POSTROUTING -t mangle -o oip0 -d 224.0.0.
3
-j MARK --set-mark 3
- (if necessary) sudo route add default gw 10.10.10.1 eth0
UE2:
- sudo ifconfig oip0 10.0.0.2
- sudo iptables -A POSTROUTING -t mangle -o oip0 -d 224.0.0.
1
-j MARK --set-mark 3
- sudo iptables -A POSTROUTING -t mangle -o oip0 -d 224.0.0.
3
-j MARK --set-mark 3
- (if necessary) sudo route add default gw 10.10.10.1 eno1
UE1 and UE2: Get and build vencore_app from d2d-l3-stub (branch: l3_stub)
...
...
@@ -53,12 +53,12 @@ UE1: sudo ./lte-softmodem-stub -U --emul-iface eth0
UE2: sudo ./lte-softmodem-stub -U --emul-iface eno1
Test with Ping
- Sender - UE1: ping -I oip0 224.0.0.
1
- Sender - UE1: ping -I oip0 224.0.0.
3
- Receiver - UE2: using wireshark
Test with Iperf
- Sender - UE1: iperf -c 224.0.0.
1
-u -b 0.1M --bind 10.0.0.1 -t 100
- Receiver - UE2: sudo ./mcreceive 224.0.0.
1
5001
- Sender - UE1: iperf -c 224.0.0.
3
-u -b 0.1M --bind 10.0.0.1 -t 100
- Receiver - UE2: sudo ./mcreceive 224.0.0.
3
5001
Filter the incomming packets according to GroupL2Id: receiver (one-to-many) can discard the packets if it doesn't belong to this group.
For the moment, both sender and receiver use the same set of Ids (hardcoded)
...
...
@@ -66,7 +66,7 @@ For the moment, both sender and receiver use the same set of Ids (hardcoded)
UE1 (sender)
- sudo ./lte-softmodem-stub -U --emul-iface eth0
- ./vencore_app #send the sourceL2Id, groupL2Id to OAI
- ping -I oip0 224.0.0.
1
- ping -I oip0 224.0.0.
3
UE2(receiver)
- sudo ./lte-softmodem-stub -U --emul-iface eno1
#we can see the incomming packets from OAI log, however, cannot see from Wireshark -> they are discarded at MAC layer
...
...
openair2/LAYER2/MAC/config.c
View file @
314bf57f
...
...
@@ -1375,6 +1375,8 @@ rrc_mac_config_req_ue(
//for D2D
#if defined(Rel10) || defined(Rel14)
int
j
=
0
;
int
k
=
0
;
switch
(
config_action
)
{
case
CONFIG_ACTION_ADD
:
if
(
sourceL2Id
){
...
...
@@ -1383,24 +1385,32 @@ rrc_mac_config_req_ue(
}
if
(
destinationL2Id
)
{
LOG_I
(
MAC
,
"[UE %d] Configure destination L2Id 0x%08x
\n
"
,
Mod_idP
,
*
destinationL2Id
);
int
j
=
0
;
int
i
=
0
;
for
(
i
=
0
;
i
<
MAX_NUM_DEST
;
i
++
)
{
if
((
UE_mac_inst
[
Mod_idP
].
destinationList
[
i
]
==
0
)
&&
(
j
==
0
))
j
=
i
+
1
;
if
(
UE_mac_inst
[
Mod_idP
].
destinationList
[
i
]
==
*
destinationL2Id
)
break
;
//destination already exists!
for
(
k
=
0
;
k
<
MAX_NUM_DEST
;
k
++
)
{
if
((
UE_mac_inst
[
Mod_idP
].
destinationList
[
k
]
==
0
)
&&
(
j
==
0
))
j
=
k
+
1
;
if
(
UE_mac_inst
[
Mod_idP
].
destinationList
[
k
]
==
*
destinationL2Id
)
break
;
//destination already exists!
}
if
((
k
==
MAX_NUM_DEST
)
&&
(
j
>
0
))
{
UE_mac_inst
[
Mod_idP
].
destinationList
[
j
-
1
]
=
*
destinationL2Id
;
// UE_mac_inst[Mod_idP].numCommFlows++;
}
for
(
k
=
0
;
k
<
MAX_NUM_DEST
;
k
++
)
{
LOG_I
(
MAC
,
"[UE %d] destination %d L2Id 0x%08x
\n
"
,
Mod_idP
,
k
,
UE_mac_inst
[
Mod_idP
].
destinationList
[
k
]
);
}
if
((
i
==
MAX_NUM_DEST
)
&&
(
j
>
0
))
UE_mac_inst
[
Mod_idP
].
destinationList
[
j
-
1
]
=
*
destinationL2Id
;
UE_mac_inst
[
Mod_idP
].
numCommFlows
++
;
}
//store list of LCIDs for SL
if
(
logicalChannelIdentity
>
0
){
int
j
=
0
;
int
i
=
0
;
for
(
i
=
0
;
i
<
MAX_NUM_LCID
;
i
++
)
{
if
((
UE_mac_inst
[
Mod_idP
].
SL_LCID
[
i
]
==
0
)
&&
(
j
==
0
))
j
=
i
+
1
;
if
(
UE_mac_inst
[
Mod_idP
].
SL_LCID
[
i
]
==
logicalChannelIdentity
)
break
;
//LCID already exists!
j
=
0
;
for
(
k
=
0
;
k
<
MAX_NUM_LCID
;
k
++
)
{
if
((
UE_mac_inst
[
Mod_idP
].
SL_LCID
[
k
]
==
0
)
&&
(
j
==
0
))
j
=
k
+
1
;
if
(
UE_mac_inst
[
Mod_idP
].
SL_LCID
[
k
]
==
logicalChannelIdentity
)
break
;
//LCID already exists!
}
if
((
k
==
MAX_NUM_LCID
)
&&
(
j
>
0
))
{
UE_mac_inst
[
Mod_idP
].
SL_LCID
[
j
-
1
]
=
logicalChannelIdentity
;
UE_mac_inst
[
Mod_idP
].
numCommFlows
++
;
}
for
(
k
=
0
;
k
<
MAX_NUM_LCID
;
k
++
)
{
LOG_I
(
MAC
,
"[UE %d] logical channel %d channel id %d
\n
"
,
Mod_idP
,
k
,
UE_mac_inst
[
Mod_idP
].
SL_LCID
[
k
]
);
}
if
((
i
==
MAX_NUM_LCID
)
&&
(
j
>
0
))
UE_mac_inst
[
Mod_idP
].
SL_LCID
[
j
-
1
]
=
logicalChannelIdentity
;
}
break
;
case
CONFIG_ACTION_REMOVE
:
...
...
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
View file @
314bf57f
...
...
@@ -419,7 +419,7 @@ struct pdcp_netlink_element_s {
//TTN for D2D (PC5S)
#ifdef Rel14
#define PDCP_SOCKET_PORT_NO 9999 //temporary value
#define PC5_SIGNALLING_PAYLOAD_SIZE
5
//should be updated with a correct value
#define PC5_SIGNALLING_PAYLOAD_SIZE
100
//should be updated with a correct value
int
pdcp_pc5_sockfd
;
struct
sockaddr_in
prose_ctrl_addr
;
struct
sockaddr_in
prose_pdcp_addr
;
...
...
openair2/LAYER2/RLC/rlc_mac.c
View file @
314bf57f
...
...
@@ -411,7 +411,7 @@ mac_rlc_status_resp_t mac_rlc_status_ind(
rlc_mode
=
rlc_union_p
->
mode
;
}
else
{
rlc_mode
=
RLC_MODE_NONE
;
LOG_W
(
RLC
,
"[%s] RLC not configured lcid %u module %u!
\n
"
,
__FUNCTION__
,
channel_idP
,
module_idP
);
//
LOG_W(RLC , "[%s] RLC not configured lcid %u module %u!\n", __FUNCTION__, channel_idP, module_idP);
//LOG_D(RLC , "[%s] RLC not configured rb id %u lcid %u module %u!\n", __FUNCTION__, rb_id, channel_idP, ue_module_idP);
}
...
...
openair2/RRC/LITE/rrc_UE.c
View file @
314bf57f
...
...
@@ -6129,7 +6129,7 @@ void *rrc_control_socket_thread_fct(void *arg)
#endif
(
MeasObjectToAddMod_t
**
)
NULL
,
(
MAC_MainConfig_t
*
)
NULL
,
0
,
10
,
//LCID
(
struct
LogicalChannelConfig
*
)
NULL
,
(
MeasGapConfig_t
*
)
NULL
,
(
TDD_Config_t
*
)
NULL
,
...
...
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