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
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
Show 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
...
@@ -36,11 +36,11 @@ OAI build/execute
UE1:
UE1:
- sudo ifconfig oip0 10.0.0.1
- 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
- (if necessary) sudo route add default gw 10.10.10.1 eth0
UE2:
UE2:
- sudo ifconfig oip0 10.0.0.2
- 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
- (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)
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
...
@@ -53,12 +53,12 @@ UE1: sudo ./lte-softmodem-stub -U --emul-iface eth0
UE2: sudo ./lte-softmodem-stub -U --emul-iface eno1
UE2: sudo ./lte-softmodem-stub -U --emul-iface eno1
Test with Ping
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
- Receiver - UE2: using wireshark
Test with Iperf
Test with Iperf
- Sender - UE1: iperf -c 224.0.0.
1
-u -b 0.1M --bind 10.0.0.1 -t 100
- 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.
1
5001
- 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.
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)
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)
...
@@ -66,7 +66,7 @@ For the moment, both sender and receiver use the same set of Ids (hardcoded)
UE1 (sender)
UE1 (sender)
- sudo ./lte-softmodem-stub -U --emul-iface eth0
- sudo ./lte-softmodem-stub -U --emul-iface eth0
- ./vencore_app #send the sourceL2Id, groupL2Id to OAI
- ./vencore_app #send the sourceL2Id, groupL2Id to OAI
- ping -I oip0 224.0.0.
1
- ping -I oip0 224.0.0.
3
UE2(receiver)
UE2(receiver)
- sudo ./lte-softmodem-stub -U --emul-iface eno1
- 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
#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(
...
@@ -1375,6 +1375,8 @@ rrc_mac_config_req_ue(
//for D2D
//for D2D
#if defined(Rel10) || defined(Rel14)
#if defined(Rel10) || defined(Rel14)
int
j
=
0
;
int
k
=
0
;
switch
(
config_action
)
{
switch
(
config_action
)
{
case
CONFIG_ACTION_ADD
:
case
CONFIG_ACTION_ADD
:
if
(
sourceL2Id
){
if
(
sourceL2Id
){
...
@@ -1383,24 +1385,32 @@ rrc_mac_config_req_ue(
...
@@ -1383,24 +1385,32 @@ rrc_mac_config_req_ue(
}
}
if
(
destinationL2Id
)
{
if
(
destinationL2Id
)
{
LOG_I
(
MAC
,
"[UE %d] Configure destination L2Id 0x%08x
\n
"
,
Mod_idP
,
*
destinationL2Id
);
LOG_I
(
MAC
,
"[UE %d] Configure destination L2Id 0x%08x
\n
"
,
Mod_idP
,
*
destinationL2Id
);
int
j
=
0
;
for
(
k
=
0
;
k
<
MAX_NUM_DEST
;
k
++
)
{
int
i
=
0
;
if
((
UE_mac_inst
[
Mod_idP
].
destinationList
[
k
]
==
0
)
&&
(
j
==
0
))
j
=
k
+
1
;
for
(
i
=
0
;
i
<
MAX_NUM_DEST
;
i
++
)
{
if
(
UE_mac_inst
[
Mod_idP
].
destinationList
[
k
]
==
*
destinationL2Id
)
break
;
//destination already exists!
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!
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
//store list of LCIDs for SL
if
(
logicalChannelIdentity
>
0
){
if
(
logicalChannelIdentity
>
0
){
int
j
=
0
;
j
=
0
;
int
i
=
0
;
for
(
k
=
0
;
k
<
MAX_NUM_LCID
;
k
++
)
{
for
(
i
=
0
;
i
<
MAX_NUM_LCID
;
i
++
)
{
if
((
UE_mac_inst
[
Mod_idP
].
SL_LCID
[
k
]
==
0
)
&&
(
j
==
0
))
j
=
k
+
1
;
if
((
UE_mac_inst
[
Mod_idP
].
SL_LCID
[
i
]
==
0
)
&&
(
j
==
0
))
j
=
i
+
1
;
if
(
UE_mac_inst
[
Mod_idP
].
SL_LCID
[
k
]
==
logicalChannelIdentity
)
break
;
//LCID already exists!
if
(
UE_mac_inst
[
Mod_idP
].
SL_LCID
[
i
]
==
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
;
break
;
case
CONFIG_ACTION_REMOVE
:
case
CONFIG_ACTION_REMOVE
:
...
...
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
View file @
314bf57f
...
@@ -419,7 +419,7 @@ struct pdcp_netlink_element_s {
...
@@ -419,7 +419,7 @@ struct pdcp_netlink_element_s {
//TTN for D2D (PC5S)
//TTN for D2D (PC5S)
#ifdef Rel14
#ifdef Rel14
#define PDCP_SOCKET_PORT_NO 9999 //temporary value
#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
;
int
pdcp_pc5_sockfd
;
struct
sockaddr_in
prose_ctrl_addr
;
struct
sockaddr_in
prose_ctrl_addr
;
struct
sockaddr_in
prose_pdcp_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(
...
@@ -411,7 +411,7 @@ mac_rlc_status_resp_t mac_rlc_status_ind(
rlc_mode
=
rlc_union_p
->
mode
;
rlc_mode
=
rlc_union_p
->
mode
;
}
else
{
}
else
{
rlc_mode
=
RLC_MODE_NONE
;
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);
//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)
...
@@ -6129,7 +6129,7 @@ void *rrc_control_socket_thread_fct(void *arg)
#endif
#endif
(
MeasObjectToAddMod_t
**
)
NULL
,
(
MeasObjectToAddMod_t
**
)
NULL
,
(
MAC_MainConfig_t
*
)
NULL
,
(
MAC_MainConfig_t
*
)
NULL
,
0
,
10
,
//LCID
(
struct
LogicalChannelConfig
*
)
NULL
,
(
struct
LogicalChannelConfig
*
)
NULL
,
(
MeasGapConfig_t
*
)
NULL
,
(
MeasGapConfig_t
*
)
NULL
,
(
TDD_Config_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