This commit fixes a bug that makes the dataplane traffic of all the emulated UEs to go through the interface of the first UE (oaitun_ue1). The fix uses the last octet of the IP assigned to each UE to map it to its UE_id, which is then used to get its RNTI and the correct PDCP queue. For the emulator to work properly, the routing tables of the emulated UEs must also be set. This patch introduces a script (setup_routes.sh) in cmake_targets/tools that configures the routing tables. This script must be run at the UE host machine once the UEs have successfully attached, passing the number of emulated UEs as the argument. For example, in the case of 16 emulated UEs, one must run "./setup_routes.sh 16".
14 lines
481 B
Bash
Executable File
14 lines
481 B
Bash
Executable File
#!/bin/bash
|
|
|
|
for i in $(seq 1 $1);
|
|
do
|
|
let table=1000+$i
|
|
echo "sudo ip route add 10.0.1.0/24 dev oaitun_ue$i table $table"
|
|
sudo ip route add 10.0.1.0/24 dev oaitun_ue$i table $table
|
|
echo "sudo ip route add default via 10.0.1.1 dev oaitun_ue$i table $table"
|
|
sudo ip route add default via 10.0.1.1 dev oaitun_ue$i table $table
|
|
let octet=$i+1
|
|
echo "sudo ip rule add from 10.0.1.$octet table $table"
|
|
sudo ip rule add from 10.0.1.$octet table $table
|
|
done
|