d2d_emulator_setup.txt 2.98 KB
Newer Older
1 2 3 4 5
Scenario 1 : Off-network UE2UE link
SynchREF UE (UE1)

UE1(eth0 - 10.10.10.1)--------UE2(eth0 - 10.10.10.2)

6 7 8 9 10 11 12
Here's an example of /etc/network/interfaces configuration for UE1
auto eth0
   iface eth0 inet static
   address 10.10.10.1
   netmask 255.255.255.0
   gateway 10.10.10.1

13
Prepare the environment:
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
14
 - git clone https://gitlab.eurecom.fr/matzakos/LTE-D2D.git  #branch: master
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
This branch contains all the current development for DDPS
 - UE MAC<-> UE MAC for Scenario 1
 - eNB MAC<->UE MAC (NFAPI Transport)
 - RRC Extensions for “on-network” cases
 
NFAPI configuration (required even for Scenario 1 target)
 - git clone https://github.com/cisco/open-nFAPI.git
 - cd open-nfapi
 - patch -p1 --dry-run < $OPENAIR_HOME/open-nfapi.oai.patch
Validate that there are no errors
 - patch -p1 < $OPENAIR_HOME/open-nfapi.oai.patch
 
OAI build/execute
 - export NFAPI_DIR=XXX (place where NFAPI was installed)
 - cd cmake_targets
 - ./build_oai --UE
31
 (if necessary, use ./build_oai -I --UE to install required packages)
32 33 34 35
 - cd lte_build_oai/build/
 - cp ../../../targets/bin/.ue* .
 - cp ../../../targets/bin/.usim* .
 - sudo insmod ../../../targets/bin/ue_ip.ko
36 37

UE1: 
38 39 40 41 42 43 44
 - 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
 - (if necessary) sudo route add default gw 10.10.10.1 eth0
UE2:
 - sudo ifconfig oip1 10.0.0.2
 - sudo iptables -A POSTROUTING  -t mangle -o oip1 -d 224.0.0.1 -j MARK --set-mark 3
 - (if necessary) sudo route add default gw 10.10.10.1 eth0
45

Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
46 47 48
UE1 and UE2: Get and build vencore_app from d2d-l3-stub (branch: l3_stub)
 - gcc -I . vencore_app.c -o vencore_app -lpthread
--------------------------------
49 50 51 52
TEST ONE-TO-MANY
Run UE1 then UE2, for example:
UE1: sudo ./lte-softmodem-stub -U --emul_iface eth0
UE2: sudo ./lte-softmodem-stub -U --emul_iface eno1
53 54 55 56 57 58 59 60 61

Test with Ping
- Sender - UE1: ping -I oip0 224.0.0.1
- 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 

Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
62 63
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)  
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
64 65 66


 
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
67 68
UE1 (sender)
 - sudo ./lte-softmodem-stub -U --emul_iface eth0
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
69
 - ./vencore_app  #send the sourceL2Id, groupL2Id to OAI
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
70 71 72 73
 - ping -I oip0 224.0.0.1
 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
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
74
  - ./vencore_app  #we can see the packets appearing in Wireshark
75
 
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
76 77
 --------------------------------------
TEST PC5-S (UE1 -sender, UE2 - receiver)
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
78 79 80 81
step 1:
- UE1: sudo ./lte-softmodem-stub -U --emul_iface eth0
step 2:
- UE2: sudo ./lte-softmodem-stub -U --emul_iface eno1
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
82
- UE2: ./vencore_app -r #listen to incomming message from PC5-S 
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
83
step 3: 
Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
84
- UE1: ./vencore_app -s #send a message via PC5-S (e.g., DirectCommunicationRequest)
85 86 87