Commit 314bf57f authored by Tien-Thinh Nguyen's avatar Tien-Thinh Nguyen

minor update

parent 84177053
...@@ -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
......
...@@ -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:
......
...@@ -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;
......
...@@ -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);
} }
......
...@@ -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,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment