mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-19 23:50:30 +00:00
minor update
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user