Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lizhongxiao
OpenXG UE
Commits
88d46cf4
Commit
88d46cf4
authored
Apr 10, 2019
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CI: adding iperf tests to L2-nFAPI sim
Signed-off-by:
Raphael Defosseux
<
raphael.defosseux@eurecom.fr
>
parent
cf5a0186
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
157 additions
and
8 deletions
+157
-8
ci-scripts/runTestOnVM.sh
ci-scripts/runTestOnVM.sh
+157
-8
No files found.
ci-scripts/runTestOnVM.sh
View file @
88d46cf4
...
...
@@ -154,7 +154,7 @@ function ping_ue_ip_addr {
echo
"echo
\"
ping -c 20
$3
\"
"
>>
$1
if
[
$LOC_FG_OR_BG
-eq
0
]
then
echo
"ping -c 20
$UE_IP_ADDR
>>
$4
"
>>
$1
echo
"ping -c 20
$UE_IP_ADDR
>>
$4
2>&1
"
>>
$1
echo
"tail -3
$4
"
>>
$1
else
echo
"nohup ping -c 20
$UE_IP_ADDR
>>
$4
&"
>>
$1
...
...
@@ -170,7 +170,7 @@ function ping_epc_ip_addr {
echo
"echo
\"
ping -I oaitun_ue
${
LOC_IF_ID
}
-c 20
$3
\"
"
>>
$1
if
[
$LOC_FG_OR_BG
-eq
0
]
then
echo
"ping -I oaitun_ue
${
LOC_IF_ID
}
-c 20
$3
>>
$4
"
>>
$1
echo
"ping -I oaitun_ue
${
LOC_IF_ID
}
-c 20
$3
>>
$4
2>&1
"
>>
$1
echo
"tail -3
$4
"
>>
$1
else
echo
"nohup ping -I oaitun_ue
${
LOC_IF_ID
}
-c 20
$3
>>
$4
&"
>>
$1
...
...
@@ -185,7 +185,7 @@ function ping_enb_ip_addr {
echo
"echo
\"
ping -I oaitun_enb1 -c 20
$3
\"
"
>>
$1
if
[
$LOC_FG_OR_BG
-eq
0
]
then
echo
"ping -I oaitun_enb1 -c 20
$3
>>
$4
"
>>
$1
echo
"ping -I oaitun_enb1 -c 20
$3
>>
$4
2>&1
"
>>
$1
echo
"tail -3
$4
"
>>
$1
else
echo
"nohup ping -I oaitun_enb1 -c 20
$3
>>
$4
&"
>>
$1
...
...
@@ -238,7 +238,8 @@ function iperf_dl {
echo
"echo
\"
iperf -c
$UE_IP_ADDR
-u -t 30 -b
${
REQ_BANDWIDTH
}
M -i 1
\"
"
>
$3
echo
"echo
\"
COMMAND IS: iperf -c
$UE_IP_ADDR
-u -t 30 -b
${
REQ_BANDWIDTH
}
M -i 1
\"
>
${
BASE_LOG_FILE
}
_client.txt"
>
$3
echo
"iperf -c
$UE_IP_ADDR
-u -t 30 -b
${
REQ_BANDWIDTH
}
M -i 1 | tee -a
${
BASE_LOG_FILE
}
_client.txt"
>>
$3
echo
"iperf -c
$UE_IP_ADDR
-u -t 30 -b
${
REQ_BANDWIDTH
}
M -i 1 >>
${
BASE_LOG_FILE
}
_client.txt"
>>
$3
echo
"tail -3
${
BASE_LOG_FILE
}
_client.txt | grep -v grams"
>>
$3
ssh
-T
-o
StrictHostKeyChecking
=
no ubuntu@
$4
<
$3
rm
-f
$3
...
...
@@ -258,7 +259,8 @@ function iperf_ul {
echo
"echo
\"
iperf -c
$REAL_EPC_IP_ADDR
-u -t 30 -b
${
REQ_BANDWIDTH
}
M -i 1
\"
"
>
$1
echo
"echo
\"
COMMAND IS: iperf -c
$REAL_EPC_IP_ADDR
-u -t 30 -b
${
REQ_BANDWIDTH
}
M -i 1
\"
> /home/ubuntu/tmp/cmake_targets/log/
${
BASE_LOG_FILE
}
_client.txt"
>
$1
echo
"iperf -c
$REAL_EPC_IP_ADDR
-u -t 30 -b
${
REQ_BANDWIDTH
}
M -i 1 | tee -a /home/ubuntu/tmp/cmake_targets/log/
${
BASE_LOG_FILE
}
_client.txt"
>>
$1
echo
"iperf -c
$REAL_EPC_IP_ADDR
-u -t 30 -b
${
REQ_BANDWIDTH
}
M -i 1 >> /home/ubuntu/tmp/cmake_targets/log/
${
BASE_LOG_FILE
}
_client.txt"
>>
$1
echo
"tail -3 /home/ubuntu/tmp/cmake_targets/log/
${
BASE_LOG_FILE
}
_client.txt | grep -v grams"
>>
$1
ssh
-T
-o
StrictHostKeyChecking
=
no ubuntu@
$2
<
$1
rm
-f
$1
...
...
@@ -267,6 +269,54 @@ function iperf_ul {
rm
$3
}
# In DL: iperf server should be on UE side
# -B oaitun_ue{j}-IP-Addr
# iperf client should be on EPC (S1) or eNB (noS1) side
# -c oaitun_ue{j}-IP-Addr -B oaitun_enb1-IP-Addr (in noS1)
# In UL: iperf server should be on EPC (S1) or eNB (noS1) side
# -B oaitun_enb1-IP-Addr
# iperf client should be on UE side
# -c oaitun_enb1-IP-Addr -B oaitun_ue{j}-IP-Addr (in noS1)
function
generic_iperf
{
local
LOC_ISERVER_CMD
=
$1
local
LOC_ISERVER_IP
=
$2
local
LOC_ISERVER_BOND_IP
=
$3
local
LOC_ICLIENT_CMD
=
$4
local
LOC_ICLIENT_IP
=
$5
local
LOC_ICLIENT_BOND_IP
=
$6
local
LOC_REQ_BANDWIDTH
=
$7
local
LOC_BASE_LOG_FILE
=
$8
local
LOC_PORT_ID
=
$[$9
+5001]
local
LOC_FG_OR_BG
=
${
10
}
# Starting Iperf Server
echo
"iperf -B
${
LOC_ISERVER_BOND_IP
}
-u -s -i 1 -fm -p
${
LOC_PORT_ID
}
"
echo
"nohup iperf -B
${
LOC_ISERVER_BOND_IP
}
-u -s -i 1 -fm -p
${
LOC_PORT_ID
}
>
${
LOC_BASE_LOG_FILE
}
_server.txt 2>&1 &"
>
${
LOC_ISERVER_CMD
}
ssh
-T
-o
StrictHostKeyChecking
=
no ubuntu@
${
LOC_ISERVER_IP
}
<
${
LOC_ISERVER_CMD
}
rm
${
LOC_ISERVER_CMD
}
# Starting Iperf Client
echo
"iperf -c
${
LOC_ISERVER_BOND_IP
}
-u -t 30 -b
${
LOC_REQ_BANDWIDTH
}
M -i 1 -fm -B
${
LOC_ICLIENT_BOND_IP
}
-p
${
LOC_PORT_ID
}
"
echo
"echo
\"
COMMAND IS: iperf -c
${
LOC_ISERVER_BOND_IP
}
-u -t 30 -b
${
LOC_REQ_BANDWIDTH
}
M -i 1 -fm -B
${
LOC_ICLIENT_BOND_IP
}
-p
${
LOC_PORT_ID
}
\"
>
${
LOC_BASE_LOG_FILE
}
_client.txt"
>
${
LOC_ICLIENT_CMD
}
if
[
$LOC_FG_OR_BG
-eq
0
]
then
echo
"iperf -c
${
LOC_ISERVER_BOND_IP
}
-u -t 30 -b
${
LOC_REQ_BANDWIDTH
}
M -i 1 -fm -B
${
LOC_ICLIENT_BOND_IP
}
-p
${
LOC_PORT_ID
}
>>
${
LOC_BASE_LOG_FILE
}
_client.txt 2>&1"
>>
${
LOC_ICLIENT_CMD
}
echo
"tail -3
${
LOC_BASE_LOG_FILE
}
_client.txt | grep -v datagram"
>>
${
LOC_ICLIENT_CMD
}
else
echo
"nohup iperf -c
${
LOC_ISERVER_BOND_IP
}
-u -t 30 -b
${
LOC_REQ_BANDWIDTH
}
M -i 1 -fm -B
${
LOC_ICLIENT_BOND_IP
}
-p
${
LOC_PORT_ID
}
>>
${
LOC_BASE_LOG_FILE
}
_client.txt 2>&1 &"
>>
${
LOC_ICLIENT_CMD
}
fi
ssh
-T
-o
StrictHostKeyChecking
=
no ubuntu@
${
LOC_ICLIENT_IP
}
<
${
LOC_ICLIENT_CMD
}
rm
-f
${
LOC_ICLIENT_CMD
}
# Stopping Iperf Server
if
[
$LOC_FG_OR_BG
-eq
0
]
then
echo
"killall --signal SIGKILL iperf"
echo
"killall --signal SIGKILL iperf"
>
${
LOC_ISERVER_CMD
}
ssh
-T
-o
StrictHostKeyChecking
=
no ubuntu@
${
LOC_ISERVER_IP
}
<
${
LOC_ISERVER_CMD
}
rm
${
LOC_ISERVER_CMD
}
fi
}
function
check_iperf
{
local
LOC_BASE_LOG
=
$1
local
LOC_REQ_BW
=
$2
...
...
@@ -281,6 +331,7 @@ function check_iperf {
if
[
$FILE_COMPLETE
-eq
0
]
then
IPERF_STATUS
=
-1
echo
"File Report not found"
else
local
EFFECTIVE_BANDWIDTH
=
`
tail
-n3
${
LOC_BASE_LOG
}
_client.txt | egrep
"Mbits/sec"
|
sed
-e
"s#^.*MBytes *##"
-e
"s#sec.*#sec#"
`
if
[
$LOC_IS_DL
-eq
1
]
&&
[
$LOC_IS_BASIC_SIM
-eq
1
]
...
...
@@ -289,6 +340,7 @@ function check_iperf {
then
echo
"got requested DL bandwidth:
$EFFECTIVE_BANDWIDTH
"
else
echo
"got LESS than requested DL bandwidth:
$EFFECTIVE_BANDWIDTH
"
IPERF_STATUS
=
-1
fi
else
...
...
@@ -301,12 +353,14 @@ function check_iperf {
echo
"got requested UL bandwidth:
$EFFECTIVE_BANDWIDTH
"
fi
else
echo
"not basic-sim got LESS than requested DL bandwidth:
$EFFECTIVE_BANDWIDTH
"
IPERF_STATUS
=
-1
fi
fi
fi
else
IPERF_STATUS
=
-1
echo
"File not found"
fi
}
...
...
@@ -1585,7 +1639,7 @@ function run_test_on_vm {
get_ue_ip_addr
$UE_VM_CMDS
$UE_VM_IP_ADDR
1
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: Pinging the EPC from UE"
echo
"
${
CN_CONFIG
}
: Pinging the EPC from UE
(s)
"
echo
"############################################################"
PING_LOG_FILE
=
${
TMODE
}
_
${
BW
}
MHz_
${
UES
}
users_
${
CN_CONFIG
}
_ping_epc.log
ping_epc_ip_addr
$UE_VM_CMDS
$UE_VM_IP_ADDR
$REAL_EPC_IP_ADDR
$PING_LOG_FILE
1 0
...
...
@@ -1595,7 +1649,7 @@ function run_test_on_vm {
get_enb_noS1_ip_addr
$ENB_VM_CMDS
$ENB_VM_IP_ADDR
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: Pinging the eNB from UE"
echo
"
${
CN_CONFIG
}
: Pinging the eNB from UE
(s)
"
echo
"############################################################"
echo
" --- Sequentially ---"
local
j
=
"1"
...
...
@@ -1669,7 +1723,7 @@ function run_test_on_vm {
j
=
"1"
while
[
$j
-le
$INT_NB_UES
]
do
PING_LOG_FILE
=
${
TMODE
}
_
${
BW
}
MHz_
${
UES
}
users_
${
CN_CONFIG
}
_ping_ue
${
j
}
.log
PING_LOG_FILE
=
${
TMODE
}
_
${
BW
}
MHz_
${
UES
}
users_
${
CN_CONFIG
}
_ping_
from_enb_para_
ue
${
j
}
.log
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$ENB_VM_IP_ADDR
:/home/ubuntu/
$PING_LOG_FILE
$ARCHIVES_LOC
tail
-3
$ARCHIVES_LOC
/
$PING_LOG_FILE
check_ping_result
$ARCHIVES_LOC
/
$PING_LOG_FILE
20
...
...
@@ -1678,6 +1732,100 @@ function run_test_on_vm {
fi
fi
if
[
$S1_NOS1_CFG
-eq
0
]
then
get_enb_noS1_ip_addr
$ENB_VM_CMDS
$ENB_VM_IP_ADDR
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: iperf DL -- UE is server and eNB is client"
echo
"############################################################"
echo
" --- Sequentially ---"
local
j
=
"1"
while
[
$j
-le
$INT_NB_UES
]
do
IPERF_LOG_FILE
=
${
TMODE
}
_
${
BW
}
MHz_
${
UES
}
users_
${
CN_CONFIG
}
_iperf_dl_seq_ue
${
j
}
get_ue_ip_addr
$UE_VM_CMDS
$UE_VM_IP_ADDR
$j
THROUGHPUT
=
3
generic_iperf
$UE_VM_CMDS
$UE_VM_IP_ADDR
$UE_IP_ADDR
$ENB_VM_CMDS
$ENB_VM_IP_ADDR
$ENB_IP_ADDR
$THROUGHPUT
$IPERF_LOG_FILE
$j
0
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$UE_VM_IP_ADDR
:/home/ubuntu/
${
IPERF_LOG_FILE
}
_server.txt
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$ENB_VM_IP_ADDR
:/home/ubuntu/
${
IPERF_LOG_FILE
}
_client.txt
$ARCHIVES_LOC
check_iperf
$ARCHIVES_LOC
/
$IPERF_LOG_FILE
$THROUGHPUT
j
=
$[$j
+1]
done
if
[
$INT_NB_UES
-gt
1
]
then
echo
" --- In parallel ---"
j
=
"1"
while
[
$j
-le
$INT_NB_UES
]
do
IPERF_LOG_FILE
=
${
TMODE
}
_
${
BW
}
MHz_
${
UES
}
users_
${
CN_CONFIG
}
_iperf_dl_para_ue
${
j
}
THROUGHPUT
=
1
get_ue_ip_addr
$UE_VM_CMDS
$UE_VM_IP_ADDR
$j
generic_iperf
$UE_VM_CMDS
$UE_VM_IP_ADDR
$UE_IP_ADDR
$ENB_VM_CMDS
$ENB_VM_IP_ADDR
$ENB_IP_ADDR
$THROUGHPUT
$IPERF_LOG_FILE
$j
1
j
=
$[$j
+1]
done
sleep
35
echo
"killall --signal SIGKILL iperf"
echo
"killall --signal SIGKILL iperf"
>
$UE_VM_CMDS
ssh
-T
-o
StrictHostKeyChecking
=
no ubuntu@
$UE_VM_IP_ADDR
<
$UE_VM_CMDS
rm
$UE_VM_CMDS
j
=
"1"
while
[
$j
-le
$INT_NB_UES
]
do
IPERF_LOG_FILE
=
${
TMODE
}
_
${
BW
}
MHz_
${
UES
}
users_
${
CN_CONFIG
}
_iperf_dl_para_ue
${
j
}
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$UE_VM_IP_ADDR
:/home/ubuntu/
${
IPERF_LOG_FILE
}
_server.txt
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$ENB_VM_IP_ADDR
:/home/ubuntu/
${
IPERF_LOG_FILE
}
_client.txt
$ARCHIVES_LOC
tail
-3
$ARCHIVES_LOC
/
${
IPERF_LOG_FILE
}
_client.txt |
grep
-v
datagram
check_iperf
$ARCHIVES_LOC
/
$IPERF_LOG_FILE
$THROUGHPUT
j
=
$[$j
+1]
done
fi
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: iperf UL -- eNB is server and UE is client"
echo
"############################################################"
echo
" --- Sequentially ---"
local
j
=
"1"
while
[
$j
-le
$INT_NB_UES
]
do
IPERF_LOG_FILE
=
${
TMODE
}
_
${
BW
}
MHz_
${
UES
}
users_
${
CN_CONFIG
}
_iperf_ul_seq_ue
${
j
}
THROUGHPUT
=
2
get_ue_ip_addr
$UE_VM_CMDS
$UE_VM_IP_ADDR
$j
generic_iperf
$ENB_VM_CMDS
$ENB_VM_IP_ADDR
$ENB_IP_ADDR
$UE_VM_CMDS
$UE_VM_IP_ADDR
$UE_IP_ADDR
$THROUGHPUT
$IPERF_LOG_FILE
$j
0
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$ENB_VM_IP_ADDR
:/home/ubuntu/
${
IPERF_LOG_FILE
}
_server.txt
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$UE_VM_IP_ADDR
:/home/ubuntu/
${
IPERF_LOG_FILE
}
_client.txt
$ARCHIVES_LOC
check_iperf
$ARCHIVES_LOC
/
$IPERF_LOG_FILE
$THROUGHPUT
j
=
$[$j
+1]
done
if
[
$INT_NB_UES
-gt
1
]
then
echo
" --- In parallel ---"
j
=
"1"
while
[
$j
-le
$INT_NB_UES
]
do
IPERF_LOG_FILE
=
${
TMODE
}
_
${
BW
}
MHz_
${
UES
}
users_
${
CN_CONFIG
}
_iperf_ul_para_ue
${
j
}
THROUGHPUT
=
1
get_ue_ip_addr
$UE_VM_CMDS
$UE_VM_IP_ADDR
$j
generic_iperf
$ENB_VM_CMDS
$ENB_VM_IP_ADDR
$ENB_IP_ADDR
$UE_VM_CMDS
$UE_VM_IP_ADDR
$UE_IP_ADDR
$THROUGHPUT
$IPERF_LOG_FILE
$j
1
j
=
$[$j
+1]
done
sleep
35
echo
"killall --signal SIGKILL iperf"
echo
"killall --signal SIGKILL iperf"
>
$UE_VM_CMDS
ssh
-T
-o
StrictHostKeyChecking
=
no ubuntu@
$UE_VM_IP_ADDR
<
$UE_VM_CMDS
rm
$UE_VM_CMDS
j
=
"1"
while
[
$j
-le
$INT_NB_UES
]
do
IPERF_LOG_FILE
=
${
TMODE
}
_
${
BW
}
MHz_
${
UES
}
users_
${
CN_CONFIG
}
_iperf_ul_para_ue
${
j
}
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$ENB_VM_IP_ADDR
:/home/ubuntu/
${
IPERF_LOG_FILE
}
_server.txt
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$UE_VM_IP_ADDR
:/home/ubuntu/
${
IPERF_LOG_FILE
}
_client.txt
$ARCHIVES_LOC
tail
-3
$ARCHIVES_LOC
/
${
IPERF_LOG_FILE
}
_client.txt |
grep
-v
datagram
check_iperf
$ARCHIVES_LOC
/
$IPERF_LOG_FILE
$THROUGHPUT
j
=
$[$j
+1]
done
fi
fi
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: Terminate enb/ue simulators"
echo
"############################################################"
...
...
@@ -1698,6 +1846,7 @@ function run_test_on_vm {
echo
"############################################################"
if
[
$PING_STATUS
-ne
0
]
;
then
STATUS
=
-1
;
fi
if
[
$IPERF_STATUS
-ne
0
]
;
then
STATUS
=
-1
;
fi
if
[
$STATUS
-eq
0
]
then
echo
"TEST_OK"
>
$ARCHIVES_LOC
/test_final_status.log
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment