d2d_emulator_setup.txt 2.78 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)

Tien-Thinh Nguyen's avatar
Tien-Thinh Nguyen committed
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 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Prepare the environment:
 - git clone https://gitlab.eurecom.fr/matzakos/LTE-D2D.git
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 49 50 51
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
52 53 54 55 56 57 58 59 60

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