Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
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
zzha zzha
OpenXG-RAN
Commits
8ea5d720
Commit
8ea5d720
authored
Nov 22, 2022
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Deactive legacy 4G RFsim pipeline
parent
0feaf87c
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
6 additions
and
1122 deletions
+6
-1122
ci-scripts/buildOnVM.sh
ci-scripts/buildOnVM.sh
+1
-1
ci-scripts/conf_files/lte-fdd-basic-sim.conf
ci-scripts/conf_files/lte-fdd-basic-sim.conf
+0
-266
ci-scripts/conf_files/lte-fdd-fembms-basic-sim.conf
ci-scripts/conf_files/lte-fdd-fembms-basic-sim.conf
+0
-422
ci-scripts/conf_files/lte-fdd-mbms-basic-sim.conf
ci-scripts/conf_files/lte-fdd-mbms-basic-sim.conf
+0
-422
ci-scripts/createVM.sh
ci-scripts/createVM.sh
+1
-1
ci-scripts/runTestOnVM.sh
ci-scripts/runTestOnVM.sh
+2
-8
ci-scripts/waitBuildOnVM.sh
ci-scripts/waitBuildOnVM.sh
+2
-2
No files found.
ci-scripts/buildOnVM.sh
View file @
8ea5d720
...
...
@@ -62,7 +62,7 @@ function build_on_vm {
echo
"ARCHIVES_LOC =
$ARCHIVES_LOC
"
echo
"BUILD_OPTIONS =
$BUILD_OPTIONS
"
if
[[
"
$VM_NAME
"
==
*
"-enb-usrp"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-cppcheck"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-phy-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-basic-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-flexran-rtc"
*
]]
if
[[
"
$VM_NAME
"
==
*
"-enb-usrp"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-cppcheck"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-phy-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-basic-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-flexran-rtc"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-rf-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-ethernet"
*
]]
then
echo
"This VM type is no longer supported in the pipeline framework"
return
...
...
ci-scripts/conf_files/lte-fdd-basic-sim.conf
deleted
100644 → 0
View file @
0feaf87c
Active_eNBs
= (
"eNB-Eurecom-LTEBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
eNBs
=
(
{
//////////
Identification
parameters
:
eNB_ID
=
0
xe00
;
cell_type
=
"CELL_MACRO_ENB"
;
eNB_name
=
"eNB-Eurecom-LTEBox"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ( {
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
; } );
tr_s_preference
=
"local_mac"
//////////
Physical
parameters
:
component_carriers
= (
{
node_function
=
"3GPP_eNODEB"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
7
;
downlink_frequency
=
2680000000
L
;
uplink_frequency_offset
= -
120000000
;
Nid_cell
=
0
;
N_RB_DL
=
25
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
pbch_repetition
=
"FALSE"
;
prach_root
=
0
;
prach_config_index
=
0
;
prach_high_speed
=
"DISABLE"
;
prach_zero_correlation
=
1
;
prach_freq_offset
=
2
;
pucch_delta_shift
=
1
;
pucch_nRB_CQI
=
0
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
0
;
pdsch_referenceSignalPower
= -
27
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
pusch_hoppingMode
=
"interSubFrame"
;
pusch_hoppingOffset
=
0
;
pusch_groupHoppingEnabled
=
"ENABLE"
;
pusch_groupAssignment
=
0
;
pusch_sequenceHoppingEnabled
=
"DISABLE"
;
pusch_nDMRS1
=
1
;
phich_duration
=
"NORMAL"
;
phich_resource
=
"ONESIXTH"
;
srs_enable
=
"DISABLE"
;
/*
srs_BandwidthConfig
=;
srs_SubframeConfig
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
96
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
104
;
msg3_delta_Preamble
=
6
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
pucch_deltaF_Format2
=
"deltaF0"
;
pucch_deltaF_Format2a
=
"deltaF0"
;
pucch_deltaF_Format2b
=
"deltaF0"
;
rach_numberOfRA_Preambles
=
64
;
rach_preamblesGroupAConfig
=
"DISABLE"
;
/*
rach_sizeOfRA_PreamblesGroupA
= ;
rach_messageSizeGroupA
= ;
rach_messagePowerOffsetGroupB
= ;
*/
rach_powerRampingStep
=
4
;
rach_preambleInitialReceivedTargetPower
= -
108
;
rach_preambleTransMax
=
10
;
rach_raResponseWindowSize
=
10
;
rach_macContentionResolutionTimer
=
48
;
rach_maxHARQ_Msg3Tx
=
4
;
pcch_default_PagingCycle
=
128
;
pcch_nB
=
"oneT"
;
bcch_modificationPeriodCoeff
=
2
;
ue_TimersAndConstants_t300
=
1000
;
ue_TimersAndConstants_t301
=
1000
;
ue_TimersAndConstants_t310
=
1000
;
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
//
Parameters
for
SIB18
rxPool_sc_CP_Len
=
"normal"
;
rxPool_sc_Period
=
"sf40"
;
rxPool_data_CP_Len
=
"normal"
;
rxPool_ResourceConfig_prb_Num
=
20
;
rxPool_ResourceConfig_prb_Start
=
5
;
rxPool_ResourceConfig_prb_End
=
44
;
rxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
rxPool_ResourceConfig_offsetIndicator_choice
=
0
;
rxPool_ResourceConfig_subframeBitmap_present
=
"prBs40"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"00000000000000000000"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
5
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
/*
rxPool_dataHoppingConfig_hoppingParameter
=
0
;
rxPool_dataHoppingConfig_numSubbands
=
"ns1"
;
rxPool_dataHoppingConfig_rbOffset
=
0
;
rxPool_commTxResourceUC
-
ReqAllowed
=
"TRUE"
;
*/
//
Parameters
for
SIB19
discRxPool_cp_Len
=
"normal"
discRxPool_discPeriod
=
"rf32"
discRxPool_numRetx
=
1
;
discRxPool_numRepetition
=
2
;
discRxPool_ResourceConfig_prb_Num
=
5
;
discRxPool_ResourceConfig_prb_Start
=
3
;
discRxPool_ResourceConfig_prb_End
=
21
;
discRxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
discRxPool_ResourceConfig_offsetIndicator_choice
=
0
;
discRxPool_ResourceConfig_subframeBitmap_present
=
"prBs40"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"f0ffffffff"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
5
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
}
);
srb1_parameters
:
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit
=
80
;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering
=
35
;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit
=
0
;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu
=
4
;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte
=
99999
;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold
=
4
;
}
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"CI_MME_IP_ADDR"
;
ipv6
=
"192:168:30::17"
;
port
=
36412
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
enable_measurement_reports
=
"no"
;
///
X2
enable_x2
=
"no"
;
t_reloc_prep
=
1000
; /*
unit
:
millisecond
*/
tx2_reloc_overall
=
2000
; /*
unit
:
millisecond
*/
t_dc_prep
=
1000
; /*
unit
:
millisecond
*/
t_dc_overall
=
2000
; /*
unit
:
millisecond
*/
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"CI_ENB_IP_ADDR"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"CI_ENB_IP_ADDR"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C
=
"CI_ENB_IP_ADDR"
;
ENB_PORT_FOR_X2C
=
36422
;
# Spec 36422
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
phy_test_mode
=
0
;
puSch10xSnr
=
200
;
puCch10xSnr
=
200
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
0
att_rx
=
0
;
bands
= [
7
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
125
;
eNB_instances
= [
0
];
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_SINGLE_THREAD"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
NETWORK_CONTROLLER
:
{
FLEXRAN_ENABLED
=
"no"
;
FLEXRAN_INTERFACE_NAME
=
"ens3"
;
FLEXRAN_IPV4_ADDRESS
=
"CI_FLEXRAN_CTL_IP_ADDR"
;
FLEXRAN_PORT
=
2210
;
FLEXRAN_CACHE
=
"/mnt/oai_agent_cache"
;
FLEXRAN_AWAIT_RECONF
=
"no"
;
};
log_config
:
{
global_log_level
=
"info"
;
hw_log_level
=
"info"
;
phy_log_level
=
"info"
;
mac_log_level
=
"info"
;
rlc_log_level
=
"info"
;
pdcp_log_level
=
"info"
;
rrc_log_level
=
"info"
;
};
ci-scripts/conf_files/lte-fdd-fembms-basic-sim.conf
deleted
100644 → 0
View file @
0feaf87c
Active_eNBs
= (
"eNB-Eurecom-LTEBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
eNBs
=
(
{
//////////
Identification
parameters
:
eNB_ID
=
0
xe00
;
cell_type
=
"CELL_MACRO_ENB"
;
eNB_name
=
"eNB-Eurecom-LTEBox"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ( {
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
; } );
tr_s_preference
=
"local_mac"
//////////
Physical
parameters
:
component_carriers
= (
{
node_function
=
"3GPP_eNODEB"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
7
;
downlink_frequency
=
2680000000
L
;
uplink_frequency_offset
= -
120000000
;
Nid_cell
=
0
;
N_RB_DL
=
25
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
pbch_repetition
=
"FALSE"
;
prach_root
=
0
;
prach_config_index
=
0
;
prach_high_speed
=
"DISABLE"
;
prach_zero_correlation
=
1
;
prach_freq_offset
=
2
;
pucch_delta_shift
=
1
;
pucch_nRB_CQI
=
0
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
0
;
pdsch_referenceSignalPower
= -
27
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
pusch_hoppingMode
=
"interSubFrame"
;
pusch_hoppingOffset
=
0
;
pusch_groupHoppingEnabled
=
"ENABLE"
;
pusch_groupAssignment
=
0
;
pusch_sequenceHoppingEnabled
=
"DISABLE"
;
pusch_nDMRS1
=
1
;
phich_duration
=
"NORMAL"
;
phich_resource
=
"ONESIXTH"
;
srs_enable
=
"DISABLE"
;
/*
srs_BandwidthConfig
=;
srs_SubframeConfig
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
96
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
104
;
msg3_delta_Preamble
=
6
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
pucch_deltaF_Format2
=
"deltaF0"
;
pucch_deltaF_Format2a
=
"deltaF0"
;
pucch_deltaF_Format2b
=
"deltaF0"
;
rach_numberOfRA_Preambles
=
64
;
rach_preamblesGroupAConfig
=
"DISABLE"
;
/*
rach_sizeOfRA_PreamblesGroupA
= ;
rach_messageSizeGroupA
= ;
rach_messagePowerOffsetGroupB
= ;
*/
rach_powerRampingStep
=
4
;
rach_preambleInitialReceivedTargetPower
= -
108
;
rach_preambleTransMax
=
10
;
rach_raResponseWindowSize
=
10
;
rach_macContentionResolutionTimer
=
48
;
rach_maxHARQ_Msg3Tx
=
4
;
pcch_default_PagingCycle
=
128
;
pcch_nB
=
"oneT"
;
bcch_modificationPeriodCoeff
=
2
;
ue_TimersAndConstants_t300
=
1000
;
ue_TimersAndConstants_t301
=
1000
;
ue_TimersAndConstants_t310
=
1000
;
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
mbms_dedicated_serving_cell
=
"ENABLE"
//
Parameters
for
SIB18
rxPool_sc_CP_Len
=
"normal"
;
rxPool_sc_Period
=
"sf40"
;
rxPool_data_CP_Len
=
"normal"
;
rxPool_ResourceConfig_prb_Num
=
20
;
rxPool_ResourceConfig_prb_Start
=
5
;
rxPool_ResourceConfig_prb_End
=
44
;
rxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
rxPool_ResourceConfig_offsetIndicator_choice
=
0
;
rxPool_ResourceConfig_subframeBitmap_present
=
"prBs40"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"00000000000000000000"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
5
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
/*
rxPool_dataHoppingConfig_hoppingParameter
=
0
;
rxPool_dataHoppingConfig_numSubbands
=
"ns1"
;
rxPool_dataHoppingConfig_rbOffset
=
0
;
rxPool_commTxResourceUC
-
ReqAllowed
=
"TRUE"
;
*/
//
Parameters
for
SIB19
discRxPool_cp_Len
=
"normal"
discRxPool_discPeriod
=
"rf32"
discRxPool_numRetx
=
1
;
discRxPool_numRepetition
=
2
;
discRxPool_ResourceConfig_prb_Num
=
5
;
discRxPool_ResourceConfig_prb_Start
=
3
;
discRxPool_ResourceConfig_prb_End
=
21
;
discRxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
discRxPool_ResourceConfig_offsetIndicator_choice
=
0
;
discRxPool_ResourceConfig_subframeBitmap_present
=
"prBs40"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"f0ffffffff"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
5
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
}
);
srb1_parameters
:
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit
=
80
;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering
=
35
;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit
=
0
;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu
=
4
;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte
=
99999
;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold
=
4
;
}
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"CI_MME_IP_ADDR"
;
ipv6
=
"192:168:30::17"
;
port
=
36412
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
enable_measurement_reports
=
"no"
;
///
X2
enable_x2
=
"no"
;
t_reloc_prep
=
1000
; /*
unit
:
millisecond
*/
tx2_reloc_overall
=
2000
; /*
unit
:
millisecond
*/
t_dc_prep
=
1000
; /*
unit
:
millisecond
*/
t_dc_overall
=
2000
; /*
unit
:
millisecond
*/
//////////
MCE
parameters
:
target_mce_m2_ip_address
= ( {
ipv4
=
"127.0.0.7"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
///
M2
enable_enb_m2
=
"yes"
;
mbms_configuration_data_list
= (
{
mbsfn_sync_area
=
0
x0001
;
mbms_service_area_list
=(
{
mbms_service_area
=
0
x0001
;
}
);
}
);
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"CI_ENB_IP_ADDR"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"CI_ENB_IP_ADDR"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C
=
"CI_ENB_IP_ADDR"
;
ENB_PORT_FOR_X2C
=
36422
;
# Spec 36422
ENB_IPV4_ADDRESS_FOR_M2C
=
"127.0.0.2/24"
;
ENB_PORT_FOR_M2C
=
36443
;
# Spec 36443
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
phy_test_mode
=
0
;
puSch10xSnr
=
200
;
puCch10xSnr
=
200
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
}
);
MCEs
= (
{
MCE_ID
=
0
xe00
;
MCE_name
=
"MCE-Vicomtech-LTEBox"
;
//
M2
enable_mce_m2
=
"yes"
;
//
M3
enable_mce_m3
=
"yes"
;
target_mme_m3_ip_address
= ( {
ipv4
=
"127.0.0.18"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
MCE_INTERFACE_NAME_FOR_M2_ENB
=
"lo"
;
MCE_IPV4_ADDRESS_FOR_M2C
=
"127.0.0.7/24"
;
MCE_PORT_FOR_M2C
=
36443
;
# Spec 36443
MCE_INTERFACE_NAME_FOR_M3_MME
=
"lo"
;
MCE_IPV4_ADDRESS_FOR_M3C
=
"127.0.0.3/24"
;
MCE_PORT_FOR_M3C
=
36444
;
# Spec 36444
};
plnm
:
{
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
;
};
mbms_sched_info
:
{
mcch_update_time
=
10
;
mbms_area_config_list
= (
{
common_sf_allocation_period
=
1
;
#rf4(0) rf8(1) rf16(2) rf32(3) rf64(4) rf128(5) rf256(6)
mbms_area_id
=
0
;
pmch_config_list
= (
{
allocated_sf_end
=
512
;
data_mcs
=
15
;
mch_scheduling_period
=
0
;
#rf8(0) rf16(1) rf32(2) rf64(3) rf128(4) rf256(5) rf512(6) rf1024(7)
mbms_session_list
= (
{
#plnm + service_id ->tmgi
plnm
:
{
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
;
}
service_id
=
0
;
#keep this allways as 0 (workaround for TUN if)
lcid
=
5
;
#this must be properly defined lcid:6+service:0 -> rab_id:5 //with new RLC set lcid either 4 or 5
}
);
}
);
mbms_sf_config_list
= (
{
radioframe_allocation_period
=
0
;
#n1(0) n2(1) n4(2) n8(3) n16(4) n32(5)
radioframe_alloocation_offset
=
0
;
num_frame
=
"oneFrame"
;
subframe_allocation
=
57
;
#xx111001
//
num_frame
=
"fourFrame"
;
//
subframe_allocation
=
14548987
;
#
}
);
}
);
};
mcch_config_per_mbsfn_area
= (
{
mbsfn_area
=
0
;
pdcch_length
=
1
;
#s1(0), s2(1)
repetition_period
=
0
;
#rf32(0), rf64(1), rf128(2), rf256(3)
offset
=
0
;
modification_period
=
0
;
#rf512(0; rf1024(1)
subframe_allocation_info
=
32
;
#BITSTRING (6bits -> one frame) xx100000
mcs
=
0
;
#n2(0), n7(1), n13(2), n19(3)
}
);
#); #end mbms_scheduling_info
}
);
MMEs
= (
{
MME_ID
=
0
xe00
;
MME_name
=
"MME-MBMS-Vicomtech-LTEBox"
;
//
M3
enable_mme_m3
=
"yes"
;
NETWORK_INTERFACES
:
{
MME_INTERFACE_NAME_FOR_M3_MCE
=
"lo"
;
MME_IPV4_ADDRESS_FOR_M3C
=
"127.0.0.18/24"
;
MME_PORT_FOR_M3C
=
36444
;
# Spec 36444
};
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
0
att_rx
=
0
;
bands
= [
7
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
125
;
eNB_instances
= [
0
];
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_SINGLE_THREAD"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
NETWORK_CONTROLLER
:
{
FLEXRAN_ENABLED
=
"no"
;
FLEXRAN_INTERFACE_NAME
=
"ens3"
;
FLEXRAN_IPV4_ADDRESS
=
"CI_FLEXRAN_CTL_IP_ADDR"
;
FLEXRAN_PORT
=
2210
;
FLEXRAN_CACHE
=
"/mnt/oai_agent_cache"
;
FLEXRAN_AWAIT_RECONF
=
"no"
;
};
log_config
:
{
global_log_level
=
"info"
;
hw_log_level
=
"info"
;
phy_log_level
=
"info"
;
mac_log_level
=
"info"
;
rlc_log_level
=
"info"
;
pdcp_log_level
=
"info"
;
rrc_log_level
=
"info"
;
};
//
rfsimulator
:
//{
//
options
= (
"chanmod"
);
//
modelname
=
"AWGN"
;
//};
ci-scripts/conf_files/lte-fdd-mbms-basic-sim.conf
deleted
100644 → 0
View file @
0feaf87c
Active_eNBs
= (
"eNB-Eurecom-LTEBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
eNBs
=
(
{
//////////
Identification
parameters
:
eNB_ID
=
0
xe00
;
cell_type
=
"CELL_MACRO_ENB"
;
eNB_name
=
"eNB-Eurecom-LTEBox"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ( {
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
; } );
tr_s_preference
=
"local_mac"
//////////
Physical
parameters
:
component_carriers
= (
{
node_function
=
"3GPP_eNODEB"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
7
;
downlink_frequency
=
2680000000
L
;
uplink_frequency_offset
= -
120000000
;
Nid_cell
=
0
;
N_RB_DL
=
25
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
pbch_repetition
=
"FALSE"
;
prach_root
=
0
;
prach_config_index
=
0
;
prach_high_speed
=
"DISABLE"
;
prach_zero_correlation
=
1
;
prach_freq_offset
=
2
;
pucch_delta_shift
=
1
;
pucch_nRB_CQI
=
0
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
0
;
pdsch_referenceSignalPower
= -
27
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
pusch_hoppingMode
=
"interSubFrame"
;
pusch_hoppingOffset
=
0
;
pusch_groupHoppingEnabled
=
"ENABLE"
;
pusch_groupAssignment
=
0
;
pusch_sequenceHoppingEnabled
=
"DISABLE"
;
pusch_nDMRS1
=
1
;
phich_duration
=
"NORMAL"
;
phich_resource
=
"ONESIXTH"
;
srs_enable
=
"DISABLE"
;
/*
srs_BandwidthConfig
=;
srs_SubframeConfig
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
96
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
104
;
msg3_delta_Preamble
=
6
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
pucch_deltaF_Format2
=
"deltaF0"
;
pucch_deltaF_Format2a
=
"deltaF0"
;
pucch_deltaF_Format2b
=
"deltaF0"
;
rach_numberOfRA_Preambles
=
64
;
rach_preamblesGroupAConfig
=
"DISABLE"
;
/*
rach_sizeOfRA_PreamblesGroupA
= ;
rach_messageSizeGroupA
= ;
rach_messagePowerOffsetGroupB
= ;
*/
rach_powerRampingStep
=
4
;
rach_preambleInitialReceivedTargetPower
= -
108
;
rach_preambleTransMax
=
10
;
rach_raResponseWindowSize
=
10
;
rach_macContentionResolutionTimer
=
48
;
rach_maxHARQ_Msg3Tx
=
4
;
pcch_default_PagingCycle
=
128
;
pcch_nB
=
"oneT"
;
bcch_modificationPeriodCoeff
=
2
;
ue_TimersAndConstants_t300
=
1000
;
ue_TimersAndConstants_t301
=
1000
;
ue_TimersAndConstants_t310
=
1000
;
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
mbms_dedicated_serving_cell
=
"DISABLE"
//
Parameters
for
SIB18
rxPool_sc_CP_Len
=
"normal"
;
rxPool_sc_Period
=
"sf40"
;
rxPool_data_CP_Len
=
"normal"
;
rxPool_ResourceConfig_prb_Num
=
20
;
rxPool_ResourceConfig_prb_Start
=
5
;
rxPool_ResourceConfig_prb_End
=
44
;
rxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
rxPool_ResourceConfig_offsetIndicator_choice
=
0
;
rxPool_ResourceConfig_subframeBitmap_present
=
"prBs40"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"00000000000000000000"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
5
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
/*
rxPool_dataHoppingConfig_hoppingParameter
=
0
;
rxPool_dataHoppingConfig_numSubbands
=
"ns1"
;
rxPool_dataHoppingConfig_rbOffset
=
0
;
rxPool_commTxResourceUC
-
ReqAllowed
=
"TRUE"
;
*/
//
Parameters
for
SIB19
discRxPool_cp_Len
=
"normal"
discRxPool_discPeriod
=
"rf32"
discRxPool_numRetx
=
1
;
discRxPool_numRepetition
=
2
;
discRxPool_ResourceConfig_prb_Num
=
5
;
discRxPool_ResourceConfig_prb_Start
=
3
;
discRxPool_ResourceConfig_prb_End
=
21
;
discRxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
discRxPool_ResourceConfig_offsetIndicator_choice
=
0
;
discRxPool_ResourceConfig_subframeBitmap_present
=
"prBs40"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"f0ffffffff"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
5
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
}
);
srb1_parameters
:
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit
=
80
;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering
=
35
;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit
=
0
;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu
=
4
;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte
=
99999
;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold
=
4
;
}
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"CI_MME_IP_ADDR"
;
ipv6
=
"192:168:30::17"
;
port
=
36412
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
enable_measurement_reports
=
"no"
;
///
X2
enable_x2
=
"no"
;
t_reloc_prep
=
1000
; /*
unit
:
millisecond
*/
tx2_reloc_overall
=
2000
; /*
unit
:
millisecond
*/
t_dc_prep
=
1000
; /*
unit
:
millisecond
*/
t_dc_overall
=
2000
; /*
unit
:
millisecond
*/
//////////
MCE
parameters
:
target_mce_m2_ip_address
= ( {
ipv4
=
"127.0.0.7"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
///
M2
enable_enb_m2
=
"yes"
;
mbms_configuration_data_list
= (
{
mbsfn_sync_area
=
0
x0001
;
mbms_service_area_list
=(
{
mbms_service_area
=
0
x0001
;
}
);
}
);
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"CI_ENB_IP_ADDR"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"CI_ENB_IP_ADDR"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C
=
"CI_ENB_IP_ADDR"
;
ENB_PORT_FOR_X2C
=
36422
;
# Spec 36422
ENB_IPV4_ADDRESS_FOR_M2C
=
"127.0.0.2/24"
;
ENB_PORT_FOR_M2C
=
36443
;
# Spec 36443
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
phy_test_mode
=
0
;
puSch10xSnr
=
200
;
puCch10xSnr
=
200
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
}
);
MCEs
= (
{
MCE_ID
=
0
xe00
;
MCE_name
=
"MCE-Vicomtech-LTEBox"
;
//
M2
enable_mce_m2
=
"yes"
;
//
M3
enable_mce_m3
=
"yes"
;
target_mme_m3_ip_address
= ( {
ipv4
=
"127.0.0.18"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
MCE_INTERFACE_NAME_FOR_M2_ENB
=
"lo"
;
MCE_IPV4_ADDRESS_FOR_M2C
=
"127.0.0.7/24"
;
MCE_PORT_FOR_M2C
=
36443
;
# Spec 36443
MCE_INTERFACE_NAME_FOR_M3_MME
=
"lo"
;
MCE_IPV4_ADDRESS_FOR_M3C
=
"127.0.0.3/24"
;
MCE_PORT_FOR_M3C
=
36444
;
# Spec 36444
};
plnm
:
{
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
;
};
mbms_sched_info
:
{
mcch_update_time
=
10
;
mbms_area_config_list
= (
{
common_sf_allocation_period
=
1
;
#rf4(0) rf8(1) rf16(2) rf32(3) rf64(4) rf128(5) rf256(6)
mbms_area_id
=
0
;
pmch_config_list
= (
{
allocated_sf_end
=
32
;
data_mcs
=
15
;
mch_scheduling_period
=
0
;
#rf8(0) rf16(1) rf32(2) rf64(3) rf128(4) rf256(5) rf512(6) rf1024(7)
mbms_session_list
= (
{
#plnm + service_id ->tmgi
plnm
:
{
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
;
}
service_id
=
0
;
#keep this allways as 0 (workaround for TUN if)
lcid
=
5
;
#this must be properly defined lcid:6+service:0 -> rab_id:5 //with new RLC set lcid either 4 or 5
}
);
}
);
mbms_sf_config_list
= (
{
radioframe_allocation_period
=
0
;
#n1(0) n2(1) n4(2) n8(3) n16(4) n32(5)
radioframe_alloocation_offset
=
0
;
num_frame
=
"oneFrame"
;
subframe_allocation
=
57
;
#xx111001
//
num_frame
=
"fourFrame"
;
//
subframe_allocation
=
14548987
;
#
}
);
}
);
};
mcch_config_per_mbsfn_area
= (
{
mbsfn_area
=
0
;
pdcch_length
=
1
;
#s1(0), s2(1)
repetition_period
=
0
;
#rf32(0), rf64(1), rf128(2), rf256(3)
offset
=
0
;
modification_period
=
0
;
#rf512(0; rf1024(1)
subframe_allocation_info
=
32
;
#BITSTRING (6bits -> one frame) xx100000
mcs
=
0
;
#n2(0), n7(1), n13(2), n19(3)
}
);
#); #end mbms_scheduling_info
}
);
MMEs
= (
{
MME_ID
=
0
xe00
;
MME_name
=
"MME-MBMS-Vicomtech-LTEBox"
;
//
M3
enable_mme_m3
=
"yes"
;
NETWORK_INTERFACES
:
{
MME_INTERFACE_NAME_FOR_M3_MCE
=
"lo"
;
MME_IPV4_ADDRESS_FOR_M3C
=
"127.0.0.18/24"
;
MME_PORT_FOR_M3C
=
36444
;
# Spec 36444
};
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
0
att_rx
=
0
;
bands
= [
7
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
125
;
eNB_instances
= [
0
];
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_SINGLE_THREAD"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
NETWORK_CONTROLLER
:
{
FLEXRAN_ENABLED
=
"no"
;
FLEXRAN_INTERFACE_NAME
=
"ens3"
;
FLEXRAN_IPV4_ADDRESS
=
"CI_FLEXRAN_CTL_IP_ADDR"
;
FLEXRAN_PORT
=
2210
;
FLEXRAN_CACHE
=
"/mnt/oai_agent_cache"
;
FLEXRAN_AWAIT_RECONF
=
"no"
;
};
log_config
:
{
global_log_level
=
"info"
;
hw_log_level
=
"info"
;
phy_log_level
=
"info"
;
mac_log_level
=
"info"
;
rlc_log_level
=
"info"
;
pdcp_log_level
=
"info"
;
rrc_log_level
=
"info"
;
};
//
rfsimulator
:
//{
//
options
= (
"chanmod"
);
//
modelname
=
"AWGN"
;
//};
ci-scripts/createVM.sh
View file @
8ea5d720
...
...
@@ -87,7 +87,7 @@ function create_vm {
echo
"VM_CPU =
$VM_CPU
"
echo
"VM_DISK =
$VM_DISK
GBytes"
if
[[
"
$VM_NAME
"
==
*
"-enb-usrp"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-cppcheck"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-phy-sim"
*
]]
if
[[
"
$VM_NAME
"
==
*
"-enb-usrp"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-cppcheck"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-phy-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-rf-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-ethernet"
*
]]
then
echo
"This VM type is no longer supported in the pipeline framework"
return
...
...
ci-scripts/runTestOnVM.sh
View file @
8ea5d720
...
...
@@ -1301,14 +1301,8 @@ function run_test_on_vm {
fi
if
[[
((
"
$RUN_OPTIONS
"
==
"complex"
)
&&
(
$VM_NAME
=
~ .
*
-rf-sim
.
*
))
]]
then
ENB_VM_NAME
=
`
echo
$VM_NAME
|
sed
-e
"s#rf-sim#enb-ethernet#"
`
ENB_VM_CMDS
=
${
ENB_VM_NAME
}
_cmds.txt
echo
"ENB_VM_NAME =
$ENB_VM_NAME
"
echo
"ENB_VM_CMD_FILE =
$ENB_VM_CMDS
"
UE_VM_NAME
=
`
echo
$VM_NAME
|
sed
-e
"s#rf-sim#ue-ethernet#"
`
UE_VM_CMDS
=
${
UE_VM_NAME
}
_cmds.txt
echo
"UE_VM_NAME =
$UE_VM_NAME
"
echo
"UE_VM_CMD_FILE =
$UE_VM_CMDS
"
echo
"This VM test type is no longer supported in the pipeline framework"
return
elif
[[
((
"
$RUN_OPTIONS
"
==
"complex"
)
&&
(
$VM_NAME
=
~ .
*
-rf5g-sim
.
*
))
]]
then
GNB_VM_NAME
=
`
echo
$VM_NAME
|
sed
-e
"s#rf5g-sim#gnb-usrp#"
`
...
...
ci-scripts/waitBuildOnVM.sh
View file @
8ea5d720
...
...
@@ -47,7 +47,7 @@ function wait_on_vm_build {
echo
"ARCHIVES_LOC =
$ARCHIVES_LOC
"
echo
"BUILD_OPTIONS =
$BUILD_OPTIONS
"
if
[[
"
$VM_NAME
"
==
*
"-enb-usrp"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-cppcheck"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-phy-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-basic-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-flexran-rtc"
*
]]
if
[[
"
$VM_NAME
"
==
*
"-enb-usrp"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-cppcheck"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-phy-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-basic-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-flexran-rtc"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-rf-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-ethernet"
*
]]
then
echo
"This VM type is no longer supported in the pipeline framework"
return
...
...
@@ -93,7 +93,7 @@ function wait_on_vm_build {
}
function
check_on_vm_build
{
if
[[
"
$VM_NAME
"
==
*
"-enb-usrp"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-cppcheck"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-phy-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-basic-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-flexran-rtc"
*
]]
if
[[
"
$VM_NAME
"
==
*
"-enb-usrp"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-cppcheck"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-phy-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-basic-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-flexran-rtc"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-rf-sim"
*
]]
||
[[
"
$VM_NAME
"
==
*
"-ethernet"
*
]]
then
echo
"This VM type is no longer supported in the pipeline framework"
return
...
...
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